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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user