This commit is contained in:
2014-12-13 03:18:04 +01:00
parent ae20f82a43
commit 0e4b1a3e6d
24 changed files with 499 additions and 497 deletions

View File

@@ -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&eacute;':'#'.$sMsgChanName), self::MESSAGE_CONN, $iChanId);
$this->addMessage(' de '.$asUserInfo['company'].' ('.$this->getDescriptionFormat($sStatus).') rejoint '.($asPm['is_pm']?'le chan priv&eacute;':'#'.$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);
}