v1.1
This commit is contained in:
194
inc/databap.php
194
inc/databap.php
@@ -7,8 +7,8 @@
|
||||
class Databap extends PhpObject
|
||||
{
|
||||
//Common Constants
|
||||
const VERSION = '1.0.3'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
||||
const VERSION_DATE = '27/11/2014';
|
||||
const VERSION = '1.1.0'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
||||
const VERSION_DATE = '13/12/2014';
|
||||
const EXPECTED_PAGE_COOKIE = 'exp_page';
|
||||
const MAIN_SEPARATOR = ' ';
|
||||
const DATE_FORMAT = 'd/m/Y';
|
||||
@@ -136,10 +136,7 @@ class Databap extends PhpObject
|
||||
const OPT_STATUS = 7;
|
||||
const OPT_CONSOLE = 8;
|
||||
const OPT_EMAIL = 9;
|
||||
|
||||
//Options Values Id Constants
|
||||
const OPT_CONSOLE_YES = 1;
|
||||
const OPT_CONSOLE_NO = 2;
|
||||
const OPT_CHAT_HISTO = 10;
|
||||
|
||||
//Options Values Constants
|
||||
const OPT_VAL_YES = 'oui';
|
||||
@@ -242,7 +239,7 @@ class Databap extends PhpObject
|
||||
self::CONN_TABLE => array(MySqlManager::getId(self::USER_TABLE), MySqlManager::getId(self::CHAN_TABLE)),
|
||||
self::OPT_TABLE => array(MySqlManager::getId(self::USER_TABLE), MySqlManager::getId(self::OPTNAME_TABLE), MySqlManager::getId(self::OPTVAL_TABLE), MySqlManager::getText(self::OPT_TABLE)),
|
||||
self::OPTNAME_TABLE => array(MySqlManager::getText(self::OPTNAME_TABLE), 'type', 'language'),
|
||||
self::OPTVAL_TABLE => array(MySqlManager::getId(self::OPTNAME_TABLE), MySqlManager::getText(self::OPTVAL_TABLE), 'language'),
|
||||
self::OPTVAL_TABLE => array(MySqlManager::getId(self::OPTNAME_TABLE), MySqlManager::getText(self::OPTVAL_TABLE), 'default_value', 'language'),
|
||||
self::PROC_TABLE => array(MySqlManager::getId(self::USER_TABLE), 'title', 'description', 'refer_id'),
|
||||
self::STEP_TABLE => array(MySqlManager::getId(self::PROC_TABLE), 'description'),
|
||||
self::IMG_TABLE => array(MySqlManager::getId(self::PROC_TABLE), MySqlManager::getId(self::STEP_TABLE), 'description', 'file_name'),
|
||||
@@ -285,7 +282,8 @@ class Databap extends PhpObject
|
||||
'logo' => "varchar(20) NOT NULL",
|
||||
'date' => "date NOT NULL",
|
||||
'system' => "varchar(3)",
|
||||
'extension' => "varchar(10)"
|
||||
'extension' => "varchar(10)",
|
||||
'default_value'=>"tinyint(1) DEFAULT 0"
|
||||
);
|
||||
$asOptions['constraints'] = array
|
||||
(
|
||||
@@ -355,18 +353,31 @@ class Databap extends PhpObject
|
||||
$sOptionValueCol = MySqlManager::getText(self::OPTVAL_TABLE);
|
||||
$sOptionNameIdCol = MySqlManager::getId(self::OPTNAME_TABLE);
|
||||
$sOptionValueIdCol = MySqlManager::getId(self::OPTVAL_TABLE);
|
||||
$iNicknameOptId = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_NICKNAME, $sOptionNameCol=>'pseudo du chat', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iBgColorOptId = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_BG, $sOptionNameCol=>'couleur de fond', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iBgColorOpt2Id = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_BRIGHT_BG, $sOptionNameCol=>'couleur de fond 2 (claire)', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iHoverColorOptId = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_HOVER, $sOptionNameCol=>'couleur de survol', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iChatImageOptId = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_IMAGE_CHAT, $sOptionNameCol=>'image du chat', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iStatusOptId = $this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_STATUS, $sOptionNameCol=>'mission en cours', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$iConsoleOptId = $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));
|
||||
$iEmailOptId = $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_NICKNAME, $sOptionNameCol=>'pseudo du chat', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_BG, $sOptionNameCol=>'couleur de fond', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_BRIGHT_BG, $sOptionNameCol=>'couleur de fond 2 (claire)', 'type'=>self::OPT_TEXT, 'language'=>self::LANG_FR));
|
||||
$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_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));
|
||||
|
||||
//Console Option
|
||||
$asConsoleValues = array(self::OPT_CONSOLE_YES=>self::OPT_VAL_YES, self::OPT_CONSOLE_NO=>self::OPT_VAL_NO);
|
||||
foreach($asConsoleValues as $sConsoleValId=>$sConsoleValue){$this->oMySql->insertRow(self::OPTVAL_TABLE, array($sOptionValueIdCol=>$sConsoleValId, $sOptionNameIdCol=>self::OPT_CONSOLE, $sOptionValueCol=>$sConsoleValue, '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),
|
||||
self::OPT_BG=>array('#04357B'=>true),
|
||||
self::OPT_BRIGHT_BG=>array('#D9E5F2'=>true),
|
||||
self::OPT_HOVER=>array('#EFAB00'=>true),
|
||||
self::OPT_IMAGE_CHAT=>array('images/sap_gold_332.jpg'=>true),
|
||||
self::OPT_STATUS=>array('aucune mission en cours'=>true),
|
||||
self::OPT_CHAT_HISTO=>array('0'=>true));
|
||||
foreach($asDefaultValues as $sOptionNameId=>$asOptionValues)
|
||||
{
|
||||
foreach($asOptionValues as $sOptionValue=>$bDefault)
|
||||
{
|
||||
$this->oMySql->insertRow(self::OPTVAL_TABLE, array($sOptionNameIdCol=>$sOptionNameId, $sOptionValueCol=>$sOptionValue, 'default_value'=>$bDefault, 'language'=>self::LANG_FR));
|
||||
}
|
||||
}
|
||||
|
||||
//Insert default and all channels
|
||||
$this->oMySql->insertRow(self::CHAN_TABLE, array('safe_name'=>self::getChanSafeName(self::ALL_CHAN_TEXT), MySqlManager::getText(self::CHAN_TABLE)=>self::ALL_CHAN_TEXT));
|
||||
@@ -430,9 +441,9 @@ class Databap extends PhpObject
|
||||
'pm_separator'=>self::PM_SEP,
|
||||
'reboot_delay'=>self::REBOOT_DELAY,
|
||||
'versionHtml'=>$this->getItemBlock(),
|
||||
'opt_console_no'=>self::OPT_CONSOLE_NO,
|
||||
'types'=>$this->getTypeInfo('title'),
|
||||
'msg_types'=>self::$MESSAGE_TYPES);
|
||||
'msg_types'=>self::$MESSAGE_TYPES,
|
||||
'cur_date'=>date(self::DATE_FORMAT));
|
||||
$oPage->setTag('constants', $this->jsonConvert($asConstants));
|
||||
|
||||
//Variables
|
||||
@@ -440,7 +451,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);
|
||||
$asVars['opt_console'] = ($this->getUserOptionValue(self::OPT_CONSOLE)==self::OPT_VAL_YES);
|
||||
$oPage->setTag('variables', $this->jsonConvert($asVars));
|
||||
|
||||
return $oPage->getMask();
|
||||
@@ -587,7 +598,9 @@ class Databap extends PhpObject
|
||||
$sSAPDomain = 'http://scn.sap.com';
|
||||
$asBlogPaths = array( '/community/data-warehousing/bw/blog',
|
||||
'/community/data-warehousing/blog',
|
||||
'/community/bw-hana/blog');
|
||||
'/community/bw-hana/blog',
|
||||
'/community/businessobjects-design-studio/blog',
|
||||
'/community/businessobjects-analysis-ms-office/blog');
|
||||
foreach($asBlogPaths as $sSAPBlogPath)
|
||||
{
|
||||
$sSAPBlogUrl = $sSAPDomain.$sSAPBlogPath;
|
||||
@@ -761,14 +774,7 @@ class Databap extends PhpObject
|
||||
$sUserIdCol = MySqlManager::getId(self::USER_TABLE);
|
||||
$sOptNameIdCol = MySqlManager::getId(self::OPTNAME_TABLE);
|
||||
$sOptionTextCol = MySqlManager::getText(self::OPT_TABLE);
|
||||
$sOptionValIdCol = MySqlManager::getId(self::OPTVAL_TABLE);
|
||||
$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_NICKNAME, $sOptionTextCol=>$sFirstName));
|
||||
//$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_BG, $sOptionTextCol=>'#04357B'));
|
||||
//$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_BRIGHT_BG, $sOptionTextCol=>'#D9E5F2'));
|
||||
//$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_HOVER, $sOptionTextCol=>'#EFAB00'));
|
||||
//$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_TOKEN, $sOptionTextCol=>$this->generateExternalAccessLink('rss', $iUserId)));
|
||||
//$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_IMAGE_CHAT, $sOptionTextCol=>'images/sap_gold_332.jpg'));
|
||||
$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_CONSOLE, $sOptionValIdCol=>self::OPT_CONSOLE_NO));
|
||||
$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_NICKNAME, $sOptionTextCol=>self::getNickNameFormat($sFirstName)));
|
||||
$this->oMySql->insertRow($sOptionTable, array($sUserIdCol=>$iUserId, $sOptNameIdCol=>self::OPT_EMAIL, $sOptionTextCol=>$sEmail));
|
||||
|
||||
return $iUserId;
|
||||
@@ -1312,7 +1318,8 @@ class Databap extends PhpObject
|
||||
|
||||
public function setOptions($asUserOptions, $bSilentUpdate=true)
|
||||
{
|
||||
foreach($this->getAvailableOptions() as $sOptNameId=>$asOption)
|
||||
$asAvailableOptions = $this->getAvailableOptions();
|
||||
foreach($asAvailableOptions as $sOptNameId=>$asOption)
|
||||
{
|
||||
if(array_key_exists($sOptNameId, $asUserOptions))
|
||||
{
|
||||
@@ -1376,12 +1383,35 @@ class Databap extends PhpObject
|
||||
'constraint'=>array('language'=>$this->sLanguage));
|
||||
return $this->oMySql->selectRows($asInfo, true, $sOptNameIdCol);
|
||||
}
|
||||
|
||||
|
||||
private function getDefaultOptionValue($sOptionNameId)
|
||||
{
|
||||
$asDefaultOptions = $this->getDefaultOptionValues($sOptionNameId);
|
||||
$asOptionInfo = array_shift($asDefaultOptions);
|
||||
return $asOptionInfo[MySqlManager::getText(self::OPTVAL_TABLE)];
|
||||
}
|
||||
|
||||
private function getDefaultOptionValues($oOptionNameIds=array(), $bOptValId=true)
|
||||
{
|
||||
$sOptNameIdCol = MySqlManager::getId(self::OPTNAME_TABLE);
|
||||
$sOptValIdCol = MySqlManager::getId(self::OPTVAL_TABLE);
|
||||
$sOptValueTextCol = MySqlManager::getText(self::OPTVAL_TABLE);
|
||||
if(!is_array($oOptionNameIds)) $oOptionNameIds = array($oOptionNameIds);
|
||||
|
||||
$asInfo = array('select' => array($sOptNameIdCol, $sOptValueTextCol),
|
||||
'from' => self::OPTVAL_TABLE,
|
||||
'constraint'=> array('default_value'=>true, $sOptNameIdCol => "(".implode(", ", $oOptionNameIds).")"),
|
||||
'constOpe' => array('default_value'=>"=", $sOptNameIdCol=>" IN "),
|
||||
'constVar' => true);
|
||||
if($bOptValId) $asInfo['select'][] = $sOptValIdCol;
|
||||
return $this->oMySql->selectRows($asInfo, true, $sOptNameIdCol);
|
||||
}
|
||||
|
||||
private function getUserOptionValue($sOptionNameId, $iUserId=0)
|
||||
{
|
||||
$asUserOptions = $this->getUserOptions($sOptionNameId, $iUserId);
|
||||
$asOptionInfo = array_shift($asUserOptions);
|
||||
return $asOptionInfo[MySqlManager::getId(self::OPTVAL_TABLE)];
|
||||
return $asOptionInfo[MySqlManager::getText(self::OPT_TABLE)];
|
||||
}
|
||||
|
||||
private function getUserOptions($oOptionNameIds=array(), $iUserId=0)
|
||||
@@ -1391,25 +1421,31 @@ class Databap extends PhpObject
|
||||
$sOptNameIdCol = MySqlManager::getId(self::OPTNAME_TABLE);
|
||||
$sOptValueIdCol = MySqlManager::getId(self::OPTVAL_TABLE);
|
||||
$sOptionTextCol = MySqlManager::getText(self::OPT_TABLE);
|
||||
$sOptValueTextCol = MySqlManager::getText(self::OPTVAL_TABLE);
|
||||
|
||||
if(!is_array($oOptionNameIds))
|
||||
{
|
||||
$oOptionNameIds = array($oOptionNameIds);
|
||||
}
|
||||
if(!is_array($oOptionNameIds)) $oOptionNameIds = array($oOptionNameIds);
|
||||
elseif(empty($oOptionNameIds)) $oOptionNameIds = array_keys($this->getAvailableOptions());
|
||||
|
||||
$asUserinfo = array('select'=>array($sOptNameIdCol, $sOptValueIdCol, $sOptionTextCol),
|
||||
'from'=>self::OPT_TABLE,
|
||||
'constraint'=>array($sUserIdCol=>$iUserId));
|
||||
if(count($oOptionNameIds)>0)
|
||||
{
|
||||
$asUserinfo['constraint'][$sOptNameIdCol] = "(".implode(", ", $oOptionNameIds).")";
|
||||
$asUserinfo['constOpe'] = array($sUserIdCol=>"=", $sOptNameIdCol=>" IN ");
|
||||
$asUserinfo['constVar'] = true;
|
||||
}
|
||||
$asUserinfo = array('select' => array($sOptNameIdCol, $sOptValueIdCol, $sOptionTextCol),
|
||||
'from' => self::OPT_TABLE,
|
||||
'constraint'=> array($sUserIdCol=>$iUserId, $sOptNameIdCol => "(".implode(", ", $oOptionNameIds).")"),
|
||||
'constOpe' => array($sUserIdCol=>"=", $sOptNameIdCol=>" IN "),
|
||||
'constVar' => true);
|
||||
$asOptions = $this->oMySql->selectRows($asUserinfo, true, $sOptNameIdCol);
|
||||
foreach($asOptions as $iOptionId=>$asOption)
|
||||
foreach($oOptionNameIds as $iOptionId)
|
||||
{
|
||||
if(!$asOption[$sOptValueIdCol]) $asOptions[$iOptionId][$sOptValueIdCol] = $asOptions[$iOptionId][$sOptionTextCol];
|
||||
$sNewValue = '';
|
||||
//Default value
|
||||
if(!array_key_exists($iOptionId, $asOptions) || $asOptions[$iOptionId][$sOptValueIdCol]=='' && $asOptions[$iOptionId][$sOptionTextCol]=='')
|
||||
{
|
||||
$asDefaultOption = $this->getDefaultOptionValues($iOptionId);
|
||||
$asOptions[$iOptionId][$sOptValueIdCol] = $asDefaultOption[$iOptionId][$sOptValueIdCol];
|
||||
$asOptions[$iOptionId][$sOptionTextCol] = $asDefaultOption[$iOptionId][$sOptValueTextCol];
|
||||
}
|
||||
//Text value
|
||||
elseif(!$asOptions[$iOptionId][$sOptValueIdCol]) $asOptions[$iOptionId][$sOptValueIdCol] = $asOptions[$iOptionId][$sOptionTextCol];
|
||||
//Select value
|
||||
else $asOptions[$iOptionId][$sOptionTextCol] = $this->oMySql->selectValue(self::OPTVAL_TABLE, $sOptValueTextCol, $asOptions[$iOptionId][$sOptValueIdCol]);
|
||||
}
|
||||
return $asOptions;
|
||||
}
|
||||
@@ -1559,7 +1595,7 @@ class Databap extends PhpObject
|
||||
foreach($asMessages as $iChanId=>$sMsgChanName)
|
||||
{
|
||||
$asPm = $this->isPmChan($sMsgChanName);
|
||||
$this->addMessage(' de '.$asUserInfo['company'].' ('.($sStatus==''?'aucune mission en cours':$this->getDescriptionFormat($sStatus)).') rejoint '.($asPm['is_pm']?'le chan privé':'#'.$sMsgChanName), self::MESSAGE_CONN, $iChanId);
|
||||
$this->addMessage(' de '.$asUserInfo['company'].' ('.$this->getDescriptionFormat($sStatus).') rejoint '.($asPm['is_pm']?'le chan privé':'#'.$sMsgChanName), self::MESSAGE_CONN, $iChanId);
|
||||
}
|
||||
|
||||
//Send invites to attendees
|
||||
@@ -1890,11 +1926,11 @@ class Databap extends PhpObject
|
||||
if($iChanId>0)
|
||||
{
|
||||
$asInsert = array( MySqlManager::getId(self::USER_TABLE) => $this->getUserId(),
|
||||
'nickname' => $this->getChatNickNames($this->getUserId()),
|
||||
MySqlManager::getId(self::CHAN_TABLE) => $iChanId,
|
||||
MySqlManager::getText(self::MSG_TABLE) => $sMessage,
|
||||
'type' => $sType,
|
||||
'date' => 'CURDATE()');
|
||||
'nickname' => $this->getChatNickNames($this->getUserId()),
|
||||
MySqlManager::getId(self::CHAN_TABLE) => $iChanId,
|
||||
MySqlManager::getText(self::MSG_TABLE) => $sMessage,
|
||||
'type' => $sType,
|
||||
'date' => 'CURDATE()');
|
||||
$bResult = $this->oMySql->insertRow(self::MSG_TABLE, $asInsert);
|
||||
}
|
||||
else
|
||||
@@ -1922,21 +1958,23 @@ class Databap extends PhpObject
|
||||
$sConnTableUserIdCol = MySqlManager::getFullColumnName(self::CONN_TABLE, MySqlManager::getId(self::USER_TABLE));
|
||||
$sConnTableChanIdCol = MySqlManager::getFullColumnName(self::CONN_TABLE, MySqlManager::getId(self::CHAN_TABLE));
|
||||
|
||||
//channel related messages
|
||||
$sCurDate = date(Databap::DATE_SQL_FORMAT);
|
||||
//User channels related messages
|
||||
$iCurTimeStamp = time();
|
||||
$sCurDate = date(Databap::DATE_SQL_FORMAT, $iCurTimeStamp);
|
||||
$sLimitDate = date(Databap::DATE_SQL_FORMAT, $iCurTimeStamp - $this->getUserOptionValue(self::OPT_CHAT_HISTO)*24*60*60);
|
||||
$asInfo = array('select' => array($sMsgTableChanIdCol, $sMsgIdCol, $sMsgTextCol, 'type', $sMsgTableLed, 'first_name', 'last_name', $sUserIdCol, 'nickname'),
|
||||
'from' => self::CONN_TABLE,
|
||||
'joinOn' => array( self::MSG_TABLE =>array($sMsgTableChanIdCol, '=', $sConnTableChanIdCol),
|
||||
self::USER_TABLE=>array($sUserTableUserIdCol, '=', $sMsgTableUserIdCol)),
|
||||
'constraint'=> array($sConnTableUserIdCol=>$this->getUserId(), $sMsgIdCol=>$iFirstMsgId, 'date'=>$sCurDate),
|
||||
'constOpe' => array($sConnTableUserIdCol=>'=', $sMsgIdCol=>'>', 'date'=>'='));
|
||||
'constraint'=> array($sConnTableUserIdCol=>$this->getUserId(), $sMsgIdCol=>$iFirstMsgId, 'date'=>$sLimitDate),
|
||||
'constOpe' => array($sConnTableUserIdCol=>'=', $sMsgIdCol=>'>', 'date'=>'>='));
|
||||
$asSqlMessages = $this->oMySql->selectRows($asInfo, true, 'id_message');
|
||||
|
||||
//Global messages
|
||||
$asInfo['from'] = self::MSG_TABLE;
|
||||
$asInfo['joinOn'] = array(self::USER_TABLE=>array($sUserTableUserIdCol, '=', $sMsgTableUserIdCol));
|
||||
$asInfo['constraint'] = array($sMsgTableChanIdCol=>self::ALL_CHAN_ID, $sMsgIdCol=>$iFirstMsgId, 'date'=>$sCurDate);
|
||||
$asInfo['constOpe'] = array($sMsgTableChanIdCol=>'=', $sMsgIdCol=>'>', 'date'=>'=');
|
||||
$asInfo['constraint'] = array($sMsgTableChanIdCol=>self::ALL_CHAN_ID, $sMsgIdCol=>$iFirstMsgId, 'date'=>$sLimitDate);
|
||||
$asInfo['constOpe'] = array($sMsgTableChanIdCol=>'=', $sMsgIdCol=>'>', 'date'=>'>=');
|
||||
$asSqlGlobalMessages = $this->oMySql->selectRows($asInfo, true, 'id_message');
|
||||
|
||||
//Invites messages
|
||||
@@ -1953,13 +1991,9 @@ class Databap extends PhpObject
|
||||
|
||||
//Sort out messages for Json Export
|
||||
$iPrefixLen = mb_strlen(self::JSON_PREFIX);
|
||||
//$iConsoleDisplay = $this->getUserOptionValue(self::OPT_CONSOLE);
|
||||
$asMessages = array('messages'=>array(), 'last_message_id'=>0);
|
||||
foreach($asSqlMessages as $iMessageId=>$asMessageInfo)
|
||||
{
|
||||
//Connection message filter
|
||||
//if($iConsoleDisplay==self::OPT_CONSOLE_NO && $asMessageInfo['type']==self::MESSAGE_CONN) continue;
|
||||
|
||||
//General message info
|
||||
$iChanId = $asMessageInfo[MySqlManager::getId(self::CHAN_TABLE)];
|
||||
$iUserId = $asMessageInfo[MySqlManager::getId(self::USER_TABLE)];
|
||||
@@ -1968,6 +2002,7 @@ class Databap extends PhpObject
|
||||
$asMessages['messages'][$iMessageId]['id_user'] = $iUserId;
|
||||
$asMessages['messages'][$iMessageId]['message'] = $asMessageInfo[$sMsgTextCol];
|
||||
$asMessages['messages'][$iMessageId]['msg_class'] = $sMessageType;
|
||||
$asMessages['messages'][$iMessageId]['date'] = self::getDateFormat($asMessageInfo['led'], self::DATE_FORMAT);
|
||||
$asMessages['messages'][$iMessageId]['time'] = self::getDateFormat($asMessageInfo['led'], self::TIME_FORMAT);
|
||||
$asMessages['messages'][$iMessageId]['name'] = self::getNameFormat($asMessageInfo['first_name'], $asMessageInfo['last_name']);
|
||||
$asMessages['messages'][$iMessageId]['nickname'] = self::getNickNameFormat($asMessageInfo['nickname']);
|
||||
@@ -2566,10 +2601,16 @@ class Databap extends PhpObject
|
||||
}
|
||||
}
|
||||
|
||||
public function checkValue($sTableName, $asConstraints)
|
||||
private function checkValue($sTableName, $asConstraints)
|
||||
{
|
||||
return $this->oMySql->selectValue($sTableName, 'COUNT(1)', $asConstraints);
|
||||
}
|
||||
|
||||
public function getUrlAvailability($sLink)
|
||||
{
|
||||
$bAvailable = !$this->checkValue(self::URL_TABLE, array('phrase'=>$sLink));
|
||||
return self::getJsonPostResult($bAvailable, '');
|
||||
}
|
||||
|
||||
public function resetChanSafeNames()
|
||||
{
|
||||
@@ -2628,23 +2669,18 @@ class Databap extends PhpObject
|
||||
public function getStyleSheet()
|
||||
{
|
||||
$sStyle = file_get_contents(self::STYLE_PATH);
|
||||
$asDefaultColors = array( self::OPT_BG=>'#04357B',
|
||||
self::OPT_BRIGHT_BG=>'#D9E5F2',
|
||||
self::OPT_HOVER=>'#EFAB00',
|
||||
self::OPT_IMAGE_CHAT=>'images/sap_gold_332.jpg');
|
||||
$asStyleParams = array(self::OPT_BG, self::OPT_BRIGHT_BG, self::OPT_HOVER, self::OPT_IMAGE_CHAT);
|
||||
|
||||
//Inserting Color Ids
|
||||
foreach($asDefaultColors as $iOptionNameId=>$sDefaultColor)
|
||||
{
|
||||
$asColorAnchors[$iOptionNameId] = '[OPT#'.$iOptionNameId.']';
|
||||
}
|
||||
$sStyle = str_replace($asDefaultColors, $asColorAnchors, $sStyle);
|
||||
//Inserting Color Anchors
|
||||
$asDefaultValues = $this->getDefaultOptionValues($asStyleParams, false);
|
||||
foreach($asDefaultValues as $iOptionNameId=>$sDefaultValue) $asColorAnchors[$iOptionNameId] = '[OPT#'.$iOptionNameId.']';
|
||||
$sStyle = str_replace($asDefaultValues, $asColorAnchors, $sStyle);
|
||||
|
||||
//Switching color Ids with user colors
|
||||
$asOptionvalues = $this->getUserOptions(array_keys($asDefaultColors));
|
||||
//Switching color Anchors with user colors
|
||||
$asOptionvalues = $this->getUserOptions($asStyleParams);
|
||||
foreach($asColorAnchors as $iOptionNameId=>$sColorAnchor)
|
||||
{
|
||||
$sOptionValue = (array_key_exists($iOptionNameId, $asOptionvalues) && $asOptionvalues[$iOptionNameId]['option']!='')?$asOptionvalues[$iOptionNameId]['option']:$asDefaultColors[$iOptionNameId];
|
||||
$sOptionValue = (array_key_exists($iOptionNameId, $asOptionvalues) && $asOptionvalues[$iOptionNameId]['option']!='')?$asOptionvalues[$iOptionNameId]['option']:$asDefaultValues[$iOptionNameId];
|
||||
$sStyle = str_replace($sColorAnchor, $sOptionValue, $sStyle);
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ if($bUserOk && $sAction!=Databap::EXT_ACCESS)
|
||||
$sResult = $oDatabap->uploadFile('doc');
|
||||
break;
|
||||
case 'url':
|
||||
$sResult = $oDatabap->checkValue(Databap::URL_TABLE, array('phrase'=>$sLink));
|
||||
$sResult = $oDatabap->getUrlAvailability($sLink);
|
||||
break;
|
||||
case 'user_info':
|
||||
$sResult = $oDatabap->getUserInfo($oDatabap->getUserId(), true);
|
||||
|
||||
4
jquery/common.js
vendored
4
jquery/common.js
vendored
@@ -88,7 +88,7 @@ $.prototype.getEmptyHeight = function()
|
||||
//debug('#'+$(this).attr('id')+'|.'+$(this).attr('class')+' gives '+$(this).outerHeight(true));
|
||||
iTotalHeight += $(this).outerHeight(true);
|
||||
});
|
||||
return $This.height() - iTotalHeight;
|
||||
return $This.innerHeight() - iTotalHeight;
|
||||
};
|
||||
|
||||
$.prototype.getEmptyWidth = function()
|
||||
@@ -98,7 +98,7 @@ $.prototype.getEmptyWidth = function()
|
||||
{
|
||||
iTotalWidth += $(this).outerWidth(true);
|
||||
});
|
||||
return $This.width() - iTotalWidth;
|
||||
return $This.innerWidth() - iTotalWidth;
|
||||
};
|
||||
|
||||
$.prototype.addDefaultValue = function(sDefaultValue, sInitValue)
|
||||
|
||||
97
jquery/databap.js
vendored
97
jquery/databap.js
vendored
@@ -163,100 +163,7 @@ function Databap()
|
||||
|
||||
this.initMenu = function()
|
||||
{
|
||||
//Hover Event: open/close
|
||||
self.$menu.hover
|
||||
(
|
||||
self.openMenu,
|
||||
function()
|
||||
{
|
||||
closeMenu = true;
|
||||
if(typeof oMenuTimer != "undefined") clearTimeout(oMenuTimer);
|
||||
oMenuTimer = setTimeout(self.closeMenu, 1000);
|
||||
}
|
||||
);
|
||||
|
||||
//Close on click
|
||||
self.$menu.find('a').click(self.instantCloseMenu);
|
||||
};
|
||||
|
||||
this.openMenu = function()
|
||||
{
|
||||
//Disable closing
|
||||
closeMenu = false;
|
||||
if(typeof oMenuTimer != "undefined") clearTimeout(oMenuTimer);
|
||||
|
||||
//If not already opened / about to open
|
||||
if(typeof openedMenu == 'undefined' || openedMenu != true)
|
||||
{
|
||||
openedMenu = true;
|
||||
self.$menu.find('#menu_title').hide();
|
||||
|
||||
//Main shadow
|
||||
self.$main.add(self.$title)
|
||||
.click(self.instantCloseMenu)
|
||||
.fadeTo('fast', 0.2);
|
||||
|
||||
//Switch useless button
|
||||
self.$menu.find('.useless_button').removeClass('round').addClass('tiny_top_right');
|
||||
|
||||
//Move menu items
|
||||
var iVPos = Math.max(0, $(window).scrollTop() - 46 - 46);
|
||||
self.$menu.find('#menu_items').css('margin-top', iVPos);
|
||||
|
||||
//Expand menu
|
||||
self.$menu
|
||||
.stop()
|
||||
.animate
|
||||
(
|
||||
{width:'300px'/*, borderWidth:'10px'*/},
|
||||
'fast',
|
||||
function()
|
||||
{
|
||||
self.$menu.find('#menu_box').show();
|
||||
$(this).addClass('opened');
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
this.instantCloseMenu = function()
|
||||
{
|
||||
closeMenu=true;
|
||||
if(typeof oMenuTimer != "undefined") clearTimeout(oMenuTimer);
|
||||
self.closeMenu();
|
||||
};
|
||||
|
||||
this.closeMenu = function()
|
||||
{
|
||||
if(closeMenu == true)
|
||||
{
|
||||
if(typeof oMenuTimer != "undefined") clearTimeout(oMenuTimer);
|
||||
|
||||
//Switch uselecc button
|
||||
self.$menu.find('.useless_button').removeClass('tiny_top_right').addClass('round');
|
||||
|
||||
//Main shadow
|
||||
self.$main.add(self.$title)
|
||||
.off('click')
|
||||
.fadeTo('fast', 1);
|
||||
|
||||
//Reduce menu
|
||||
self.$menu.find('#menu_box').hide();
|
||||
self.$menu
|
||||
.stop()
|
||||
.animate
|
||||
(
|
||||
{width:'20px'/*, borderWidth:'0'*/},
|
||||
'fast',
|
||||
function()
|
||||
{
|
||||
self.$menu.find('#menu_title').show();
|
||||
$(this).removeClass('opened');
|
||||
}
|
||||
);
|
||||
openedMenu = false;
|
||||
closeMenu = false;
|
||||
}
|
||||
self.$menu.find('a').each(function(){$(this).attr('title', $(this).find('span').text());});
|
||||
};
|
||||
|
||||
this.setInitEnd = function(bEnded, bAddScrollBar)
|
||||
@@ -440,7 +347,7 @@ function Databap()
|
||||
{
|
||||
iDelta = $Elem.getEmptyHeight();
|
||||
if(iDelta > 0) $Elem.height('-='+iDelta);
|
||||
//debug('Removing useless '+iDelta+'px from #'+$Elem.attr('id'));
|
||||
debug('Removing useless '+iDelta+'px from #'+$Elem.attr('id'));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<div id="chat_messages"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="chat_input" class="tiny_round">
|
||||
<div id="chat_input" class="round">
|
||||
<form id="chat_form" name="chat_form">
|
||||
<i id="message_img" class="fa fa-fw fa-20 fa-c-comment"></i><input type="text" id="message" name="message" value="" maxlength="500" autofocus />
|
||||
<input type="hidden" id="chan" name="chan" value="" maxlength="50" />
|
||||
@@ -252,7 +252,7 @@ function setChanButton()
|
||||
.append
|
||||
(
|
||||
$('<span>', {id:'join_chan_input'})
|
||||
.text('#')
|
||||
.append($('<span>', {'class':'hash'}).text('#'))
|
||||
.append
|
||||
(
|
||||
$('<input>', {type:'text', id:'input_chan', 'class':'round'})
|
||||
@@ -755,7 +755,7 @@ function addMessage(message_info, bReset)
|
||||
break;
|
||||
case databap.consts.msg_types.conn:
|
||||
updateUsersList = true;
|
||||
msg_body = (self.vars2('opt_console')==self.consts.opt_console_no)?'':'<span class="text action">'+message_info.nickname+' '+message_info.message+'</span>';
|
||||
msg_body = (!self.vars2('opt_console'))?'':'<span class="text action">'+message_info.nickname+' '+message_info.message+'</span>';
|
||||
bSystemMsg = true;
|
||||
break;
|
||||
case databap.consts.msg_types.img:
|
||||
@@ -809,7 +809,7 @@ function addMessage(message_info, bReset)
|
||||
if(msg_body != '')
|
||||
{
|
||||
//Adding message to channel panel
|
||||
$Message = $('<p class="'+message_info.msg_class+' class_'+sChanKeyName+' hide round_right"></p>').append('<span class="time">'+message_info.time+'</span>', msg_body);
|
||||
$Message = $('<p>', {'class':message_info.msg_class+' class_'+sChanKeyName+' hide round_right'}).append($('<span>', {'class':'time'}).text(((message_info.date==databap.consts.cur_date)?'':message_info.date+' - ')+message_info.time), msg_body);
|
||||
$Message.find('.chan_link').click(function(){joinChan($(this).find('.chan_text').text());});
|
||||
$Message.find('.user').click(setPm);
|
||||
databap.getMainElem('#chat_messages').append($Message);
|
||||
|
||||
@@ -55,6 +55,10 @@ databap.onResize = function()
|
||||
|
||||
//Read Code
|
||||
self.setScrollBarSize('optimize');
|
||||
|
||||
//FIXME
|
||||
$('#reader_subbox').height('+=1px');
|
||||
self.updateScrollBar();
|
||||
};
|
||||
|
||||
databap.onQuit = function(){ return (self.tmp('started') === false); };
|
||||
@@ -142,31 +146,31 @@ function checkUrlAvailability(phrase, bTriggered)
|
||||
databap.getInfo
|
||||
(
|
||||
'url',
|
||||
function(bExist)
|
||||
function(oData)
|
||||
{
|
||||
var availabilityClass, availabilityText;
|
||||
var $link = databap.getMainElem('#link_result');
|
||||
if(bExist=='0')
|
||||
if(oData.result==databap.consts.success)
|
||||
{
|
||||
availabilityClass = 'available';
|
||||
availabilityText = 'Disponible';
|
||||
if($link.is(':hidden')) $link.show('fast');
|
||||
if($link.is(':hidden')) $link.fadeIn('fast');
|
||||
}
|
||||
else
|
||||
{
|
||||
availabilityClass = 'unavailable';
|
||||
availabilityText = 'Indisponible';
|
||||
if($link.is(':visible')) $link.hide('fast');
|
||||
if($link.is(':visible')) $link.fadeOut('fast');
|
||||
}
|
||||
var $AvailableBox = databap.getMainElem('#available_phrase');
|
||||
$AvailableBox
|
||||
.removeClass('available unavailable')
|
||||
.addClass(availabilityClass);
|
||||
$AvailableBox.find('#available_phrase_text').text(availabilityText);
|
||||
$AvailableBox.show('fast');
|
||||
$AvailableBox.fadeIn('fast');
|
||||
},
|
||||
{link_escaped:phrase},
|
||||
'html',
|
||||
'json',
|
||||
function(){},
|
||||
true
|
||||
);
|
||||
|
||||
@@ -39,26 +39,26 @@
|
||||
</table>
|
||||
</div>
|
||||
<div id="menu" class="round">
|
||||
<div id="menu_title"><i class="fa fa-c-next"></i></div>
|
||||
<!-- <div id="menu_title"><i class="fa fa-c-next"></i></div> -->
|
||||
<div id="menu_box">
|
||||
<ul id="menu_items">
|
||||
<li><i class="fa fa-fw fa-20 fa-c-next fa-rotate-90"></i>menu</li>
|
||||
<li><a href="#accueil"><i class="fa fa-fw fa-20 fa-c-welcome"></i>accueil</a></li>
|
||||
<li><a href="#code"><i class="fa fa-fw fa-20 fa-c-code"></i>ajouter du code</a></li>
|
||||
<li><a href="#procedure"><i class="fa fa-fw fa-20 fa-c-procedure"></i>ajouter une procédure</a></li>
|
||||
<li><a href="#table"><i class="fa fa-fw fa-20 fa-c-table"></i>ajouter une table</a></li>
|
||||
<li><a href="#doc"><i class="fa fa-fw fa-20 fa-c-doc"></i>ajouter une doc</a></li>
|
||||
<li><a href="#liste"><i class="fa fa-fw fa-20 fa-c-list"></i>liste complète</a></li>
|
||||
<li><a href="#note"><i class="fa fa-fw fa-20 fa-c-note"></i>Note OSS</a></li>
|
||||
<li><a href="#profil"><i class="fa fa-fw fa-20 fa-c-profile"></i>profil</a></li>
|
||||
<li><a href="#chat"><i class="fa fa-fw fa-20 fa-c-chat"></i>chat</a></li>
|
||||
<li><a href="#options"><i class="fa fa-fw fa-20 fa-c-options"></i>paramètres</a></li>
|
||||
<li><a href="[#]rss_link[#]" target="_blank"><i class="fa fa-fw fa-20 fa-c-rss"></i>flux Rss</a></li>
|
||||
<li><a href="#logout"><i class="fa fa-fw fa-20 fa-c-logmeout"></i>quitter</a></li>
|
||||
<li class="mobile"><a id="close_menu_ln"><i class="fa fa-fw fa-20 fa-c-fold"></i>fermer</a></li>
|
||||
<!-- <li><i class="fa fa-fw fa-20 fa-c-next fa-rotate-90"></i>menu</li> -->
|
||||
<li><a href="#accueil"><i class="fa fa-fw fa-20 fa-c-welcome"></i> <span>accueil</span></a></li>
|
||||
<li><a href="#code"><i class="fa fa-fw fa-20 fa-c-code"></i> <span>ajouter du code</span></a></li>
|
||||
<li><a href="#procedure"><i class="fa fa-fw fa-20 fa-c-procedure"></i> <span>ajouter une procédure</span></a></li>
|
||||
<li><a href="#table"><i class="fa fa-fw fa-20 fa-c-table"></i> <span>ajouter une table</span></a></li>
|
||||
<li><a href="#doc"><i class="fa fa-fw fa-20 fa-c-doc"></i> <span>ajouter une doc</span></a></li>
|
||||
<li><a href="#liste"><i class="fa fa-fw fa-20 fa-c-list"></i> <span>liste complète</span></a></li>
|
||||
<li><a href="#note"><i class="fa fa-fw fa-20 fa-c-note"></i> <span>Note OSS</span></a></li>
|
||||
<li><a href="#profil"><i class="fa fa-fw fa-20 fa-c-profile"></i> <span>profil</span></a></li>
|
||||
<li><a href="#chat"><i class="fa fa-fw fa-20 fa-c-chat"></i> <span>chat</span></a></li>
|
||||
<li><a href="#options"><i class="fa fa-fw fa-20 fa-c-options"></i> <span>paramètres</span></a></li>
|
||||
<li><a href="[#]rss_link[#]" target="_blank"><i class="fa fa-fw fa-20 fa-c-rss"></i> <span>flux Rss</span></a></li>
|
||||
<li><a href="#logout"><i class="fa fa-fw fa-20 fa-c-logmeout"></i> <span>quitter</span></a></li>
|
||||
<li class="mobile"><a id="close_menu_ln"><i class="fa fa-fw fa-20 fa-c-fold"></i> <span>fermer</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="[#]index_link[#]" class="useless_button round" title="The Secret Useless Button"></a>
|
||||
<!-- <a href="[#]index_link[#]" class="useless_button round" title="The Secret Useless Button"></a> -->
|
||||
</div>
|
||||
<div id="main_container" class="round">
|
||||
<div id="page_title">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div id="logout">
|
||||
<p><i class="fa fa-spin fa-c-loading"></i>Déconnexion...</p>
|
||||
<p class="round"><i class="fa fa-spin fa-20 fa-inline fa-c-loading"></i>Déconnexion...</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
self.getInfo('log_me_out', function(){document.location='';});
|
||||
|
||||
@@ -17,8 +17,10 @@ databap.pageInit = function()
|
||||
.addButton('ok', 'Ok', function($This){$This.submit();}, 'submit', 'heavy')
|
||||
.submit(function(){databap.goToInternalLink('note', $('#note_id').val())});
|
||||
|
||||
$Frame.css('height', 'calc(100% - '+($('#note_form').outerHeight()+14)+'px)');
|
||||
|
||||
$Frame
|
||||
.css('height', 'calc(100% - '+($('#note_form').outerHeight()+10)+'px)')
|
||||
.hide();
|
||||
|
||||
//Start fetching note
|
||||
var iNote = databap.vars.id;
|
||||
if(isNumeric(iNote) && iNote > 0 && iNote!=databap.tmp('note'))
|
||||
@@ -26,6 +28,7 @@ databap.pageInit = function()
|
||||
$('#note_id').val(iNote).focus();
|
||||
self.addBufferIcon();
|
||||
$Frame
|
||||
.show('slow')
|
||||
.attr('src', 'index.php?a=note&id='+iNote)
|
||||
.load(databap.resetIcon);
|
||||
|
||||
|
||||
@@ -1,42 +1,44 @@
|
||||
<div id="procedure_box">
|
||||
<div id="procedure">
|
||||
<form id="procedure_form" name="procedure_form">
|
||||
<input type="hidden" id="procedure_id" name="procedure_id" value="0" />
|
||||
<div class="proc_menu" id="top_menu">
|
||||
<a id="top_switch" class="button round">
|
||||
<i class="fa fa-c-switch"></i>
|
||||
<span class="mode_read hide">Aperçu</span>
|
||||
<span class="mode_edit hide" class="hide">Modifier</span>
|
||||
</a>
|
||||
<a id="share" class="button round"><i class="fa fa-c-share"></i>Partager</a>
|
||||
</div>
|
||||
<div id="titles_edit" class="hide">
|
||||
<div id="procedure_title" class="step_box round">
|
||||
<p class="step_nb_box">Titre</p>
|
||||
<input type="text" name="title" id="title" class="step_line_item inc_border round" maxlength="200" value="" />
|
||||
<div id="procedure">
|
||||
<form id="procedure_form" name="procedure_form">
|
||||
<input type="hidden" id="procedure_id" name="procedure_id" value="0" />
|
||||
<div class="proc_menu" id="top_menu">
|
||||
<a id="top_switch" class="button round">
|
||||
<i class="fa fa-c-switch"></i>
|
||||
<span class="mode_read hide">Aperçu</span>
|
||||
<span class="mode_edit hide" class="hide">Modifier</span>
|
||||
</a>
|
||||
<a id="share" class="button round"><i class="fa fa-c-share"></i>Partager</a>
|
||||
</div>
|
||||
<div id="scrollbox">
|
||||
<div id="scrollcontent">
|
||||
<div id="titles_edit" class="hide">
|
||||
<div id="procedure_title" class="step_box round">
|
||||
<p class="step_nb_box">Titre</p>
|
||||
<input type="text" name="title" id="title" class="step_line_item inc_border round" maxlength="200" value="" />
|
||||
</div>
|
||||
<div id="procedure_desc" class="step_box round">
|
||||
<p class="step_nb_box">Description</p>
|
||||
<input type="text" name="description" id="description" class="step_line_item inc_border round" maxlength="500" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="procedure_desc" class="step_box round">
|
||||
<p class="step_nb_box">Description</p>
|
||||
<input type="text" name="description" id="description" class="step_line_item inc_border round" maxlength="500" value="" />
|
||||
<div id="titles_read" class="step_box round hide">
|
||||
<p class="read_title"><span id="title_read" class="read"></span></p>
|
||||
<p class="read_details">Créé par <span id="titles_read_user"></span> (<span id="titles_read_company"></span>) le <span id="titles_read_led"></span></p>
|
||||
<p class="read_description"><span id="description_read" class="read"></span></p>
|
||||
</div>
|
||||
<div id="procedure_steps"></div>
|
||||
</div>
|
||||
<div id="titles_read" class="step_box round hide">
|
||||
<p class="read_title"><span id="title_read" class="read"></span></p>
|
||||
<p class="read_details">Créé par <span id="titles_read_user"></span> (<span id="titles_read_company"></span>) le <span id="titles_read_led"></span></p>
|
||||
<p class="read_description"><span id="description_read" class="read"></span></p>
|
||||
</div>
|
||||
<div id="procedure_steps"></div>
|
||||
<div class="proc_menu" id="bottom_menu">
|
||||
<a id="add_step" class="button round"><i class="fa fa-c-add"></i>Ajouter une étape</a>
|
||||
<a id="submit_procedure" class="button round"><i class="fa fa-c-ok"></i>Valider</a>
|
||||
<a id="bottom_switch" class="button round">
|
||||
<i class="fa fa-c-switch"></i>
|
||||
<span class="mode_read">Aperçu</span>
|
||||
<span class="mode_edit" class="hide">Modifier</span>
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="proc_menu" id="bottom_menu">
|
||||
<a id="add_step" class="button round"><i class="fa fa-c-add"></i>Ajouter une étape</a>
|
||||
<a id="submit_procedure" class="button round"><i class="fa fa-c-ok"></i>Valider</a>
|
||||
<a id="bottom_switch" class="button round">
|
||||
<i class="fa fa-c-switch"></i>
|
||||
<span class="mode_read">Aperçu</span>
|
||||
<span class="mode_edit" class="hide">Modifier</span>
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="models" class="hide">
|
||||
<div id="step_model">
|
||||
@@ -77,7 +79,7 @@ databap.pageInit = function()
|
||||
{
|
||||
databap.vars.mode = '';
|
||||
self.tmp('started', false);
|
||||
self.initScrollBar('#main', '#procedure_box', '#procedure');
|
||||
self.initScrollBar('#main', '#scrollbox', '#scrollcontent');
|
||||
|
||||
//Get step HTML
|
||||
self.vars.stepHtml = self.getMainElem('#step_model').html();
|
||||
|
||||
@@ -35,19 +35,19 @@ databap.pageInit = function()
|
||||
//Add EHP improvements, SP bug fixes and WIP
|
||||
var $ActivityBox, sIcon;
|
||||
var asActivityTypes = {
|
||||
sp_fixes: [ 'Réparation des fichiers téléchargés (documentation)',
|
||||
'Réparation du /img dans le chat : Le type de l\'image est lu dans le header de la requête http et non dans l\'extension'],
|
||||
ehp_improvements: [ 'Utilisation des # pour les accès aux pages, compatible avec les boutons prec/suiv des navigateurs. Ex: <a href="#chat">databap.lutran.fr#chat</a>',
|
||||
'Mot de passe personnalisé et modifiable dans les <a href="#options">options</a>',
|
||||
'paramètre dans les <a href="#options">options</a> pour supprimer les messages d\'arrivée et de départ des gens (console)',
|
||||
'Téléversement de documentation',
|
||||
'Documentation de tables ECC / BW',
|
||||
'Homogénéisation des icônes',
|
||||
'Recherche élargie sur tous les types de documents (codes, procédures, docs, articles et tables)',
|
||||
'Commande /invite X : invite X à rejoindre le chan ouvert (Cf. Clippy)',
|
||||
'Des filtres peuvent être appliqués à la liste complète des documents'],
|
||||
sp_fixes: [ ],
|
||||
ehp_improvements: [ 'Possibilité d\'accéder à tous les messags non lus, mêmes plus anciens qu\'une journée. cf. <a href="#options">#options</a>',
|
||||
'Nouveau design',
|
||||
'Ajout des notes sans authentification : #note-<num>',
|
||||
'Annonceurs: Commande /news X : Vous annoncez le message X (votre message est ajouté à la liste des news automatiquement)',
|
||||
'Les valeurs par default des options sont maintenant écrites',
|
||||
'Le blog <a href="http://scn.sap.com/community/bw-hana/blog" target="_blank">SAP BW on HANA</a> a été ajouté à la liste des blogs parsés',
|
||||
'Le blog <a href="http://www.biportal.org/sap_bi_blog" target="_blank">BI Portal</a> a été ajouté à la liste des blogs parsés',
|
||||
'Le blog <a href="http://sapbwbw.com/" target="_blank">SAP BW BW</a> a été ajouté à la liste des blogs parsés',
|
||||
'Le blog <a href="http://scn.sap.com/community/businessobjects-design-studio/blog" target="_blank">SAP Design Studio</a> a été ajouté à la liste des blogs parsés',
|
||||
'Le blog <a href="http://scn.sap.com/community/businessobjects-analysis-ms-office/blog" target="_blank">SAP Analysis for Office</a> a été ajouté à la liste des blogs parsés'],
|
||||
wip: [ 'Filtre par type de documents (table, code, procédure, ...) applicable post-recherche (affinage)',
|
||||
'Messages non lus mémorisés par utilisateur. Possibilité d\'accéder à tous les messags non lus, mêmes plus anciens qu\'une journée<span class="round milestone"><i class="fa fa-c-version"></i>1.1</span>',
|
||||
'Messages non lus mémorisés par utilisateur',
|
||||
'Son lors de nouveaux messages (chat)',
|
||||
'lecteur de fichier online (pdf, txt, image, word ?)',
|
||||
'Version compatible mobile (surtout pour le chat)',
|
||||
|
||||
@@ -1,8 +1,35 @@
|
||||
/* Fonts */
|
||||
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Databap'), url(style/databap_normal_normal.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Databap Bold'), local('Databap-Bold'), url(style/databap_normal_bold.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Databap Italic'), local('Databap-Italic'), url(style/databap_italic_normal.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local('Databap Bold Italic'), local('Databap-BoldItalic'), url(style/databap_italic_bold.woff) format('woff');
|
||||
}
|
||||
|
||||
/* Standard Tags */
|
||||
|
||||
body, html {
|
||||
background:$col_none;
|
||||
font-family:Verdana, Arial;
|
||||
font-family: 'Databap', sans-serif;
|
||||
color:$col_main_1;
|
||||
background:$col_main_1;
|
||||
padding:0;
|
||||
@@ -24,13 +51,12 @@ table td {
|
||||
}
|
||||
|
||||
input, textarea, select {
|
||||
font-family:Verdana, Arial;
|
||||
font-size:12px;
|
||||
background:none;
|
||||
font-family: 'Databap', sans-serif;
|
||||
font-size:$size_big;
|
||||
background:$col_none;
|
||||
border:none;
|
||||
}
|
||||
input[type=text], input[type=password] {
|
||||
border:2px solid $col_main_1;
|
||||
padding:5px;
|
||||
width:200px;
|
||||
}
|
||||
@@ -41,8 +67,6 @@ input[type=button]:hover, input[type=submit]:hover, input[type=password]:hover,
|
||||
|
||||
input[disabled="disabled"], textarea[disabled="disabled"], input:disabled, textarea:disabled {
|
||||
background-color:$col_main_2;
|
||||
border-color:$col_main_2;
|
||||
border:2px solid $col_main_1;
|
||||
}
|
||||
|
||||
input[disabled="disabled"]:hover, textarea[disabled="disabled"]:hover, input:disabled:hover, textarea:disabled:hover {
|
||||
@@ -57,9 +81,17 @@ input[type=button], .clickable {
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
iframe {
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
background:$col_main_3;
|
||||
border:none;
|
||||
}
|
||||
|
||||
select {
|
||||
background:$col_none;
|
||||
border:2px solid $col_main_1;
|
||||
padding:5px;
|
||||
color:$col_main_1;
|
||||
margin:0;
|
||||
@@ -103,6 +135,13 @@ img {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$fromColor', endColorstr='$ToColor',GradientType=1 );
|
||||
}
|
||||
|
||||
@mixin round($TopLeft, $TopRight, $BottomLeft, $BottomLeft) {
|
||||
-moz-border-radius:$TopLeft $TopRight $BottomLeft $BottomLeft;
|
||||
-webkit-border-radius:$TopLeft $TopRight $BottomLeft $BottomLeft;
|
||||
-khtml-border-radius:$TopLeft $TopRight $BottomLeft $BottomLeft;
|
||||
border-radius:$TopLeft $TopRight $BottomLeft $BottomLeft;
|
||||
}
|
||||
|
||||
/* Classes */
|
||||
|
||||
.round_top {
|
||||
@@ -185,21 +224,21 @@ img {
|
||||
.error, .error a {
|
||||
color:$col_error;
|
||||
border-color:$col_error;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.warning, .warning a {
|
||||
color:$col_warning;
|
||||
border-color:$col_warning;
|
||||
font-size:13px;
|
||||
font-size:$size_vbig;
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
.success, .success a {
|
||||
color:$col_success;
|
||||
border-color:$col_success;
|
||||
font-size:13px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
.default_text {
|
||||
@@ -209,10 +248,9 @@ img {
|
||||
a.button {
|
||||
padding:7px;
|
||||
margin-right:5px;
|
||||
background:$col_main_2;
|
||||
font-size:12px;
|
||||
background:$col_main_3;
|
||||
font-size:$size_big;
|
||||
cursor:pointer;
|
||||
border:1px solid $col_main_1;
|
||||
/*position:relative;*/
|
||||
display:inline-block;
|
||||
}
|
||||
@@ -300,19 +338,18 @@ a[href^="table"].internal_link span.item {
|
||||
|
||||
.author_box {
|
||||
padding:5px 10px;
|
||||
border:1px solid $col_main_1;
|
||||
color:$col_main_1;
|
||||
font-style:italic;
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
}
|
||||
.author_box:nth-child(odd) {
|
||||
background:$col_main_3;
|
||||
background:$col_none;
|
||||
}
|
||||
.author_box:nth-child(even) {
|
||||
background:$col_main_2;
|
||||
background:$col_main_4;
|
||||
}
|
||||
.author_box:hover {
|
||||
border-color:$col_hover_1;
|
||||
.author_box:hover a {
|
||||
color:$col_hover_1;
|
||||
}
|
||||
|
||||
.author_box a {
|
||||
@@ -329,7 +366,7 @@ a[href^="table"].internal_link span.item {
|
||||
.author_box span.description {
|
||||
font-weight:bold;
|
||||
font-style:normal;
|
||||
font-size:13px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
.author_box span.rank {
|
||||
@@ -340,9 +377,6 @@ a[href^="table"].internal_link span.item {
|
||||
.standalone .author_box {
|
||||
margin-top:10px;
|
||||
}
|
||||
.standalone .author_box:hover {
|
||||
color:$col_hover_1;
|
||||
}
|
||||
|
||||
.hide, .mobile {
|
||||
display:none;
|
||||
@@ -354,18 +388,17 @@ a[href^="table"].internal_link span.item {
|
||||
margin-top:5px;
|
||||
margin-bottom:5px;
|
||||
padding:10px;
|
||||
background:$col_main_2;
|
||||
background:$col_main_3;
|
||||
color:$col_main_1;
|
||||
border: 2px solid $col_main_1;
|
||||
}
|
||||
.step_box:nth-child(even) {
|
||||
background:$col_main_3;
|
||||
background:$col_main_4;
|
||||
}
|
||||
|
||||
.step_box input, .step_box textarea, .step_box select, .step_box .read.textarea, .step_box .read.input {
|
||||
margin-top:10px;
|
||||
background:$col_none;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
border-width:1px;
|
||||
}
|
||||
.step_box input:disabled, .step_box textarea:disabled, .step_box select:disabled, .step_box input:hover:disabled, .step_box textarea:hover:disabled, .step_box select:hover:disabled {
|
||||
@@ -378,7 +411,6 @@ a[href^="table"].internal_link span.item {
|
||||
height:200px;
|
||||
padding:5px;
|
||||
background:$col_none;
|
||||
border:1px solid $col_main_1;
|
||||
}
|
||||
.step_box .read.textarea, .step_box .read.input {
|
||||
border-color:$col_main_2;
|
||||
@@ -388,7 +420,7 @@ a[href^="table"].internal_link span.item {
|
||||
background-color:$col_main_3;
|
||||
}
|
||||
.step_box:nth-child(even) .read.textarea {
|
||||
background-color:$col_main_2;
|
||||
background-color:$col_main_4;
|
||||
}
|
||||
.step_box .read.input {
|
||||
background-color:$col_main_2;
|
||||
@@ -462,7 +494,6 @@ a[href^="table"].internal_link span.item {
|
||||
height:100%;
|
||||
height:210px;
|
||||
z-index:2;
|
||||
border:1px solid $col_main_1;
|
||||
background:$col_none;
|
||||
text-align:center;
|
||||
}
|
||||
@@ -498,7 +529,7 @@ a[href^="table"].internal_link span.item {
|
||||
}
|
||||
|
||||
.uploader_item_size, .uploader_item_cancel {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@@ -515,7 +546,7 @@ a.uploader_item_cancel {
|
||||
|
||||
|
||||
.uploader_box .image_action {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
}
|
||||
|
||||
.uploader_box .image_action input {
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
/* Main colors */
|
||||
$col_main_1: #04357B;
|
||||
$col_main_2: #D9E5F2;
|
||||
$col_main_3: #DCF2FB;
|
||||
$col_main_2: /*#D9E5F2;*/#88B2F0;
|
||||
$col_main_3: /*#DCF2FB;*/#D9E5F2;
|
||||
$col_main_4:#f2f5f9;
|
||||
|
||||
/* Flashy hover colors */
|
||||
$col_hover_1: #EFAB00;
|
||||
@@ -13,10 +14,22 @@ $col_hover_2: #F2E1B5;
|
||||
|
||||
/* Traffic light colors */
|
||||
$col_success: green;
|
||||
$col_success_2:#B2D6B2;
|
||||
$col_warning: orange;
|
||||
$col_error: red;
|
||||
$col_error_2:#F6D3D3;
|
||||
|
||||
/* Technical colors */
|
||||
$col_none: #FFFFFF;
|
||||
$col_black: #000000;
|
||||
$col_main_4: #0C8BCE;
|
||||
|
||||
|
||||
/* Font size */
|
||||
$size_small:9px;
|
||||
$size_medium:10px;
|
||||
$size_big:11px;
|
||||
$size_vbig:13px;
|
||||
$size_vvbig:15px;
|
||||
$size_subtitle:16px;
|
||||
$size_title:20px;
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -10,7 +10,7 @@
|
||||
|
||||
#container {
|
||||
background:$col_main_1;
|
||||
padding:10px 10px 1px;
|
||||
padding:10px 10px 1px 1px;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
@@ -49,7 +49,6 @@
|
||||
|
||||
#search_btn_submit {
|
||||
background:$col_main_2;
|
||||
border-left:2px solid $col_main_1;
|
||||
height:20px;
|
||||
padding-top:5px;
|
||||
}
|
||||
@@ -62,28 +61,26 @@
|
||||
/* Main */
|
||||
|
||||
#main_container {
|
||||
background:$col_none;
|
||||
margin-left:30px;
|
||||
background:$col_main_2;
|
||||
margin-left:35px;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
border:10px solid $col_none;
|
||||
border:10px solid $col_main_2;
|
||||
}
|
||||
|
||||
#page_title {
|
||||
margin-bottom:10px;
|
||||
#page_title .side_margins {
|
||||
margin:0 0 10px 0;
|
||||
}
|
||||
|
||||
#page_title h1 {
|
||||
margin:0 -12px 12px;
|
||||
padding:12px 10px;
|
||||
padding:2px 0; /*To fit the icon in*/
|
||||
margin:0;
|
||||
width:100%;
|
||||
border:2px solid $col_main_1;
|
||||
font-family:Arial;
|
||||
font-family: 'Databap', sans-serif;
|
||||
font-size:32px;
|
||||
line-height:32px;
|
||||
font-style:italic;
|
||||
font-weight:600;
|
||||
@include gradient-diag($col_main_2, $col_none, 25%, 75%);
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#page_title h1 #title_feedback {
|
||||
@@ -109,111 +106,90 @@
|
||||
|
||||
#menu {
|
||||
position:absolute;
|
||||
width:20px;
|
||||
width:auto;
|
||||
padding:10px 0;
|
||||
z-index:10;
|
||||
border-right:0 solid $col_main_1;
|
||||
|
||||
#menu_title {
|
||||
position:relative;
|
||||
padding:0;
|
||||
margin:21px 0 0 0;
|
||||
text-align:center;
|
||||
cursor:pointer;
|
||||
font-size:20px;
|
||||
line-height:20px;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
background: $col_main_2;
|
||||
background: -moz-linear-gradient(top, $col_main_2 0%, $col_none 25%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$col_main_2), color-stop(25%,$col_none));
|
||||
background: -webkit-linear-gradient(top, $col_main_2 0%,$col_none 25%);
|
||||
background: -o-linear-gradient(top, $col_main_2 0%,$col_none 25%);
|
||||
background: -ms-linear-gradient(top, $col_main_2 0%,$col_none 25%);
|
||||
background: linear-gradient(to bottom, $col_main_2 0%,$col_none 25%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$col_main_2', endColorstr='$col_none',GradientType=0 );
|
||||
}
|
||||
#menu.opened {
|
||||
background: $col_none;
|
||||
background: -moz-linear-gradient(left, $col_none 75%, rgba(255,255,255,0) 100%);
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(75%,$col_none), color-stop(100%,rgba(255,255,255,0)));
|
||||
background: -webkit-linear-gradient(left, $col_none 75%,rgba(255,255,255,0) 100%);
|
||||
background: -o-linear-gradient(left, $col_none 75%,rgba(255,255,255,0) 100%);
|
||||
background: -ms-linear-gradient(left, $col_none 75%,rgba(255,255,255,0) 100%);
|
||||
background: linear-gradient(to right, $col_none 75%,rgba(255,255,255,0) 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$col_none', endColorstr='#00ffffff',GradientType=1 );
|
||||
}
|
||||
|
||||
#menu #menu_title {
|
||||
position:relative;
|
||||
padding:0;
|
||||
margin:21px 0 0 0;
|
||||
text-align:center;
|
||||
cursor:pointer;
|
||||
font-size:20px;
|
||||
line-height:20px;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#menu #menu_box {
|
||||
display:none;
|
||||
color:$col_main_1;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#menu #menu_box ul {
|
||||
margin:0;
|
||||
padding:0;
|
||||
text-align:left;
|
||||
font-size: 20px;
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li {
|
||||
margin:0;
|
||||
padding:5px 3px 5px 15px;
|
||||
list-style:none;
|
||||
cursor:pointer;
|
||||
line-height:20px;
|
||||
height:20px;
|
||||
font-size:20px;
|
||||
text-transform:capitalize;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li:FIRST-CHILD {
|
||||
padding-left:5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li a {
|
||||
color:$col_main_1;
|
||||
display:block;
|
||||
width:100%;
|
||||
}
|
||||
#menu #menu_box ul li:hover a {
|
||||
color:$col_hover_1;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li#rss_ln a {
|
||||
color:$col_main_1;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li#quick_code_access_ln input {
|
||||
border:2px solid $col_main_1;
|
||||
width:60px;
|
||||
padding:0 5px;
|
||||
font-size:16px;
|
||||
color:$col_main_1;
|
||||
}
|
||||
|
||||
#menu #menu_box ul li .fa {
|
||||
margin-right:5px;
|
||||
}
|
||||
|
||||
#menu .useless_button {
|
||||
width:0;
|
||||
height:0;
|
||||
position:absolute;
|
||||
bottom:5px;
|
||||
left:5px;
|
||||
border:5px solid $col_main_1;
|
||||
#menu_box ul {
|
||||
margin:0;
|
||||
padding:0;
|
||||
text-align:left;
|
||||
font-size: 20px;
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
#menu_box ul li {
|
||||
padding:10px 10px 10px 0;
|
||||
margin:0;
|
||||
list-style:none;
|
||||
cursor:pointer;
|
||||
line-height:20px;
|
||||
height:20px;
|
||||
font-size:20px;
|
||||
text-transform:capitalize;
|
||||
}
|
||||
|
||||
#menu_box ul li:FIRST-CHILD {
|
||||
padding-top:0;
|
||||
}
|
||||
|
||||
#menu_box ul li:FIRST-CHILD a {
|
||||
padding-top:8px;
|
||||
}
|
||||
|
||||
#menu_box ul li a {
|
||||
padding:10px 0 10px 0;
|
||||
color:$col_main_2;
|
||||
display:inline-block;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
#menu_box ul li:hover a {
|
||||
color:$col_hover_1;
|
||||
}
|
||||
|
||||
#menu_box a.active {
|
||||
background:#88B2F0;
|
||||
color:$col_hover_1;
|
||||
padding-right: 10px;
|
||||
@include round(10px, 10px, 10px, 10px);
|
||||
}
|
||||
|
||||
#menu_box ul li a span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#menu_box a.active span {
|
||||
display:inline-block;
|
||||
text-transform:capitalize;
|
||||
background:#04357B;
|
||||
}
|
||||
|
||||
#menu_box ul li a.active .fa {
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
|
||||
#menu_box ul li#rss_ln a {
|
||||
color:$col_main_1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Welcome */
|
||||
|
||||
#welcome #welcome_container {
|
||||
border:2px solid $col_main_1;
|
||||
background:$col_main_2;
|
||||
background:$col_main_3;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
@@ -230,13 +206,13 @@
|
||||
}
|
||||
|
||||
#welcome #welcome_container ul li {
|
||||
font-size:13px;
|
||||
font-size:$size_vbig;
|
||||
margin-top:10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#welcome #welcome_container ul li ul {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
margin-top:2px;
|
||||
}
|
||||
|
||||
@@ -285,7 +261,7 @@
|
||||
/* Add Code */
|
||||
|
||||
#add_code_container, #add_code_container input {
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
#add_code_container table {
|
||||
@@ -308,12 +284,11 @@
|
||||
margin:0 -10px;
|
||||
padding:10px 6px 10px 10px;
|
||||
width:100%;
|
||||
border:2px solid $col_main_1;
|
||||
min-height:100px;
|
||||
height:300px;
|
||||
font-family:courier;
|
||||
font-family:Courier New, Courier;
|
||||
color:$col_black;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
#add_code_container .loggued {
|
||||
@@ -321,7 +296,6 @@
|
||||
}
|
||||
|
||||
#add_code_container input[type=text] {
|
||||
border:2px solid $col_main_1;
|
||||
width:400px;
|
||||
padding:5px;
|
||||
color:$col_main_1;
|
||||
@@ -342,15 +316,13 @@
|
||||
|
||||
#link_result, #available_phrase {
|
||||
display:none;
|
||||
border:2px solid;
|
||||
margin-left:15px;
|
||||
padding:5px;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
#link_result {
|
||||
color:$col_main_1;
|
||||
border-color:$col_main_1;
|
||||
}
|
||||
|
||||
#available_phrase {
|
||||
@@ -359,11 +331,11 @@
|
||||
|
||||
#available_phrase.available {
|
||||
color:$col_success;
|
||||
border-color:$col_success;
|
||||
background:$col_success_2;
|
||||
}
|
||||
#available_phrase.unavailable {
|
||||
color:$col_error;
|
||||
border-color:$col_error;
|
||||
background:$col_error_2;
|
||||
}
|
||||
|
||||
/* read code */
|
||||
@@ -380,7 +352,6 @@
|
||||
|
||||
#code_container .code_reader {
|
||||
margin:10px 0 0 0;
|
||||
border:2px solid $col_main_1;
|
||||
padding:0;
|
||||
background:#b5b5c6;
|
||||
background:$col_main_1;
|
||||
@@ -431,7 +402,7 @@
|
||||
border-left:1px dotted #398c8c;
|
||||
background:$col_none;
|
||||
font-family:Courier New, Courier;
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
line-height:12px;
|
||||
text-indent:20px;
|
||||
color:#398c8c;
|
||||
@@ -447,7 +418,7 @@
|
||||
}
|
||||
|
||||
#code_container .code_reader ol li:hover, #code_container .code_reader ol li.code_hover {
|
||||
background-color:$col_main_2;
|
||||
background-color:$col_main_3;
|
||||
}
|
||||
|
||||
#code_container .code_reader .core {color:#0000ff; text-transform:uppercase;}
|
||||
@@ -483,7 +454,7 @@
|
||||
color:$col_black;
|
||||
}
|
||||
#code_container .code_reader ol li span.code, ol li span.comment {
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
margin-left:15px;
|
||||
}
|
||||
#code_container .code_reader ol li span.comment span, #code_container .code_reader ol li span.code span.comment {
|
||||
@@ -568,7 +539,7 @@
|
||||
|
||||
#search .summary {
|
||||
margin: 10px 0 0px 5px;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@@ -597,7 +568,6 @@
|
||||
width:96px;
|
||||
height:96px;
|
||||
background:url("images/avatar_96.png") 0 0 no-repeat;
|
||||
border:2px solid $col_main_1;
|
||||
float:left;
|
||||
}
|
||||
|
||||
@@ -612,8 +582,7 @@
|
||||
margin-left:110px; /* 96 (picture) + 10 (margin) + 4 (borders) */
|
||||
padding:10px 16px;
|
||||
height:76px; /* 96 (picture height) - 20 (padding) */
|
||||
border:2px solid $col_main_1;
|
||||
background:$col_main_2;
|
||||
background:$col_main_3;
|
||||
}
|
||||
|
||||
#profile .user .fa {
|
||||
@@ -640,18 +609,17 @@
|
||||
|
||||
#profile #history_subbox {
|
||||
margin-top:10px;
|
||||
border:2px solid $col_main_1;
|
||||
}
|
||||
|
||||
#profile #user_history p.history_line {
|
||||
padding:5px 10px;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
#profile #user_history p.history_line:nth-child(odd) {
|
||||
background:$col_main_2;
|
||||
background:$col_none;
|
||||
}
|
||||
#profile #user_history p.history_line:nth-child(even) {
|
||||
background:$col_none;
|
||||
background:$col_main_4;
|
||||
}
|
||||
#profile #user_history p.history_line:FIRST-CHILD {
|
||||
-moz-border-radius-topleft: 10px;
|
||||
@@ -692,9 +660,9 @@
|
||||
|
||||
#chat #chat_room {
|
||||
margin-right:175px; /* 165px + 10px (margin-left) */
|
||||
border:2px solid $col_main_1;
|
||||
background:$col_none;
|
||||
height:100%;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
.g_white_transparent {
|
||||
@@ -727,7 +695,7 @@
|
||||
|
||||
#chat #chat_room #chat_container {
|
||||
clear:both;
|
||||
margin:5px 5px 0;
|
||||
padding-bottom:5px;
|
||||
}
|
||||
#chat #chat_room #chat_container #chat_messages_box {
|
||||
position:relative;
|
||||
@@ -762,7 +730,7 @@
|
||||
/*background-color:white;*/
|
||||
}
|
||||
#chat_messages p.A, #chat_messages p.PA, #chat_messages p.E, #chat_messages p.PE, #chat_messages p.N {
|
||||
background-color:$col_main_2;
|
||||
background-color:$col_main_3;
|
||||
font-style:italic;
|
||||
}
|
||||
#chat_messages p.C {
|
||||
@@ -772,11 +740,11 @@
|
||||
}
|
||||
#chat_messages p span.time {
|
||||
color:$col_hover_1;
|
||||
font-size:10px;
|
||||
font-size:$size_small;
|
||||
font-style:normal;
|
||||
}
|
||||
#chat_messages p a.user, #chat_messages p span.console {
|
||||
font-size:12px;
|
||||
font-size:$size_medium;
|
||||
font-weight:bold;
|
||||
color:$col_main_1;
|
||||
}
|
||||
@@ -788,7 +756,7 @@
|
||||
}
|
||||
#chat_messages p span.text {
|
||||
margin-left:5px;
|
||||
font-size:13px;
|
||||
font-size:$size_big;
|
||||
}
|
||||
#chat_messages p span.action {
|
||||
font-style:italic;
|
||||
@@ -819,10 +787,10 @@
|
||||
#chat_messages .help p {
|
||||
padding:0 5px;
|
||||
color:#666666;
|
||||
font-size:10px;
|
||||
font-size:$size_medium;
|
||||
}
|
||||
#chat_messages .help p.title {
|
||||
font-size:14px;
|
||||
font-size:$size_big;
|
||||
padding:3px 5px;
|
||||
border-bottom:1px dashed #666666;
|
||||
letter-spacing:0;
|
||||
@@ -832,7 +800,7 @@
|
||||
}
|
||||
#chat_messages .help p.subtitle {
|
||||
margin-top:5px;
|
||||
font-size:12px;
|
||||
font-size:$size_medium;
|
||||
}
|
||||
#chat_messages .help p.item {
|
||||
margin-top:1px;
|
||||
@@ -847,24 +815,24 @@
|
||||
}
|
||||
|
||||
#chat #chat_input {
|
||||
margin:5px;
|
||||
padding:0 5px;
|
||||
background:$col_main_1;
|
||||
background:$col_main_3;
|
||||
color:#94BDF9;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#chat #chat_input .fa {
|
||||
color:$col_main_2;
|
||||
margin-right:2px;
|
||||
color:$col_main_1;
|
||||
margin-right:3px;
|
||||
margin-left:3px;
|
||||
}
|
||||
|
||||
#chat #chat_input input#message {
|
||||
color:$col_none;
|
||||
background:$col_main_3;
|
||||
margin:0;
|
||||
padding:7px 0;
|
||||
border:none;
|
||||
min-width:200px;
|
||||
font-size:13px;
|
||||
line-height:13px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
#chat #chat_input input#message:hover, #chat #chat_input input#message:focus {
|
||||
@@ -883,25 +851,26 @@
|
||||
|
||||
#chat #sidebar .sidebar_box {
|
||||
position:relative;
|
||||
border:2px solid $col_main_1;
|
||||
font-weight:bold;
|
||||
padding:0;
|
||||
margin-bottom:10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#chat #sidebar .sidebar_box_title {
|
||||
background-color:$col_main_2;
|
||||
background-color:$col_main_3;
|
||||
text-align:center;
|
||||
font-size:$size_subtitle;
|
||||
}
|
||||
|
||||
#chat #sidebar .sidebar_box_content {
|
||||
border-top:2px solid $col_main_1;
|
||||
font-size:12px;
|
||||
background:$col_none;
|
||||
font-size:$size_medium;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
#chat #sidebar .help_paperclip {
|
||||
background: transparent url('images/ms_paperclip_112.jpg') 50% 50% no-repeat;
|
||||
background: $col_none url('images/ms_paperclip_112.jpg') 50% 50% no-repeat;
|
||||
height:109px;
|
||||
}
|
||||
|
||||
@@ -916,7 +885,7 @@
|
||||
}
|
||||
|
||||
#chat #sidebar p.connected_user {
|
||||
font-size:16px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
#chat #sidebar a.connected_user_logo img {
|
||||
vertical-align:middle;
|
||||
@@ -944,22 +913,20 @@
|
||||
}
|
||||
|
||||
#chat #chat_chan {
|
||||
margin-bottom: -2px;
|
||||
}
|
||||
|
||||
#chat #chat_chan .tab_bar {
|
||||
font-weight:bold;
|
||||
text-align:right;
|
||||
margin:0 184px 0 0; /* 165px + the round corner */
|
||||
margin:0 0 0 5px; /* 165px + the round corner */
|
||||
}
|
||||
|
||||
#chat #chat_chan .tab_bar span.chan {
|
||||
display: inline-block;
|
||||
background-color:$col_main_2;
|
||||
background-color:$col_main_3;
|
||||
padding:2px 8px;
|
||||
border:2px solid $col_main_1;
|
||||
margin-left:5px;
|
||||
color:$col_main_1;
|
||||
font-size:$size_vvbig;
|
||||
}
|
||||
|
||||
#chat #chat_chan .tab_bar span#join_chan {
|
||||
@@ -995,9 +962,12 @@
|
||||
color:$col_hover_1;
|
||||
}
|
||||
|
||||
#chat #chat_chan .tab_bar span#join_chan .hash {
|
||||
margin-left:5px;
|
||||
}
|
||||
#chat #chat_chan .tab_bar span#join_chan input, #chat #chat_chan .tab_bar span#join_chan input:hover {
|
||||
border:none;
|
||||
font-size:14px;
|
||||
font-size:$size_vvbig;
|
||||
padding:0;
|
||||
margin:0;
|
||||
width:70px;
|
||||
@@ -1022,10 +992,10 @@
|
||||
padding:6px 5px;
|
||||
}
|
||||
#chat #news .new:nth-child(even) {
|
||||
background:$col_main_3;
|
||||
background:$col_none;
|
||||
}
|
||||
#chat #news .new:nth-child(odd) {
|
||||
background:$col_main_2;
|
||||
background:$col_main_4;
|
||||
}
|
||||
#chat #news .new:last-child {
|
||||
-moz-border-radius:0 0 10px 10px;
|
||||
@@ -1044,8 +1014,7 @@
|
||||
/* Options */
|
||||
|
||||
#options .options_box {
|
||||
background:$col_main_2;
|
||||
border:2px solid $col_main_1;
|
||||
background:$col_main_3;
|
||||
width:490px;
|
||||
float:left;
|
||||
margin:0 10px 10px 0;
|
||||
@@ -1068,10 +1037,10 @@
|
||||
}
|
||||
|
||||
#options .options_box input[type=text], #options .options_box input[type=password], #options .options_box select {
|
||||
font-size:14px;
|
||||
font-size:$size_big;
|
||||
background:$col_none;
|
||||
border-width:1px;
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
padding:5px;
|
||||
float:right;
|
||||
}
|
||||
@@ -1082,7 +1051,6 @@
|
||||
}
|
||||
|
||||
#options .options_box select {
|
||||
border:1px solid $col_main_1;
|
||||
color:$col_main_1;
|
||||
}
|
||||
|
||||
@@ -1103,19 +1071,23 @@
|
||||
background-color:$col_hover_1
|
||||
}
|
||||
|
||||
#procedure #procedure_steps .step_box:LAST-CHILD {
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
#titles_read p.read_title {
|
||||
border-bottom:1px solid $col_main_1;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#titles_read p.read_details {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
font-style:italic;
|
||||
margin:3px 0 15px 0;
|
||||
}
|
||||
|
||||
#titles_read p.read_description {
|
||||
font-size:14px;
|
||||
font-size:$size_vbig;
|
||||
}
|
||||
|
||||
#titles_read p.read_description .fa {
|
||||
@@ -1158,6 +1130,10 @@
|
||||
background:$col_none;
|
||||
}
|
||||
|
||||
#procedure #procedure_title {
|
||||
margin-top:0;
|
||||
}
|
||||
|
||||
#procedure #bottom_menu {
|
||||
margin:10px 0 0 0;
|
||||
}
|
||||
@@ -1189,7 +1165,7 @@
|
||||
}
|
||||
|
||||
#procedure .thumbnail_desc {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
}
|
||||
|
||||
/* Procedure - Uploader */
|
||||
@@ -1199,7 +1175,7 @@
|
||||
}
|
||||
|
||||
#procedure .uploader_box .error {
|
||||
font-size:12px;
|
||||
font-size:$size_big;
|
||||
margin:10px 0;
|
||||
}
|
||||
|
||||
@@ -1214,6 +1190,10 @@
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
#doc .step_box:nth-child(odd) {
|
||||
background:$col_main_4;
|
||||
}
|
||||
|
||||
#doc #attach_file {
|
||||
margin-top:10px;
|
||||
}
|
||||
@@ -1309,7 +1289,7 @@
|
||||
#footer p, #footer a {
|
||||
color:$col_none;
|
||||
margin:0;
|
||||
font-size:9px;
|
||||
font-size:$size_small;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
@@ -1320,8 +1300,9 @@
|
||||
|
||||
#logout p {
|
||||
font-size:18px;
|
||||
color:$col_main_1;
|
||||
background-color:$col_main_3;
|
||||
margin-top:25px;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
/* Note */
|
||||
@@ -1330,14 +1311,6 @@
|
||||
height:100%;
|
||||
}
|
||||
|
||||
#note_frame {
|
||||
width:calc(100% - 4px);
|
||||
height:calc(100% - 4px);
|
||||
border: 2px solid $col_main_1;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#note_form {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
BIN
style/databap_italic_bold.woff
Normal file
BIN
style/databap_italic_bold.woff
Normal file
Binary file not shown.
BIN
style/databap_italic_normal.woff
Normal file
BIN
style/databap_italic_normal.woff
Normal file
Binary file not shown.
BIN
style/databap_normal_bold.woff
Normal file
BIN
style/databap_normal_bold.woff
Normal file
Binary file not shown.
BIN
style/databap_normal_normal.woff
Normal file
BIN
style/databap_normal_normal.woff
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -5,8 +5,7 @@
|
||||
@import 'fa-custom';
|
||||
@import 'common';
|
||||
|
||||
/* Fix librairies location */
|
||||
/* FIXME */
|
||||
/* FIXME librairies location */
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
src: url('fontawesome-webfont.eot?v=4.2.0');
|
||||
@@ -14,6 +13,30 @@
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Databap'), url(databap_normal_normal.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Databap Bold'), local('Databap-Bold'), url(databap_normal_bold.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local('Databap Italic'), local('Databap-Italic'), url(databap_italic_normal.woff) format('woff');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Databap';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local('Databap Bold Italic'), local('Databap-BoldItalic'), url(databap_italic_bold.woff) format('woff');
|
||||
}
|
||||
|
||||
/* Logon */
|
||||
|
||||
|
||||
42
todo
42
todo
@@ -8,22 +8,24 @@ Internal:
|
||||
- put feedback box in title
|
||||
- Créer un fichier de testing
|
||||
- harmonize local file access: table "files" ? No file name / extension on server
|
||||
- Supprimer l'extension pendant le stockage et la remettre dans la getDownload(). La stocker en base.
|
||||
- Mettre tous les docs/img dans table FILES
|
||||
|
||||
Bug fix:
|
||||
- add big company logo in db (new col). Use it in profile ?
|
||||
- [1.0.3] Resize .gif + fix unresized ones
|
||||
- [1.1.1] Resize .gif + fix unresized ones
|
||||
- Fix les "xxx se déconnecte" intempestives
|
||||
- code reader : mettre la scrollbar à l'intérieur du code
|
||||
- Trouver une meilleure place pour le menu
|
||||
|
||||
New features:
|
||||
- [1.1.0] Chat: New "Connected Users" Panel: On click, opening a sub panl with icons: profil link, status, PM.
|
||||
- [1.1.0] Unread messages par user (dedicated table). No more daily cut
|
||||
- [1.1.0] Refiltre par type dans le search
|
||||
- [1.1.0] Remplacer dans les options : oui / non par [-0] (f205) [O-] (f204)
|
||||
- [1.1.0] Son pour les nouveaux messages
|
||||
- [1.1.0] Chat : compatibilité mobile (utiliser la fonctionnalité ff)
|
||||
- [1.1.0] search : add tagname, like code:blabla to search blabla in codes only
|
||||
- [1.2.0] Chat: New "Connected Users" Panel: On click, opening a sub panl with icons: profil link, status, PM.
|
||||
- [1.2.0] Unread messages par user (dedicated table). No more daily cut
|
||||
- [1.2.0] Refiltre par type dans le search
|
||||
- [1.2.0] Remplacer dans les options : oui / non par [-0] (f205) [O-] (f204)
|
||||
- [1.2.0] Son pour les nouveaux messages
|
||||
- [1.2.0] Chat : compatibilité mobile (utiliser la fonctionnalité ff)
|
||||
- [1.2.0] search : add tagname, like code:blabla to search blabla in codes only
|
||||
- [1.2.0] Delete phrases table / généraliser ? ne pas oublier la item list
|
||||
- [1.3.0] Reward on post
|
||||
- modification code : possibilité de modifier la description d'un code après enregistrement + entre les versions
|
||||
@@ -36,15 +38,10 @@ New features:
|
||||
Design
|
||||
- profil : donner la possibilité de mettre des images de profil
|
||||
|
||||
EHP 1
|
||||
EHP 2
|
||||
-----
|
||||
|
||||
- Annonceurs: Commande /news X : Vous annoncez le message X (votre message est ajouté à la liste des news automatiquement)
|
||||
- Le blog <a href="http://scn.sap.com/community/bw-hana/blog" target="_blank">SAP BW on HANA</a> a été ajouté à la liste des blogs parsés
|
||||
- Le blog <a href="http://www.biportal.org/sap_bi_blog" target="_blank">BI Portal</a> a été ajouté à la liste des blogs parsés
|
||||
- Le blog <a href="http://sapbwbw.com/" target="_blank">SAP BW BW</a> a été ajouté à la liste des blogs parsés
|
||||
- Interface menu modifié
|
||||
- Ajout des notes sans authentification : #note-<num>
|
||||
-
|
||||
|
||||
Testing
|
||||
-------
|
||||
@@ -55,4 +52,17 @@ Testing
|
||||
- Uploader fichier :
|
||||
- mysql --local-infile
|
||||
- LOAD DATA LOCAL INFILE '/var/www/databap/test.csv' INTO TABLE tables CHARACTER SET UTF8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\';
|
||||
- Rebuild search : ?a=build_index
|
||||
- Rebuild search : ?a=build_index
|
||||
|
||||
MEP 1.1
|
||||
-------
|
||||
|
||||
ALTER TABLE option_values add default_value tinyint(1) default 0 after option_value;
|
||||
update option_values set default_value = 1 where id_option_value = 2;
|
||||
insert into option_names (id_option_name, option_name, type, language) values (10, 'Chat: nombre de jours d\'historique', 'T', 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (2, '#04357B', 1, 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (3, '#D9E5F2', 1, 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (4, '#EFAB00', 1, 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (6, 'images/sap_gold_332.jpg', 1, 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (7, 'aucune mission en cours', 1, 'FR');
|
||||
insert into option_values (id_option_name, option_value, default_value, language) values (10, '0', 1, 'FR');
|
||||
|
||||
Reference in New Issue
Block a user