. */ class modLog extends modCore { function __construct() { parent::__construct(); } public function createHTML() { $this->createHTMLList(); $this->tpl->addCSS('tabs.css', 'main'); $this->tpl->addTemplateData( $this->tpl_id, array( 'label_status' => sm_get_lang('log', 'status'), 'label_email' => sm_get_lang('log', 'email'), 'label_sms' => sm_get_lang('log', 'sms'), 'label_title' => sm_get_lang('log', 'title'), 'label_server' => sm_get_lang('servers', 'server'), 'label_type' => sm_get_lang('log', 'type'), 'label_message' => sm_get_lang('system', 'message'), 'label_date' => sm_get_lang('system', 'date'), 'label_users' => ucfirst(sm_get_lang('system', 'users')), ) ); return parent::createHTML(); } public function createHTMLList() { $this->tpl_id = 'log_list'; $this->tpl->newTemplate($this->tpl_id, 'log.tpl.html'); $entries = array(); $entries['status'] = $this->getEntries('status'); $entries['email'] = $this->getEntries('email'); $entries['sms'] = $this->getEntries('sms'); // get users $users = $this->db->select(SM_DB_PREFIX.'users', null, array('user_id','name')); $users_labels = array(); foreach ($users as $user) { $users_labels[$user['user_id']] = $user['name']; } foreach($entries as $key => $records) { $log_count = count($records); for ($x = 0; $x < $log_count; $x++) { $records[$x]['class'] = ($x & 1) ? 'odd' : 'even'; $records[$x]['users'] = ''; $records[$x]['server'] = $records[$x]['label'] . ' (' . $records[$x]['label_adv'] . ')'; // fix up user list if($records[$x]['user_id'] == '') continue; $users = explode(',', $records[$x]['user_id']); foreach($users as $user_id) { if((int) $user_id == 0 || !isset($users_labels[$user_id])) continue; $records[$x]['users'] .= '
'.$users_labels[$user_id]; } } // add entries to template $this->tpl->newTemplate('log_entries', 'log.tpl.html'); $this->tpl->addTemplateDataRepeat('log_entries', 'entries', $records); $this->tpl->addTemplateData( 'log_entries', array( 'logtitle' => $key, ) ); $this->tpl->addTemplateData( $this->tpl_id, array( 'content_' . $key => $this->tpl->getTemplate('log_entries'), ) ); } } public function getEntries($type) { $entries = $this->db->query( 'SELECT '. '`servers`.`label`, '. 'CONCAT_WS('. '\':\','. '`servers`.`ip`, '. '`servers`.`port`'. ') AS `label_adv`, '. '`log`.`type`, '. '`log`.`message`, '. 'DATE_FORMAT('. '`log`.`datetime`, '. '\'%H:%i:%s %d-%m-%y\''. ') AS `datetime_format`, '. '`user_id` '. 'FROM `'.SM_DB_PREFIX.'log` AS `log` '. 'JOIN `'.SM_DB_PREFIX.'servers` AS `servers` ON (`servers`.`server_id`=`log`.`server_id`) '. 'WHERE `log`.`type`=\''.$type.'\' '. 'ORDER BY `datetime` DESC '. 'LIMIT 0,20' ); return $entries; } } ?>