generateHash() public static méthode

public static generateHash ( )
 public function __get($var)
 {
     switch ($var) {
         case 'chat':
             $this->chat = false;
             if ($this->chat_id > 0) {
                 try {
                     $this->chat = erLhcoreClassModelChat::fetch($this->chat_id);
                 } catch (Exception $e) {
                     erLhcoreClassChatbox::getSession()->delete($this);
                 }
             } else {
                 $this->chat = new erLhcoreClassModelChat();
                 $this->chat->hash = erLhcoreClassChat::generateHash();
             }
             return $this->chat;
             break;
         default:
             break;
     }
 }
 if ($form->hasValidData('DepartamentID') && erLhcoreClassModelDepartament::getCount(array('filter' => array('id' => $form->DepartamentID, 'disabled' => 0))) > 0) {
     $inputData->departament_id = $chat->dep_id = $form->DepartamentID;
 } elseif ($chat->dep_id == 0 || erLhcoreClassModelDepartament::getCount(array('filter' => array('id' => $chat->dep_id, 'disabled' => 0))) == 0) {
     $departments = erLhcoreClassModelDepartament::getList(array('limit' => 1, 'filter' => array('disabled' => 0)));
     if (!empty($departments)) {
         $department = array_shift($departments);
         $chat->dep_id = $department->id;
     } else {
         $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('chat/startchat', 'Could not determine a default department!');
     }
 }
 if (count($Errors) == 0) {
     $chat->time = time();
     $chat->status = 0;
     $chat->setIP();
     $chat->hash = erLhcoreClassChat::generateHash();
     $chat->referrer = isset($_POST['URLRefer']) ? $_POST['URLRefer'] : '';
     $chat->session_referrer = isset($_POST['r']) ? $_POST['r'] : '';
     if ($chat->nick == '') {
         $chat->nick = erTranslationClassLhTranslation::getInstance()->getTranslation('chat/startchat', 'Visitor');
     }
     erLhcoreClassModelChat::detectLocation($chat);
     $chat->priority = is_numeric($Params['user_parameters_unordered']['priority']) ? (int) $Params['user_parameters_unordered']['priority'] : $chat->department->priority;
     $chat->chat_initiator = erLhcoreClassModelChat::CHAT_INITIATOR_PROACTIVE;
     // Store chat
     erLhcoreClassChat::getSession()->save($chat);
     // Mark as user has read message from operator.
     $userInstance->message_seen = 1;
     $userInstance->message_seen_ts = time();
     $userInstance->chat_id = $chat->id;
     $userInstance->saveThis();
<div class="form-group">
<label class="inline"><?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('chatbox/generalsettings', 'Auto creation by chatbox identifier is enabled');
?>
 <input type="checkbox" name="AutoCreation" value="1" <?php 
isset($chatbox_data['chatbox_auto_enabled']) && $chatbox_data['chatbox_auto_enabled'] == '1' ? print 'checked="checked"' : '';
?>
 /></label>
</div>

<div class="form-group">
<label><?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('chatbox/generalsettings', 'Secret hash, this is used when auto creation is disabled');
?>
, <a href="http://livehelperchat.com/documentation-6c.html"><?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('chatbox/generalsettings', 'more information on how to use it');
?>
</a></label>
<input class="form-control" type="text" name="SecretHash" value="<?php 
isset($chatbox_data['chatbox_secret_hash']) && $chatbox_data['chatbox_secret_hash'] != '' ? print $chatbox_data['chatbox_secret_hash'] : (print erLhcoreClassChat::generateHash());
?>
" />
</div>

<input type="submit" class="btn btn-default" name="StoreChatboxSettings" value="<?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('system/buttons', 'Save');
?>
" />

</form>
?>
 /></label>
    </div>

    <div class="form-group">
        <label class="inline"><?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('paidchat/settings', 'User can not access old chat if chat is closed');
?>
 <input type="checkbox" name="ClosedReadDenied" value="1" <?php 
isset($paidchat_data['paidchat_read_denied']) && $paidchat_data['paidchat_read_denied'] == '1' ? print 'checked="checked"' : '';
?>
 /></label>
    </div>

    <div class="form-group">
        <label><?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('paidchat/settings', 'Secret hash, used for verification');
?>
</label>
        <input class="form-control" type="text" name="SecretHash" value="<?php 
isset($paidchat_data['paidchat_secret_hash']) && $paidchat_data['paidchat_secret_hash'] != '' ? print $paidchat_data['paidchat_secret_hash'] : (print erLhcoreClassChat::generateHash());
?>
" />
    </div>

    <input type="submit" class="btn btn-default" name="StoreChatboxSettings" value="<?php 
echo erTranslationClassLhTranslation::getInstance()->getTranslation('system/buttons', 'Save');
?>
" />

</form>
 /**
  * Gets pending chats
  */
 public static function getInstance($identifier = 'default', $chathash = '')
 {
     if ($identifier == '' || $identifier == 'default') {
         $identifier = 'default';
         $items = self::getList(array('filter' => array('identifier' => $identifier)));
         if (empty($items)) {
             $chatboxData = erLhcoreClassModelChatConfig::fetch('chatbox_data');
             $data = (array) $chatboxData->data;
             $chatbox = new erLhcoreClassModelChatbox();
             $chatbox->identifier = $identifier;
             $chatbox->name = $data['chatbox_default_name'];
             $chat = new erLhcoreClassModelChat();
             $chat->status = erLhcoreClassModelChat::STATUS_CHATBOX_CHAT;
             $chat->time = time();
             $chat->setIP();
             $chat->hash = erLhcoreClassChat::generateHash();
             $chat->nick = $data['chatbox_default_opname'];
             $chat->referrer = isset($_GET['URLReferer']) ? $_GET['URLReferer'] : '';
             // Assign default department
             $departments = erLhcoreClassModelDepartament::getList(array('filter' => array('disabled' => 0)));
             $ids = array_keys($departments);
             $id = array_shift($ids);
             $chat->dep_id = $id;
             // Store chat
             erLhcoreClassChat::getSession()->save($chat);
             $chatbox->chat_id = $chat->id;
             $chatbox->saveThis();
             return $chatbox;
         } else {
             return array_shift($items);
         }
     } else {
         $chatboxData = erLhcoreClassModelChatConfig::fetch('chatbox_data');
         $data = (array) $chatboxData->data;
         $canCreate = $data['chatbox_auto_enabled'] == 1 ? true : false;
         if ($canCreate == false) {
             if (sha1($data['chatbox_secret_hash'] . sha1($data['chatbox_secret_hash'] . $identifier)) == $chathash) {
                 $canCreate = true;
             }
         }
         if ($canCreate == true) {
             $items = self::getList(array('filter' => array('identifier' => $identifier)));
             if (empty($items)) {
                 $chatbox = new erLhcoreClassModelChatbox();
                 $chatbox->identifier = $identifier;
                 $chatbox->name = $data['chatbox_default_name'];
                 $chat = new erLhcoreClassModelChat();
                 $chat->status = erLhcoreClassModelChat::STATUS_CHATBOX_CHAT;
                 $chat->time = time();
                 $chat->setIP();
                 $chat->hash = erLhcoreClassChat::generateHash();
                 $chat->nick = $data['chatbox_default_opname'];
                 $chat->referrer = isset($_GET['URLReferer']) ? $_GET['URLReferer'] : '';
                 // Assign default department
                 $departments = erLhcoreClassModelDepartament::getList();
                 $ids = array_keys($departments);
                 $id = array_shift($ids);
                 $chat->dep_id = $id;
                 // Store chat
                 erLhcoreClassChat::getSession()->save($chat);
                 $chatbox->chat_id = $chat->id;
                 $chatbox->saveThis();
                 return $chatbox;
             } else {
                 return array_shift($items);
             }
         } else {
             $items = self::getList(array('filter' => array('identifier' => $identifier)));
             if (!empty($items)) {
                 return array_shift($items);
             }
         }
         return false;
     }
 }
Exemple #6
0
<?php

echo json_encode(array('hash' => erLhcoreClassChat::generateHash()));
exit;