custom checkbox in options

This commit is contained in:
2015-04-26 18:08:30 +02:00
parent 60dfaae271
commit 4f8956f09b
9 changed files with 73 additions and 22 deletions

View File

@@ -129,6 +129,7 @@ class Databap extends PhpObject
const OPT_TEXT = 'T';
const OPT_PASS = 'P';
const OPT_SELECT = 'S';
const OPT_CHECKBOX = 'C';
const OPT_NICKNAME = 1;
const OPT_BG = 2;
const OPT_BG_2 = 11;
@@ -140,10 +141,6 @@ class Databap extends PhpObject
const OPT_EMAIL = 9;
const OPT_CHAT_HISTO = 10;
//Options Values Constants
const OPT_VAL_YES = 'oui';
const OPT_VAL_NO = 'non';
//Search Constants
const CODE_TYPE = 'c';
const PROC_TYPE = 'p';
@@ -363,12 +360,12 @@ class Databap extends PhpObject
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_HOVER, $sOptionNameCol=>'couleur de survol', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_IMAGE_CHAT, $sOptionNameCol=>'image du chat', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_STATUS, $sOptionNameCol=>'mission en cours', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_CONSOLE, $sOptionNameCol=>'afficher la console du chat', 'type'=>self::OPT_SELECT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_CONSOLE, $sOptionNameCol=>'afficher la console du chat', 'type'=>self::OPT_CHECKBOX, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_EMAIL, $sOptionNameCol=>'email', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_CHAT_HISTO, $sOptionNameCol=>'nombre de jours d\'historique dans le chat', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_CHAT_HISTO, $sOptionNameCol=>'historique du chat (jours)', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
//Select and Default Option values
$asDefaultValues = array( self::OPT_CONSOLE=>array(self::OPT_VAL_YES=>false, self::OPT_VAL_NO=>true),
$asDefaultValues = array( self::OPT_CONSOLE=>array(true=>false, false=>true),
self::OPT_NICKNAME=>array('Utilisateur inconnu'=>true),
self::OPT_BG=>array('#04357B'=>true),
self::OPT_BG_2=>array('#88B2F0'=>true),
@@ -439,6 +436,7 @@ class Databap extends PhpObject
'opt_type_text'=>self::OPT_TEXT,
'opt_type_pass'=>self::OPT_PASS,
'opt_type_select'=>self::OPT_SELECT,
'opt_type_checkbox'=>self::OPT_CHECKBOX,
'max_size'=>self::getMaxSize(),
'authorized_img_exts'=>self::$UPLOAD_IMG_EXTS,
'authorized_file_exts'=>self::$UPLOAD_DOC_EXTS,
@@ -463,7 +461,7 @@ class Databap extends PhpObject
$asVars['user_id'] = $this->getUserId();
$asVars['hash_to_page'] = $this->getPagesFromHash();
$asVars['page_to_hash'] = array_flip($asVars['hash_to_page']);
$asVars['opt_console'] = ($this->getUserOptionValue(self::OPT_CONSOLE)==self::OPT_VAL_YES);
$asVars['opt_console'] = ($this->getUserOptionValue(self::OPT_CONSOLE)==true);
$oPage->setTag('variables', $this->jsonConvert($asVars));
return $oPage->getMask();
@@ -1395,13 +1393,15 @@ class Databap extends PhpObject
$asSelectedOptions[$sOptionName]['user_value_id'] = $asUserOptions[$sOptNameId][$sOptValueIdCol];
$asSelectedOptions[$sOptionName]['user_value'] = $asUserOptions[$sOptNameId][$sOptValueTextCol];
$asSelectedOptions[$sOptionName]['type'] = $asOption['type'];
if($asOption['type']==self::OPT_SELECT)
if($asOption['type']==self::OPT_SELECT || $asOption['type']==self::OPT_CHECKBOX)
{
$asOptionValuesInfo = array('select'=>array($sOptValueIdCol, $sOptValueTextCol),
'from'=>self::OPTVAL_TABLE,
'constraint'=>array('language'=>$this->sLanguage, MySqlManager::getId(self::OPTNAME_TABLE)=>$sOptNameId),
'orderBy'=>array('led'=>'ASC'));
$asSelectedOptions[$sOptionName]['select'] = $this->oMySql->selectRows($asOptionValuesInfo, true, $sOptValueIdCol);
$asOptionValues = $this->oMySql->selectRows($asOptionValuesInfo, true, $sOptValueIdCol);
$asSelectedOptions[$sOptionName]['select'] = $asOptionValues;
$asSelectedOptions[$sOptionName]['select_inv'] = array_flip($asOptionValues);
}
}
ksort($asSelectedOptions);
@@ -1433,6 +1433,7 @@ class Databap extends PhpObject
switch($asOption['type'])
{
case self::OPT_SELECT:
case self::OPT_CHECKBOX:
$sNewValueId = $asNewOptions[$sOptNameId];
$sNewValue = $this->oMySql->selectValue(self::OPTVAL_TABLE, $sOptValueTextCol, $sNewValueId);
break;