149 lines
5.9 KiB
PHP
149 lines
5.9 KiB
PHP
<?php
|
||
/*
|
||
* 2007-2011 PrestaShop
|
||
*
|
||
* NOTICE OF LICENSE
|
||
*
|
||
* This source file is subject to the Open Software License (OSL 3.0)
|
||
* that is bundled with this package in the file LICENSE.txt.
|
||
* It is also available through the world-wide-web at this URL:
|
||
* http://opensource.org/licenses/osl-3.0.php
|
||
* If you did not receive a copy of the license and are unable to
|
||
* obtain it through the world-wide-web, please send an email
|
||
* to license@prestashop.com so we can send you a copy immediately.
|
||
*
|
||
* DISCLAIMER
|
||
*
|
||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||
* versions in the future. If you wish to customize PrestaShop for your
|
||
* needs please refer to http://www.prestashop.com for more information.
|
||
*
|
||
* @author PrestaShop SA <contact@prestashop.com>
|
||
* @copyright 2007-2011 PrestaShop SA
|
||
* @version Release: $Revision$
|
||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||
* International Registered Trademark & Property of PrestaShop SA
|
||
*/
|
||
|
||
class AdminGenders extends AdminTab
|
||
{
|
||
public function __construct()
|
||
{
|
||
$this->table = 'gender';
|
||
$this->className = 'Gender';
|
||
$this->lang = true;
|
||
$this->edit = true;
|
||
$this->delete = true;
|
||
$this->defaultImageHeight = 16;
|
||
$this->defaultImageWidth = 16;
|
||
|
||
$this->fieldImageSettings = array('name' => 'image', 'dir' => 'genders');
|
||
$this->fieldsDisplay = array(
|
||
'id_gender' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25),
|
||
'name' => array('title' => $this->l('Name'), 'width' => 150, 'filter_key' => 'b!name'),
|
||
'type' => array(
|
||
'title' => $this->l('Type'),
|
||
'width' => 100,
|
||
'orderby' => false,
|
||
'type' => 'select',
|
||
'select' => array(0 => $this->l('Male'), 1 => $this->l('Female'), 2 => $this->l('Neutral')),
|
||
'filter_key' => 'a!type',
|
||
'callback' => 'displayGenderType',
|
||
'callback_object' => $this,
|
||
),
|
||
'image' => array('title' => $this->l('Image'), 'align' => 'center', 'image' => 'genders', 'orderby' => false, 'search' => false),
|
||
);
|
||
|
||
parent::__construct();
|
||
}
|
||
|
||
public function displayGenderType($value, $tr)
|
||
{
|
||
return $this->fieldsDisplay['type']['select'][$value];
|
||
}
|
||
|
||
public function displayForm($isMainTab = true)
|
||
{
|
||
parent::displayForm();
|
||
|
||
if (!($obj = $this->loadObject(true)))
|
||
return;
|
||
|
||
echo '
|
||
<form action="'.self::$currentIndex.'&submitAdd'.$this->table.'=1&token='.$this->token.'" method="post" enctype="multipart/form-data">
|
||
'.($obj->id ? '<input type="hidden" name="id_'.$this->table.'" value="'.$obj->id.'" />' : '').'
|
||
<fieldset><legend><img src="../img/admin/tab-genders.gif" />'.$this->l('Gender').'</legend>
|
||
<label>'.$this->l('Name:').' </label>
|
||
<div class="margin-form">';
|
||
foreach ($this->_languages as $language)
|
||
echo '
|
||
<div id="name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $this->_defaultFormLanguage ? 'block' : 'none').'; float: left;">
|
||
<input size="33" type="text" name="name_'.$language['id_lang'].'" value="'.htmlentities($this->getFieldValue($obj, 'name', (int)($language['id_lang'])), ENT_COMPAT, 'UTF-8').'" /><sup> *</sup>
|
||
<span class="hint" name="help_box">'.$this->l('Invalid characters:').' 0-9!<>,;?=+()@#"<22>{}_$%:<span class="hint-pointer"> </span></span>
|
||
</div>';
|
||
$this->displayFlags($this->_languages, $this->_defaultFormLanguage, 'name', 'name');
|
||
echo '</div><div class="clear"> </div>';
|
||
|
||
echo '<label>'.$this->l('Type:').' </label>
|
||
<div class="margin-form">
|
||
<input type="radio" name="type" id="type_male" value="0" '.($this->getFieldValue($obj, 'type') == 0 ? 'checked="checked" ' : '').'/>
|
||
<label class="t" for="type_male"> '.$this->l('Male').'</label>
|
||
<input type="radio" name="type" id="type_female" value="1" '.($this->getFieldValue($obj, 'type') == 1 ? 'checked="checked" ' : '').'/>
|
||
<label class="t" for="type_female"> '.$this->l('Female').'</label>
|
||
<input type="radio" name="type" id="type_neutral" value="2" '.($this->getFieldValue($obj, 'type') == 2 ? 'checked="checked" ' : '').'/>
|
||
<label class="t" for="type_neutral"> '.$this->l('Neutral').'</label>
|
||
</div>
|
||
<div class="clear"></div>';
|
||
|
||
echo '<label>'.$this->l('Image:').' </label>
|
||
<div class="margin-form">';
|
||
echo ' <input type="file" name="image" />';
|
||
if ($obj->getImage())
|
||
echo '<img src="'.$obj->getImage().'" />';
|
||
echo '</div>
|
||
<div class="clear"></div>
|
||
<label>'.$this->l('Image Width:').' </label>
|
||
<div class="margin-form">
|
||
<input size="4" type="text" name="img_width" value="'.$this->defaultImageWidth.'" />
|
||
<p>'.$this->l('Image width in pixel. "0" to use original size').'</p>
|
||
</div>
|
||
<div class="clear"></div>
|
||
<label>'.$this->l('Image Height:').' </label>
|
||
<div class="margin-form">
|
||
<input size="4" type="text" name="img_height" value="'.$this->defaultImageHeight.'" />
|
||
<p>'.$this->l('Image height in pixel. "0" to use original size').'</p>
|
||
</div>';
|
||
|
||
echo '<div class="margin-form">
|
||
<input type="submit" value="'.$this->l(' Save ').'" name="submitAdd'.$this->table.'" class="button" />
|
||
</div>
|
||
<div class="small"><sup>*</sup> '.$this->l('Required field').'</div>
|
||
</fieldset>
|
||
</form><br />';
|
||
}
|
||
|
||
protected function postImage($id)
|
||
{
|
||
if (isset($this->fieldImageSettings['name']) AND isset($this->fieldImageSettings['dir']))
|
||
{
|
||
if(!Validate::isInt(Tools::getValue('img_width')) || !Validate::isInt(Tools::getValue('img_height')))
|
||
$this->_errors[] = Tools::displayError('Width and height must be a numeric');
|
||
else
|
||
{
|
||
if ((int)Tools::getValue('img_width') > 0 && (int)Tools::getValue('img_height') > 0)
|
||
{
|
||
$width = (int)Tools::getValue('img_width');
|
||
$height = (int)Tools::getValue('img_height');
|
||
}
|
||
else
|
||
{
|
||
$width = NULL;
|
||
$height = NULL;
|
||
}
|
||
return $this->uploadImage($id, $this->fieldImageSettings['name'], $this->fieldImageSettings['dir'].'/', false, $width, $height);
|
||
}
|
||
}
|
||
return !sizeof($this->_errors) ? true : false;
|
||
}
|
||
}
|