public static function GetInstance() { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance; }
function __construct() { // Get setting from registry $registry = TRegistry::GetInstance(); $this->extrenal_libs = 0; $this->minified_libs = 1; $this->template = $registry->GetValue(ROOT_SYSTEM, 'template'); }
public function Save($setting) { // error_reporting(0); $reg = TRegistry::GetInstance(); if ($reg->GetValue(ROOT_SYSTEM, $setting) === FALSE) { $reg->AddValue(ROOT_SYSTEM, $setting, serialize($_POST[$setting])); } else { $reg->SetValue(ROOT_SYSTEM, $setting, serialize($_POST[$setting])); } //echo serialize($_POST[$setting]); if (is_array($_FILES)) { foreach ($_FILES as $key => $value) { $fname = str_replace('__', '.', $key); move_uploaded_file($_FILES[$key]['tmp_name'], '../assets/images/' . $fname); } } GoBack(); }
/** * send new password * @input post data * @return mixed [0] 1:success | 2:login failed | 3:spamer [max|try|time] */ public function CheckEmail() { $registry = TRegistry::GetInstance(); $trylog = new TTryLog(); $time = $registry->GetValue(ROOT_SYSTEM, 'login_ignore_time'); // check login try $try = $trylog->Check(TRY_PASSWORD, $time); // get max try ; $max_try = $registry->GetValue(ROOT_SYSTEM, 'login_max_try'); // check is try more than max try if ($try <= $max_try) { // can login // log try $trylog->Log(TRY_PASSWORD); // check input length if (strlen($_POST['manager_username']) < 3 || empty($_POST['manager_email'])) { // take access $ret[0] = 2; return $ret; } $sql = "SELECT * FROM %table% WHERE \n manager_username = :username AND manager_email = :email ;"; $result = $this->db->Select($sql, array('manager'), array('type' => 'ss', ":username" => $_POST['manager_username'], ":email" => $_POST['manager_email'])); //manager access control init if (count($result) == 1) { //sending $ret['passwd'] = THash::SaltGenerator(8); // update last login $this->db->Update('manager', array('type' => 'i', "manager_password" => Password($ret['passwd'])), "manager_id = '{$result[0]['manager_id']}'"); $ret[0] = 1; return $ret; } else { //not send $ret[0] = 2; return $ret; } } else { // can't login $ret[0] = 3; $ret['max'] = $max_try; $ret['time'] = $time; // and show error return $ret; } }
/** * @todo Read record list from table * @param string $colums list of required colum in list * @return accotied array * @category general */ public function Read($colums, $limit = null, $table_name = null, $prefix = null) { if ($limit == null) { // set defualt limit $registry = TRegistry::GetInstance(); $limit = $registry->GetValue(ROOT_SYSTEM, 'record_list_limit'); } if ($table_name == null) { $table_name = 'comment'; } if ($prefix == null) { $prefix = 'comment_'; } if (isset($_GET['page'])) { $start = abs(intval($_GET['page'])); $start--; $start *= $limit; } else { $start = 0; } if (isset($_GET['order']) && strpos($colums, $_GET['order']) !== false) { $order = $_GET['order'] . ' ASC'; } else { $order = $prefix . 'id DESC'; } // if not have filter if (!isset($_GET['filter'])) { $sql = "SELECT {$colums}\r\n , m.member_name, f.manager_displayname , t.topic_title\r\n FROM " . DB_PREFIX . "comment c\r\n LEFT JOIN " . DB_PREFIX . "member m on m.member_id = c.comment_member_id\r\n LEFT JOIN " . DB_PREFIX . "topic t on t.topic_id = c.comment_topic_id\r\n LEFT JOIN " . DB_PREFIX . "manager f on f.manager_id = c.comment_member_id*-1 ORDER BY {$order} " . " LIMIT {$start},{$limit};"; //die($sql); $result = $this->db->Select($sql, array('comment')); } else { // else have filter apply fillter $filter = explode(',', $_GET['filter']); $sql = "SELECT {$colums}\r\n , m.member_name, f.manager_displayname , t.topic_title\r\n FROM " . DB_PREFIX . "comment c\r\n LEFT JOIN " . DB_PREFIX . "member m on m.member_id = c.comment_member_id\r\n LEFT JOIN " . DB_PREFIX . "topic t on t.topic_id = c.comment_topic_id\r\n LEFT JOIN " . DB_PREFIX . "manager f on f.manager_id = c.comment_member_id*-1 WHERE " . " {$filter[0]} = :{$filter[0]} ORDER BY {$order} " . " LIMIT {$start},{$limit};"; // die($sql); // get count $result = $this->db->Select($sql, array('comment'), array($filter[0] => $filter[1])); } return $result; }
$url = array(0 => 'index.php'); } require './libs/Smarty.class.php'; require './libs/TDatabasePDO.php'; $pdbc = new TModel('topic', 'topic_'); $model = new TModel('topic', 'topic_'); require_once './libs/TMagicFunctions.php'; require_once './inc/fnc.php'; $smarty = new Smarty(); $smarty->caching = 0; $smarty->template_dir = './soh3il/template/'; $smarty->compile_dir = './soh3il/compile/'; $smarty->config_dir = './soh3il/config/'; $smarty->cache_dir = './soh3il/cash/'; //$smarty->debugging = true; $reg = TRegistry::GetInstance(); $title = $reg->GetValue(ROOT_SYSTEM, 'title'); $footer = $reg->GetValue(ROOT_SYSTEM, 'footer'); $links = $reg->GetValue(ROOT_SYSTEM, 'links'); $smarty->assign('footer', $footer); $smarty->assign('links', $links); $cat = TCategory::GetInstance(); $smarty->assign('cat_list', $cat->CategoryUL()); $menu = new TDropDownMenu(); $tmp = $menu->DropDownUL(); $smarty->assign('menu', $tmp); $smarty->assign('memberz', GetCount('member')); $smarty->assign('likez', GetCount('relation', ' typ = 4 ')); $smarty->assign('frnz', GetCount('relation', ' typ = 5 ')); $smarty->assign('topiczz', GetCount('topic', ' topic_status > 0 ')); $smarty->assign('stopic', GetCount('topic', ' topic_status = 2 '));
global $database_handle; define('__MP__', FALSE); // include all required libs include_once '../tconstant.php'; include_once '../tconfig.php'; include_once '../libs/TDatabasePDO.php'; include_once '../libs/THash.php'; include_once '../libs/TFunction.php'; include_once '../libs/TRegistry.php'; function _hk() { } // try to connect with posted value that sure before write on config. try { $database_handle = new TDatabase(DB_TYPE, DB_HOST, DB_NAME, DB_USER, DB_PASSWORD); $reg = new TRegistry(); } catch (Exception $exc) { echo $exc->getTraceAsString(); die('<br /> We can connect to Database please check your input'); } // else install system $sqls = glob('./sql/*.sql'); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> Toos system install - Finalize</title> <link type="text/css" rel="stylesheet" href="assets/css/install.css" /> <link type="text/css" rel="stylesheet" href="../tcm/assets/css/element.css" /> <script type="text/javascript" src="../tcm/assets/js/jquery.min.js"></script>
/** * extension finalizer | run once on extension unstialling * @return boolean */ public static function Finalizer() { $registry = TRegistry::GetInstance(); $registry->RemoveValue(ROOT_EXTENSION, __CLASS__); return true; }
/** * system default by manager date * @param string $format * @param int $time_stamp * @return string */ public function SDate($format, $time_stamp = "now") { // Pre hook _hk('P' . ':' . __CLASS__ . ':' . __FUNCTION__, $this, $format, $time_stamp); // get registry value default system time $registry = TRegistry::GetInstance(); $type = $registry->GetValue(ROOT_SYSTEM, 'system_time_type') . 'Date'; $result = $this->{$type}($format, $time_stamp); // result hook _hk('R' . ':' . __CLASS__ . ':' . __FUNCTION__, $this, $result); return $result; }
/** * @todo give access with set values * @param array $UserDetails * @param bool $remenber */ public static function GiveAccess($user_details = array(), $remenber = FALSE) { // pre hook _hk('P' . ':' . __CLASS__ . ':' . __FUNCTION__, __CLASS__, $user_details, $remenber); self::SetSession('MN_ID', $user_details['manager_id']); self::SetSession('MN_TYPE', $user_details['manager_type']); self::SetSession('MN_UA', md5($_SERVER['HTTP_USER_AGENT'])); self::SetSession('MN_PR', explode(',', $user_details['manager_permission'])); self::SetSession('MN_LK', LOGIN_KEY); // set cookie if need if ($remenber) { // get registry value Reminber time how many min. $registry = TRegistry::GetInstance(); $min = $registry->GetValue(ROOT_SYSTEM, 'remenber_time'); self::SetCookie('MN_ID', $UserDetails['manager_id'], $min); self::SetCookie('MN_TYPE', $UserDetails['manager_type'], $min); self::SetCookie('MN_UA', md5($_SERVER['HTTP_USER_AGENT']), $min); self::SetCookie('MN_PR', explode(',', $user_details['manager_permission']), $min); self::SetCookie('MN_LK', LOGIN_KEY, $min); } }
public function GetPageCount($limit = null) { if ($limit == null) { // set defualt limit $registry = TRegistry::GetInstance(); $limit = $registry->GetValue(ROOT_SYSTEM, 'record_list_limit'); } $cond = '1'; // if not have filter if (!isset($_GET['filter'], $_GET['search'])) { $where = array(); } if (isset($_GET['filter'])) { $filter = explode(',', $_GET['filter']); // else have filter apply fillter $term = substr($filter[1], 1); // die($term); switch ($filter[1][0]) { case '<': $cond .= " AND {$filter[0]} < :{$filter[0]} "; break; case '>': $cond .= " AND {$filter[0]} > :{$filter[0]} "; break; case '%': $term = '%' . $term . '%'; $cond .= " AND {$filter[0]} LIKE :{$filter[0]} "; break; case '$': $term = '^.*' . $term . '.*$'; $cond .= " AND {$filter[0]} REGEXP :{$filter[0]} "; break; default: $term = $filter[1]; $cond .= " AND {$filter[0]} = :{$filter[0]} "; break; } $where[$filter[0]] = $term; } if (isset($_GET['search']) && $_GET['search'] != '') { $prf = 'AND ( '; foreach (explode(',', $_GET['fields']) as $col) { $term = '^.*' . $_GET['search'] . '.*$'; $cond .= " {$prf} {$col} REGEXP :{$col} "; $where[$col] = $term; $prf = 'OR'; } $cond .= ')'; } if (isset($_GET['rel'], $_GET['typ']) && $_GET['rel'] != 0) { $sql = "SELECT COUNT(*) AS 'count' \n FROM " . DB_PREFIX . $this->table_name . " as t LEFT JOIN " . DB_PREFIX . "relation r \n ON r.dst = t." . $this->prefix . "id WHERE r.typ = :t AND r.src = :s AND {$cond} "; $where[':s'] = $_GET['rel']; $where[':t'] = $_GET['typ']; } else { $sql = "SELECT COUNT(*) AS 'count' FROM %table% WHERE " . " {$cond} "; } // print_r($sql);die; // get count $result = $this->db->Select($sql, array($this->table_name), $where); $mod = $result[0]['count'] % $limit; // page count $result = floor($result[0]['count'] / $limit); // check mod and inc if ($mod > 0) { $result++; } return $result; }