diff --git a/inc/databap.php b/inc/databap.php
index 849d4fb..3a6f354 100755
--- a/inc/databap.php
+++ b/inc/databap.php
@@ -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;
diff --git a/masks/options.html b/masks/options.html
index d9ef11b..5363b1a 100755
--- a/masks/options.html
+++ b/masks/options.html
@@ -72,6 +72,37 @@ function addOption(iArrayId, optInfo, $Box)
case databap.consts.opt_type_pass:
$Option.append($('', {type:'password', id:optNameId, name:optNameId, value:optInfo.user_value, 'class':'round'}));
break;
+ case databap.consts.opt_type_checkbox:
+ var $Select = $('