Пример #1
0
 public function registerVisitor()
 {
     $entryData = array('status' => iaCore::STATUS_ACTIVE, 'page' => IA_SELF, 'date' => date(iaDb::DATETIME_FORMAT));
     if (self::hasIdentity()) {
         $entryData['username'] = self::getIdentity()->username;
         $entryData['fullname'] = self::getIdentity()->fullname;
     } else {
         if (isset($_SERVER['HTTP_USER_AGENT'])) {
             $signatures = array('bot', 'spider', 'crawler', 'wget', 'curl', 'validator');
             foreach ($signatures as $signature) {
                 if (stripos($_SERVER['HTTP_USER_AGENT'], $signature) !== false) {
                     $entryData['is_bot'] = 1;
                     $entryData['fullname'] = $_SERVER['HTTP_USER_AGENT'];
                     break;
                 }
             }
         }
     }
     $sessionId = session_id();
     $iaDb =& $this->iaCore->iaDb;
     $iaDb->setTable('online');
     if ((int) $iaDb->one(iaDb::STMT_COUNT_ROWS, iaDb::convertIds($sessionId, 'session_id'))) {
         $iaDb->update($entryData, "`session_id` = '{$sessionId}'");
     } else {
         $entryData['session_id'] = $sessionId;
         $entryData['ip'] = iaUtil::getIp();
         $iaDb->insert($entryData);
     }
     $iaDb->resetTable();
 }
Пример #2
0
 public function registerVisitor()
 {
     $entryData = array('status' => iaCore::STATUS_ACTIVE, 'page' => IA_SELF);
     if (self::hasIdentity()) {
         $entryData['username'] = self::getIdentity()->username;
         $entryData['fullname'] = self::getIdentity()->fullname;
     } else {
         if (isset($_SERVER['HTTP_USER_AGENT'])) {
             $signatures = array('bot', 'spider', 'crawler', 'wget', 'curl', 'validator');
             foreach ($signatures as $signature) {
                 if (stripos($_SERVER['HTTP_USER_AGENT'], $signature) !== false) {
                     $entryData['is_bot'] = 1;
                     $entryData['fullname'] = $_SERVER['HTTP_USER_AGENT'];
                     break;
                 }
             }
         }
     }
     $sessionId = session_id();
     $iaDb =& $this->iaCore->iaDb;
     $iaDb->setTable('online');
     $count = (int) $iaDb->one(iaDb::STMT_COUNT_ROWS, iaDb::convertIds($sessionId, 'session_id'));
     $rawValues = array('date' => iaDb::FUNCTION_NOW);
     if ($count > 0) {
         $iaDb->update($entryData, "`session_id` = '{$sessionId}'", $rawValues);
     } else {
         $entryData['session_id'] = $sessionId;
         $entryData['ip'] = iaUtil::getIp();
         $iaDb->insert($entryData, $rawValues);
     }
     $iaDb->update(array('status' => 'expired'), '`date` < NOW() - INTERVAL 20 MINUTE');
     $iaDb->delete('`date` < NOW() - INTERVAL 2 DAY');
 }
     return;
 }
 $output = array('result' => false, 'message' => iaLanguage::get('unable_to_approve_listing'));
 if (!iaUsers::hasIdentity()) {
     $iaView->assign($output);
     return;
 }
 $iaItem = $iaCore->factory('item');
 $iaCore->factory('util');
 $itemName = $_POST['item'];
 $itemId = $_POST['id'];
 if ($packageName = $iaItem->getPackageByItem($itemName)) {
     $packageInstance = $iaCore->factoryPackage('item', $packageName, iaCore::FRONT, $itemName);
     $itemData = $packageInstance->getById($itemId);
     $itemUrl = $packageInstance->url('view', $itemData);
     $entry = array('date' => date(iaDb::DATETIME_FORMAT), 'ip' => iaUtil::getIp(), 'member_id' => iaUsers::getIdentity()->id, 'item' => $itemName, 'item_id' => $itemId, 'item_title' => $itemData['title'] ? $itemData['title'] : $itemData['venue_title'], 'item_url' => $itemUrl, 'type' => $_POST['type'], 'status' => 'pending', 'notes' => null);
     $message = null;
     switch ($_POST['type']) {
         case 'manual':
             $entry['name'] = empty($_POST['name']) ? null : $_POST['name'];
             $entry['email'] = empty($_POST['email']) ? null : $_POST['email'];
             $entry['phone'] = empty($_POST['phone']) ? null : $_POST['phone'];
             $entry['job_title'] = empty($_POST['job_title']) ? null : $_POST['job_title'];
             $message = iaLanguage::get('your_request_saved');
             break;
         case 'email':
             if (!$iaCore->get('cl_enable_email_approval')) {
                 return;
             }
             if (!empty($itemData['email'])) {
                 $key = iaUtil::generateToken();