83 $this->sPathToModule = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri();
84 $this->sModuleName =
'ch_' .
$aModule[
'uri'];
87 $this->_aObjects = $this->_oDb->getShoutboxObjects();
100 $this->iMemberId,
true)
104 ? htmlentities($_POST[
'message'], ENT_COMPAT,
'UTF-8',
false)
109 $iMessage = $this->_oDb->writeMessage($sObject, $iHandler,
$sMessage, $this->iMemberId, sprintf(
"%u", ip2long(
getVisitorIP())));
110 if($iMessage !==
false) {
111 $oAlert =
new ChWsbAlerts($this -> sModuleName,
'add', $iMessage, $this -> iMemberId, array(
'Object' => $sObject,
'Message' =>
$sMessage));
115 if (1 == rand(1, 10) && $this->_oConfig->iAllowedMessagesCount) {
117 $iMessagesCount = $this->_oDb->getMessagesCount($sObject, $iHandler);
118 if ($iMessagesCount > $this->_oConfig->iAllowedMessagesCount) {
119 $this->_oDb->deleteMessages($sObject, $iHandler,
120 $iMessagesCount - $this->_oConfig->iAllowedMessagesCount);
124 echo
_t(
'_ch_shoutbox_message_empty');
127 echo
_t(
'_ch_shoutbox_access_denied');
141 $sCallBackMessage =
'';
142 $iMessageId = (int)$iMessageId;
146 $this->iMemberId) && $iMessageId > 0
149 $aMessageInfo = $this->_oDb->getMessageInfo($sObject, $iHandler, $iMessageId);
150 if (!$aMessageInfo) {
151 $sCallBackMessage =
_t(
'_Error Occured');
154 ch_block_ip((
int)$aMessageInfo[
'IP'], $this->_oConfig->iBlockExpirationSec,
155 _t(
'_ch_shoutbox_ip_blocked'));
157 $this->_oDb->deleteMessagesByIp($sObject, $iHandler, $aMessageInfo[
'IP']);
160 $sCallBackMessage =
_t(
'_ch_shoutbox_access_denied');
163 echo $sCallBackMessage;
176 $sCallBackMessage =
'';
177 $iMessageId = (int)$iMessageId;
181 $this->iMemberId) && $iMessageId > 0
183 if ($this->_oDb->deleteMessage($sObject, $iHandler, $iMessageId)) {
186 $sCallBackMessage =
_t(
'_Error Occured');
189 $sCallBackMessage =
_t(
'_ch_shoutbox_access_denied');
192 echo $sCallBackMessage;
205 $iLastMessageId = (int)$iLastMessageId;
206 $aRetArray = array();
210 $iLastMessageId = $this->_oDb->getLastMessageId($sObject, $iHandler);
213 'messages' => $sMessages,
214 'last_message_id' => $iLastMessageId,
218 echo json_encode($aRetArray);
231 header(
'location: ' . CH_WSB_URL_ROOT);
234 $aLanguageKeys = array(
235 'settings' =>
_t(
'_ch_shoutbox_settings'),
239 $iId = $this->_oDb->getSettingsCategory(
'shoutbox_update_time');
246 if (isset($_POST[
'save']) && isset($_POST[
'cat'])) {
248 $mixedResult =
$oSettings->saveChanges($_POST);
254 if ($mixedResult !==
true && !
empty($mixedResult)) {
259 ->parseHtmlByName(
'design_box_content.html', array(
'content' =>
$sResult));
262 $this->_oTemplate->pageCodeAdminStart();
263 echo $this->_oTemplate->adminBlock(
$sContent, $aLanguageKeys[
'settings']);
264 $this->_oTemplate->pageCodeAdmin(
_t(
'_ch_shoutbox_module'));
276 $sObject =
'ch_shoutbox';
279 echo $this->_oTemplate->getShoutboxWindow($sObject, $iHandler, $this->sPathToModule
280 , $this->_oDb->getLastMessageId($sObject, $iHandler), $this->_getLastMessages($sObject, $iHandler));
295 $this->_oDb->deleteMessagesByProfile((
int)
$iProfileId);
305 $aModules = $sModuleUri ==
'all' ? $this->_oDb->getModules() : array($this->_oDb->getModuleByUri($sModuleUri));
317 $this->_oDb->insertData($aData);
319 $this->_oDb->deleteData($aData);
323 $this->_oDb->clearShoutboxObjectsCache();
336 return $this->_oTemplate->getProcessedMessages($this->_oDb->getMessages($sObject, $iHandler, $iLastId)
337 , $this->isShoutBoxDeleteAllowed($sObject, $iHandler, $this->iMemberId)
338 , $this->isShoutBoxBlockIpAllowed($sObject, $iHandler, $this->iMemberId));
349 array(
'shoutbox use',
'shoutbox delete messages',
'shoutbox block by ip')
366 if ($this->_aObjects[$sObject][
'code_allow_use']) {
368 $this->_aObjects[$sObject][
'code_allow_use']);
371 if (!defined(
'CH_SHOUTBOX_USE')) {
393 if ($this->_aObjects[$sObject][
'code_allow_delete']) {
395 $this->_aObjects[$sObject][
'code_allow_delete']);
398 if (!defined(
'CH_SHOUTBOX_DELETE_MESSAGES')) {
420 if ($this->_aObjects[$sObject][
'code_allow_block']) {
422 $this->_aObjects[$sObject][
'code_allow_block']);
426 if (!defined(
'CH_SHOUTBOX_BLOCK_BY_IP')) {
437 $iHandler = (int)$iHandler;
439 return isset($this->_aObjects[$sObject]);