Exemple #1
0
 public function __construct($REQUEST, $model, $view)
 {
     $UI = \CORE\UI::init();
     switch ($REQUEST->get('act')) {
         case 'add':
             $model->create();
             break;
         case 'get':
             $model->get();
             break;
         case 'update':
             $model->update();
             break;
         case 'del':
             $model->delete();
             break;
         default:
             $UI->pos['main'] .= $view->main($model);
             break;
     }
     if (\CORE::init()->is_ajax()) {
         \DB::init()->close();
         exit;
     }
 }
Exemple #2
0
 function __construct()
 {
     list($args) = CORE::$args;
     self::$m_id = SESS::get('m_id');
     self::$temp = CORE::$temp_main;
     CRUMBS::fetch('feedback');
     SEO::load('feedback');
     if (empty(SEO::$data["h1"])) {
         SEO::$data["h1"] = CORE::$lang['feedback'];
     }
     SEO::output();
     switch ($args) {
         case "thankyou":
             new RESPONSE('feedback', CORE::$lang['feedbackThanks']);
             break;
         case "list":
             # 顯示反饋
             self::$temp["MAIN"] = 'ogs-feedback-list-tpl.html';
             self::row();
             break;
         case "add":
             # 執行增加反饋
             self::$temp["MAIN"] = CORE::$temp_option["MSG"];
             self::add();
             break;
         default:
             self::$temp["MAIN"] = 'ogs-feedback-tpl.html';
             break;
     }
     CORE::common_resource();
     new VIEW(CORE::$temp_option["HULL"], self::$temp, false, false);
 }
Exemple #3
0
 public function __construct($REQUEST, $model, $view)
 {
     switch ($REQUEST->get('act')) {
         case 'login':
             $login = '';
             $password = '';
             if (isset($_POST['login']) && isset($_POST['password'])) {
                 $login = trim($_POST['login']);
                 $password = trim($_POST['password']);
             }
             if ($login != '' && $password != '') {
                 $model->login($login, $password);
             } else {
                 \CORE::msg('error', 'Empty username or password');
             }
             break;
         case 'logout':
             $model->logout();
             break;
         case 'profile':
             $view->profile($model);
             break;
         case 'manage':
             $view->manage_users($model);
             break;
         case 'groups':
             $view->manage_groups($model);
             break;
     }
 }
Exemple #4
0
 public function get_mt($type = 0)
 {
     $lang = \CORE::lng();
     $mt = array();
     $DB = \DB::init();
     $type = $this->selected_type;
     if ($DB->connect()) {
         if ($type > 0) {
             $sql = "SELECT * FROM `mt` WHERE `mt-type`=:type ORDER BY `mt-name-" . $lang . "`;";
             $sth = $DB->dbh->prepare($sql);
             $sth->execute(array('type' => $type));
         } else {
             $sql = "SELECT * FROM `mt` ORDER BY `mt-type`,`mt-name-" . $lang . "`;";
             $sth = $DB->dbh->prepare($sql);
             $sth->execute();
         }
         $DB->query_count();
         if ($sth->rowCount() > 0) {
             while ($r = $sth->fetch()) {
                 $mt[$r['mt-id']] = $r;
             }
         }
     }
     return $mt;
 }
Exemple #5
0
 function __construct($func = false, $title = false, $custom = false)
 {
     self::$temp = CORE::$temp_main;
     self::$temp['MAIN'] = 'ogs-response-tpl.html';
     $tplPath = CORE::$temp . self::$temp['MAIN'];
     file_put_contents($tplPath, SYSTEM::$setting['response']);
     switch ($func) {
         case "feedback":
             VIEW::assignGlobal(array('SEO_H1' => !empty($title) ? $title : '感謝您的評價'));
             break;
         case "contact":
             VIEW::assignGlobal(array('SEO_H1' => !empty($title) ? $title : '感謝您的留言'));
             break;
     }
     if (is_array($custom)) {
         VIEW::assignGlobal($custom);
     }
     $msg = SESS::get('msg');
     if (empty($msg)) {
         header('location: ' . CORE::$root . $func . '/');
         exit;
     }
     SESS::del('msg');
     if (is_array($msg)) {
         $output['TAG_NAME'] = CORE::fetchName(array($msg['lastName'], $msg['firstName']), 'call', $msg['gender']);
         foreach ($msg as $field => $var) {
             $output['TAG_' . strtoupper($field)] = $var;
         }
     } else {
         $output['TAG_MSG'] = $msg;
     }
     VIEW::assignGlobal($output);
     CORE::common_resource();
     new VIEW(CORE::$temp_option["HULL"], self::$temp, false, false);
 }
Exemple #6
0
 function __construct()
 {
     self::$base = ROOT_PATH;
     self::$slash = DIRECTORY_SEPARATOR;
     self::$cfg = (include ROOT_PATH . "config/basic.php");
     self::autoInclude();
     #self::$msg = include(ROOT_PATH."config/lang-{self::$root}.php");
     new ROUTER();
 }
Exemple #7
0
 public function km1($model)
 {
     $result = '';
     $path = DIR_APP . '/forms/km1_' . \CORE::init()->lng() . '.php';
     if (is_readable($path)) {
         $result = file_get_contents($path);
     }
     return $result;
 }
Exemple #8
0
 public static function notFound()
 {
     CORE::common_resource();
     SEO::load('nofound');
     SEO::output();
     VIEW::assignGlobal('SEO_H1', empty(SEO::$data['h1']) ? '404 not found' : SEO::$data['h1']);
     $temp = CORE::$temp_main;
     $temp["MAIN"] = 'ogs-fn-404-tpl.html';
     new VIEW(CORE::$temp_option["HULL"], $temp, false, false);
 }
Exemple #9
0
 function __construct()
 {
     list($args) = CORE::$args;
     self::$temp = CORE::$temp_main;
     self::$id = SEO::origin('intro', $args);
     self::$temp["MAIN"] = 'ogs-intro-tpl.html';
     self::row();
     self::nav();
     CORE::common_resource();
     CORE::res_init('about/data', 'css');
     new VIEW(CORE::$temp_option["HULL"], self::$temp, false, false);
 }
Exemple #10
0
 private static function row()
 {
     CORE::res_init('fix', 'css');
     if (!empty(self::$cate)) {
         $rsnum = CRUD::dataFetch('gallery', array('parent' => self::$cate, 'status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     } else {
         $rsnum = CRUD::dataFetch('gallery', array('status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     }
     if (!empty($rsnum)) {
         #VIEW::newBlock("TAG_GALLERY_BLOCK");
         $dataRow = CRUD::$data;
         foreach ($dataRow as $key => $row) {
             VIEW::newBlock("TAG_GALLERY_LIST");
             foreach ($row as $field => $var) {
                 switch ($field) {
                     case "dirpath":
                         #list($var) = self::dirLoad($var,1);
                         break;
                     case "content":
                         $strLength = 30;
                         $var = mb_strlen(strip_tags($var)) > $strLength ? mb_substr(strip_tags($var), 0, $strLength, 'UTF-8') . '...' : $var;
                         break;
                 }
                 $output["VALUE_" . strtoupper($field)] = $var;
             }
             IMAGES::load('gallery', $row['id']);
             list($image) = IMAGES::$data;
             $output['VALUE_IMAGE'] = $image['path'];
             $output['VALUE_LINK'] = self::dataLink($row["parent"], $row);
             VIEW::assign($output);
         }
         # SEO
         $cate_rsnum = CRUD::dataFetch('gallery_cate', array('id' => self::$cate));
         if (!empty($cate_rsnum)) {
             list($cate_row) = CRUD::$data;
             SEO::load($cate_row["seo_id"]);
             if (empty(SEO::$data["h1"])) {
                 SEO::$data["h1"] = $cate_row["subject"];
             }
         } else {
             SEO::load('gallery');
             if (empty(SEO::$data["h1"])) {
                 SEO::$data["h1"] = CORE::$lang["gallery"];
             }
         }
         SEO::output();
         CRUMBS::fetch('gallery', $cate_row);
     } else {
         VIEW::newBlock("TAG_NONE");
     }
 }
Exemple #11
0
 private static function row()
 {
     CORE::res_init('fix', 'css');
     if (!empty(self::$cate)) {
         $rsnum = CRUD::dataFetch('news', array('parent' => self::$cate, 'status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     } else {
         $rsnum = CRUD::dataFetch('news', array('status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     }
     if (!empty($rsnum)) {
         #VIEW::newBlock("TAG_NEWS_BLOCK");
         $dataRow = CRUD::$data;
         SCHEMA::make('news_list', $dataRow);
         foreach ($dataRow as $key => $row) {
             VIEW::newBlock("TAG_NEWS_LIST");
             foreach ($row as $field => $var) {
                 switch ($field) {
                     case "showdate":
                         VIEW::assign("VALUE_" . strtoupper($field), date("Y.m.d", strtotime($var)));
                         break;
                     default:
                         VIEW::assign("VALUE_" . strtoupper($field), $var);
                         break;
                 }
             }
             IMAGES::load('news', $row["id"]);
             list($images) = IMAGES::$data;
             VIEW::assign(array("VALUE_LINK" => self::dataLink($row["parent"], $row), "VALUE_IMAGE" => $images["path"], "VALUE_ALT" => $images["alt"], "VALUE_TITLE" => $images["title"]));
         }
         # SEO
         $cate_rsnum = CRUD::dataFetch('news_cate', array('id' => self::$cate));
         if (!empty($cate_rsnum)) {
             list($cate_row) = CRUD::$data;
             SEO::load($cate_row["seo_id"]);
             if (empty(SEO::$data["h1"])) {
                 SEO::$data["h1"] = $cate_row["subject"];
             }
         } else {
             SEO::load('news');
             if (empty(SEO::$data["h1"])) {
                 SEO::$data["h1"] = CORE::$lang["news"];
             }
         }
         SEO::output();
         CRUMBS::fetch('news', $cate_row);
     } else {
         VIEW::newBlock("TAG_NONE");
     }
 }
Exemple #12
0
 private static function delete($id)
 {
     $rs = CRUD::dataDel('feedback', array('id' => $id));
     if (!empty(DB::$error)) {
         $msg = DB::$error;
         $path = CORE::$manage . 'feedback/';
     }
     if (!$rs) {
         $msg = self::$lang["del_error"];
         $path = CORE::$manage . 'feedback/';
     } else {
         $msg = self::$lang["del_done"];
         $path = CORE::$manage . 'feedback/';
     }
     CORE::msg($msg, $path);
 }
Exemple #13
0
 public function __construct($REQUEST, $model, $view)
 {
     $UI = \CORE\UI::init();
     switch ($REQUEST->get('act')) {
         case 'km1':
             $UI->pos['main'] .= $view->km1($model);
             break;
         default:
             $UI->pos['main'] .= $view->main($model);
             break;
     }
     if (\CORE::init()->is_ajax()) {
         \DB::init()->close();
         exit;
     }
 }
Exemple #14
0
 public function __construct($REQUEST, $model, $view)
 {
     switch ($REQUEST->get('act')) {
         case 'login':
             $model->login();
             break;
         case 'logout':
             $model->logout();
             break;
         case 'profile':
             $view->profile($model);
             break;
         case 'change_password':
             $UI = \CORE\BC\UI::init();
             $UI->pos['main'] .= $view->change_pwd();
             break;
         case 'passwd':
             $model->passwd();
             break;
         case 'manage':
             if (isset($_GET['do'])) {
                 switch ($_GET['do']) {
                     case 'add':
                         $model->add();
                         break;
                     case 'edit':
                         $model->edit();
                         break;
                     case 'update':
                         $model->update();
                         break;
                     case 'del':
                         $model->del();
                         break;
                 }
             } else {
                 $UI = \CORE\BC\UI::init();
                 $UI->pos['main'] .= $view->manage($model);
             }
             break;
     }
     if (\CORE::init()->is_ajax()) {
         \DB::init()->close();
         exit;
     }
 }
Exemple #15
0
 private function __construct()
 {
     $uid = \SESSION::get('uid');
     if ($uid != '') {
         $this->uid = (int) $uid;
         if ($this->uid > 0) {
             $gid = \SESSION::get('gid');
             if ($gid != '') {
                 $this->gid = (int) $gid;
             }
             $pid = \SESSION::get('pid');
             if ($pid != '') {
                 $this->pid = (int) $pid;
             }
             $user = \SESSION::get('user');
             if ($user != '') {
                 $this->username = $user;
             }
         }
     }
     \CORE::msg('debug', 'user (uid:' . $this->uid . '; gid:' . $this->gid . ';)');
 }
Exemple #16
0
 private static function replace()
 {
     CHECK::is_array_exist($_POST["id"]);
     if (CHECK::is_pass()) {
         $fieldArray = array('origin', 'target', 'status', 'id');
         foreach ($_POST["id"] as $key => $ID) {
             unset($args);
             foreach ($fieldArray as $field) {
                 switch ($field) {
                     case "origin":
                         $var = preg_replace('/(http:\\/\\/|https:\\/\\/)([^\\/]+)(.*)/si', '$1' . CORE::$cfg['url'] . '$3', $_POST[$field][$key]);
                         break;
                     default:
                         $var = $_POST[$field][$key];
                         break;
                 }
                 $args[$field] = $var;
             }
             if (urlencode($args['origin']) == urlencode($args['target'])) {
                 continue;
             }
             if (empty($ID)) {
                 unset($args['id']);
                 CRUD::dataInsert('rewrite', $args);
             } else {
                 CRUD::dataUpdate('rewrite', $args);
             }
             if (!empty(DB::$error)) {
                 $msg = DB::$error;
             } else {
                 $msg = self::$lang["modify_done"];
             }
         }
     } else {
         $msg = CHECK::$alert;
     }
     CORE::msg($msg, CORE::$manage . 'rewrite/');
 }
Exemple #17
0
 private static function row()
 {
     CORE::res_init('fix', 'css');
     $rsnum = CRUD::dataFetch('products_cate', array('parent' => self::$cate, 'status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     if (!empty($rsnum)) {
         #VIEW::newBlock("TAG_PRODUCTS_CATE_BLOCK");
         $dataRow = CRUD::$data;
         foreach ($dataRow as $key => $row) {
             VIEW::newBlock("TAG_PRODUCTS_CATE_LIST");
             foreach ($row as $field => $var) {
                 switch ($field) {
                     default:
                         VIEW::assign("VALUE_" . strtoupper($field), $var);
                         break;
                 }
             }
             IMAGES::load('products_cate', $row["id"]);
             list($images) = IMAGES::$data;
             VIEW::assign(array("VALUE_LINK" => self::dataLink($row["parent"]), "VALUE_IMAGE" => $images["path"], "VALUE_ALT" => $images["alt"], "VALUE_TITLE" => $images["title"]));
         }
         SEO::output();
     } else {
         if (!self::itemRow()) {
             VIEW::newBlock("TAG_NONE");
         }
     }
     # SEO
     $cate_rsnum = CRUD::dataFetch('products_cate', array('id' => self::$cate));
     if (!empty($cate_rsnum)) {
         list($cate_row) = CRUD::$data;
         SEO::load($cate_row["seo_id"]);
         if (empty(SEO::$data["h1"])) {
             SEO::$data["h1"] = $cate_row["subject"];
         }
         SEO::output();
     }
     CRUMBS::fetch('products', $cate_row);
 }
Exemple #18
0
 function __construct()
 {
     $smtp = CORE::$cfg['smtp'];
     CORE::summon(__FILE__);
     self::$call = new PHPMailer();
     self::$call->IsSMTP();
     self::$call->SMTPAuth = true;
     self::$call->SMTPSecure = "ssl";
     # 設定 SSL 連線
     self::$call->Host = $smtp['host'];
     # 主機位置
     self::$call->Port = $smtp['port'];
     # Gmail 是 465
     # 信件內容的編碼方式
     self::$call->CharSet = "utf-8";
     # 信件處理的編碼方式
     self::$call->Encoding = "base64";
     # SMTP 驗證的使用者資訊
     self::$call->Username = $smtp['account'];
     # mail 帳號
     self::$call->Password = $smtp['pass'];
     # mail 密碼
 }
Exemple #19
0
 private static function del()
 {
     $id = array_shift(CORE::$args);
     CRUD::dataUpdate('order', array('del' => '1', 'id' => $id));
     if (!empty(DB::$error)) {
         CORE::msg(DB::$error, CORE::$manage . 'order/');
     } else {
         CORE::msg(self::$lang["del_done"], CORE::$manage . 'order/');
     }
 }
Exemple #20
0
    public function main($model)
    {
        $UI = \CORE\UI::init();
        $modules_list = $model->get_list_of_modules();
        $result = '<div>
	<h4>' . mb_convert_case(\CORE::t('translation', 'Translation'), MB_CASE_TITLE, "UTF-8") . ':</h4>
	' . \CORE::t('module', 'Модуль') . ': ' . $UI->html_list($modules_list, '', ' id="sel_module"', $model->sel_module) . '
	<!-- (Ҷҷ, Ӯӯ, Ққ, Ӣӣ, Ғғ, Ҳҳ) -->
	' . $UI::bootstrap_modal_btn('add_new_translation', 'new_translation', \CORE::t('new_translation', 'Новый перевод')) . '
	</div><br>';
        $translations = $model->get_translations($model->sel_module);
        $translations_counter = count($translations);
        // modal: new
        $new_translation_body = '
<div class="form-group">
	<label for="alias">Alias</label>
	<input type="text" class="form-control" id="alias" placeholder="short_latin_txt" style="width:200px;">
</div>
<div class="form-group">
	<label for="ru_txt">RU</label>
	<input type="text" class="form-control" id="ru_txt" placeholder="Перевод">
</div>
<div class="form-group">
	<label for="tj_txt">TJ</label>
	<input type="text" class="form-control" id="tj_txt" placeholder="Тарҷума"><br>
	<span class="text-muted">Ҷҷ, Ӯӯ, Ққ, Ӣӣ, Ғғ, Ҳҳ</span>
</div>
		';
        $result .= $UI::bootstrap_modal('new_translation', \CORE::t('new_translation', 'Новый перевод') . ':', '', $new_translation_body, 'create_new_translation', \CORE::t('add', 'Добавить'));
        $UI->pos['js'] .= '
<script>
$(document).ready(function() {

	function IsJsonString(str) {
    	try { JSON.parse(str); } catch(e) { return false; }
    	return true;
	}

	$("#sel_module").change(function(){
		window.location.href = "./?c=translation&sel_module=" + $(this).val();
	});

	$("#create_new_translation").click(function(e){
		e.preventDefault();
		var new_alias=$("#alias").val();
		var new_ru=$("#ru_txt").val();
		var new_tj=$("#tj_txt").val();
		$.post("./?c=translation&act=add&sel_module="+$("#sel_module").val()+"&ajax", {alias: new_alias, ru: new_ru, tj: new_tj}, function(data){
			if(data=="created"){
				location.reload();
			} else {
				alert("Error, check js log...");
				console.log(data);
			}
		});
	});

	$(".edit_translation").click(function(e){
		var get_module=$("#sel_module").val();
		var get_alias=$(this).parent("div").attr("id");
		$.post("./?c=translation&act=get&ajax", {module: get_module, alias: get_alias}, function(data){
			if(IsJsonString(data)){
				var obj = JSON.parse(data);
				$("#edit_module").val(obj.module);
				$("#edit_alias").val(obj.alias);
				$("#edit_ru_txt").val(obj.ru);
				$("#edit_tj_txt").val(obj.tj);
			} else {
				alert("Error, check js log...");
				console.log(data);
			}
		});
	});

	$("#update_translation").click(function(e){
		e.preventDefault();
		var edit_module=$("#edit_module").val();
		var edit_alias=$("#edit_alias").val();
		var edit_ru=$("#edit_ru_txt").val();
		var edit_tj=$("#edit_tj_txt").val();
		$.post("./?c=translation&act=update&ajax", {module: edit_module, alias: edit_alias, ru: edit_ru, tj: edit_tj}, function(data){
			if(data=="updated"){
				location.reload();
			} else {
				alert("Error, check js log...");
				console.log(data);
			}
		});
	});

	$(".del_translation").click(function(){
		var del_alias = $(this).parent("div").attr("id");
		if(confirm("' . \CORE::t('delete', 'Удалить') . '?")){
			$.post("./?c=translation&act=del&sel_module="+$("#sel_module").val()+"&ajax", {alias: del_alias}, function(data){
				if(data=="deleted"){
					location.reload();
				} else {
					alert("Error, check js log...");
					console.log(data);
				}
			});
		}
	});

});
</script>';
        if ($translations_counter > 0) {
            $result .= '
		<table class="table table-bordered table-hover" style="width:auto;">
		<thead>
		<tr>
		<th>№</th>
		<th>' . \CORE::t('alias', 'Псевдоним') . '</th>
		<th>RU</th>
		<th>TJ</th>
		<th class="text-center">' . \CORE::t('action', 'Действие') . '</th>
		</tr>
		</thead>
		<tbody>
		';
            $cnt = 0;
            foreach ($translations as $alias => $t_array) {
                $cnt++;
                $result .= '
			<tr>
			<td>' . $cnt . '</td>
			<td>' . $alias . '</td>
			<td>' . $t_array['ru'] . '</td>
			<td>' . $t_array['tj'] . '</td>
			<td>
			<div id="' . $alias . '" class="btn-group btn-group-xs">
				<button type="button" class="btn btn-default edit_translation" data-toggle="modal" data-target="#editModal">' . \CORE::t('edit', 'изменить') . '</button>
				<button type="button" class="btn btn-default del_translation">' . \CORE::t('delete', 'Удалить') . '</button>
			</div>
			</td>
			</tr>
			';
            }
            $result .= '</tbody>
		</table>
		<span class="text-muted">
		P.S. Example of using this in the code: CORE::t("alias","Default translation");
		</span>
		';
            // modal: edit
            $edit_translation_body = '
<div class="form-group">
	<label for="edit_module">' . \CORE::t('module', 'Модуль') . '</label>
	' . $UI->html_list($modules_list, '', ' id="edit_module" class="form-control" disabled', $model->sel_module) . '
</div>
<div class="form-group">
	<label for="edit_alias">' . \CORE::t('alias', 'Псевдоним') . '</label>
	<input type="text" class="form-control" id="edit_alias" placeholder="short_latin_txt" style="width:200px;" disabled>
</div>
<div class="form-group">
	<label for="edit_ru_txt">RU</label>
	<input type="text" class="form-control" id="edit_ru_txt" placeholder="Перевод">
</div>
<div class="form-group">
	<label for="edit_tj_txt">TJ</label>
	<input type="text" class="form-control" id="edit_tj_txt" placeholder="Тарҷума"><br>
	<span class="text-muted">Ҷҷ, Ӯӯ, Ққ, Ӣӣ, Ғғ, Ҳҳ</span>
</div>
		';
            $result .= $UI::bootstrap_modal('editModal', \CORE::t('edit', 'Редактирование') . ':', '', $edit_translation_body, 'update_translation', \CORE::t('update', 'Обновить'));
        } else {
            $result .= '<h4 class="text-danger">' . \CORE::t('no_translations_yet', 'Здесь пока нет переводов') . '</h4>';
        }
        return $result;
    }
<?php

include_once '../config.php';
include_once '../core.php';
$obj = new CORE();
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    $act = $_POST['act'];
    $return = "";
    if ($act == 'getfield') {
        $table = $_POST['table'];
        $fields = $obj->FetchTableField($table, array());
        $return = $obj->GenerateOptions($fields, array());
    }
    echo $return;
}
Exemple #22
0
 private static function replace()
 {
     CHECK::is_array_exist($_POST["id"]);
     if (CHECK::is_pass()) {
         $sql = DB::field(CORE::$prefix . '_stock_bind');
         while ($row = DB::fetch($sql)) {
             $field_array[] = $row["Field"];
         }
         foreach ($_POST["id"] as $key => $id) {
             $rsnum = CRUD::dataFetch('stock_cate');
             # 取得規格類別數量
             foreach ($field_array as $field) {
                 switch ($field) {
                     case "item":
                         for ($i = 0; $i < $rsnum; $i++) {
                             if ($_POST['item_' . $i][$key] !== 'null') {
                                 $item[$i] = $_POST['item_' . $i][$key];
                             }
                             if (empty($_POST["name"][$key])) {
                                 CRUD::dataFetch('stock_item', array('id' => $item[$i]));
                                 # 取得規格項目名稱
                                 if (!empty(CRUD::$data[0]["name"])) {
                                     $name[$i] = CRUD::$data[0]["name"];
                                 }
                             }
                         }
                         $args["item"] = json_encode($item);
                         $args["name"] = empty($_POST["name"][$key]) ? implode(" / ", $name) : $_POST["name"][$key];
                         break;
                     default:
                         $args[$field] = $_POST[$field][$key];
                         break;
                 }
             }
             $args["sort"] = $key;
             if (empty($id)) {
                 CRUD::dataInsert('stock_bind', $args);
             } else {
                 CRUD::dataUpdate('stock_bind', $args);
             }
             if (empty($key)) {
                 $p_id = $args["p_id"];
             }
             if (!empty(DB::$error)) {
                 CORE::msg(DB::$error, CORE::$manage . "stock/{$p_id}");
             }
         }
         CORE::msg(self::$lang["modify_done"], CORE::$manage . "stock/{$p_id}");
     } else {
         CORE::msg(self::$lang["no_args"], CORE::$manage . "stock/{$p_id}");
     }
 }
Exemple #23
0
 private static function finish()
 {
     self::car();
     #$account_check = CRUD::dataFetch('member',array('account' => $_POST["account"]));
     CHECK::is_must($_POST["name"], $_POST["tel"], $_POST["cell"], $_POST["add_name"], $_POST["add_tel"], $_POST["add_address"]);
     if (!empty($_POST["first"])) {
         # 未登入
         /*
         CHECK::is_email($_POST["account"]);
         CHECK::is_password($_POST["password"]);
         CHECK::is_same($_POST["password"],$_POST["match_password"]);
         
         $pass = CHECK::is_pass();
         
         if($pass && empty($account_check)){
         	$new_member_rs = self::new_member();
         }else{
         	CORE::msg(CORE::$lang["account_exist"].'或'.CORE::$lang["args_error"],CORE::$root);
         }
         */
     } else {
         # 已登入
         $pass = CHECK::is_pass();
     }
     if ($pass) {
         $serial = self::new_serial();
         #$email = (empty($_POST["first"]))?$_POST["email"]:$_POST["account"];
         $email = $_POST["email"];
         $name = $_POST["name"];
         $order = array('m_id' => self::$id, 'serial' => $serial, 'status' => !empty($_POST["first"]) ? 11 : 0, 'createdate' => date("Y-m-d H:i:s"), 'subtotal' => self::$subtotal, 'ship' => self::$ship, 'total' => self::$total, 'email' => $email);
         $order = array_merge($order, $_POST);
         CRUD::dataInsert('order', $order);
         $o_id = DB::get_id();
         if (empty(DB::$error)) {
             $cartRow = SESS::get('cart');
             foreach ($cartRow as $id => $cart) {
                 $item = array('serial' => $serial, 'p_id' => $cart["p_id"], 'name' => $cart["name"], 'amount' => $cart["amount"], 'price' => $cart["price"]);
                 CRUD::dataInsert('order_item', $item);
                 if (!empty(DB::$error)) {
                     break;
                 }
             }
         }
         if (empty(DB::$error)) {
             # 訂購確認信
             foreach ($order as $field => $var) {
                 VIEW::assignGlobal("VALUE_" . strtoupper($field), $var);
             }
             new VIEW('ogs-mail-cart-tpl.html', false, true, false);
             CORE::mail_handle(SYSTEM::$setting["email"], $email, VIEW::$output, CORE::$lang["cart_mail"], SYSTEM::$setting["name"]);
             CORE::mail_handle($email, SYSTEM::$setting["email"], VIEW::$output, CORE::$lang["cart_mail"], $name);
             # 會員認證信
             /*
             VIEW::assignGlobal('VALUE_VERIFY_PATH',self::$verify);
             new VIEW('ogs-mail-verify-tpl.html',false,true,false);
             CORE::mail_handle(SYSTEM::$setting["email"],$email,VIEW::$output,CORE::$lang["regist_mail"],SYSTEM::$setting["name"]);
             */
             SESS::del('cart');
             CORE::msg(CORE::$lang["cart_done"], CORE::$root . "member/order/{$o_id}/");
         } else {
             # 發生錯誤
             CORE::msg(DB::$error, CORE::$root);
         }
     } else {
         if (!$pass || empty($_POST["first"])) {
             CORE::msg(CHECK::$alert, CORE::$root);
         }
     }
 }
Exemple #24
0
 public function delete($alias = '')
 {
     if (isset($_POST['alias'])) {
         $alias = trim($_POST['alias']);
     }
     if ($alias != '') {
         $DB = \DB::init();
         if ($DB->connect()) {
             $sql = "DELETE FROM `mt-translation` WHERE `t-alias`=:alias AND `t-module`=:module;";
             $sth = $DB->dbh->prepare($sql);
             $sth->execute(array('alias' => $alias, 'module' => $this->sel_module));
             $DB->query_count();
             \CORE::msg('info', 'deleted');
         }
     }
 }
Exemple #25
0
 function __construct()
 {
     $this->modules = \CORE::init()->get_modules();
 }
Exemple #26
0
    public function main($model)
    {
        $result = '';
        $groups = $model->get_groups();
        $counter = count($groups);
        $UI = \CORE\UI::init();
        $result .= '<div>
	<h4>Groups: <span class="badge">' . $counter . '</span>&nbsp;
	' . $UI::bootstrap_modal_btn('ShowNewGroup', 'NewGroup', 'New group') . '
	</h4>
</div>
';
        $modal_body_new = '<div class="form-group">
	<label for="new_group">Group name</label>
	<input type="text" class="form-control" id="new_group" placeholder="">
</div>
';
        $result .= $UI::bootstrap_modal('NewGroup', 'New group', ' id="frm_NewGroup"', $modal_body_new, 'addGroup', 'Add');
        $modal_body_edit = '<div class="form-group">
	<input type="hidden" id="gid" value="0">
	<label for="edit_group">Group name</label>
	<input type="text" class="form-control" id="edit_group" placeholder="">
</div>
';
        $result .= $UI::bootstrap_modal('EditGroup', 'Edit group', ' id="frm_EditGroup"', $modal_body_edit, 'updateGroup', 'Update');
        if ($counter > 0) {
            $result .= '
<table class="table table-bordered table-hover" style="width:auto;">
<thead>
<tr>
<th>#</th>
<th>Group</th>
<th>gid</th>
<th class="text-center">ACTION</th>
</tr>
</thead>
<tbody>
';
            $cnt = 0;
            foreach ($groups as $gid => $group) {
                $cnt++;
                $result .= '
<tr>
	<td>' . $cnt . '</td>
	<td>' . $group . '</td>
	<td>' . $gid . '</td>
	<td>
	<div id="' . $gid . '" class="btn-group btn-group-xs">
		<button type="button" class="btn btn-default group_edit" data-toggle="modal" data-target="#EditGroup">edit</button>
		<button type="button" class="btn btn-default group_del">delete</button>
	</div>
	</td>
</tr>
';
            }
            $result .= '</tbody></table>';
        } else {
            $result .= '<div class="well">' . \CORE::init()->lang('norecdb', 'No records found in the database.') . '</div>';
        }
        $UI->pos['js'] .= '
<script type="text/javascript">
	$(document).ready(function(){

		// ADD

		function IsJsonString(str) {
	    	try { JSON.parse(str); } catch(e) { return false; }
	    	return true;
		}

		$("#NewGroup").on("shown.bs.modal", function() {
		    $("#new_group").focus();
		});

		$("#frm_NewGroup").submit(function(e){
			e.preventDefault();
		});

		$("#addGroup").click(function(){
			var new_group = $("#new_group").val();
			$.post("./?c=group&act=add&ajax=add", {newgroup:new_group}, function(data){
				if(data=="Group successfully added."){
					location.reload();
				} else {
					alert("Error. Check JS console log.");
					console.log(data);
				}
			});
		});

		// EDIT
		
		$("#EditGroup").on("shown.bs.modal", function() {
		    $("#edit_group").focus();
		});

		$("#frm_EditGroup").submit(function(e){
			e.preventDefault();
		});

		$("button.group_edit").click(function(){
			var xgid = $(this).parent("div").attr("id");
			$.post("./?c=group&act=edit&ajax", {gid:xgid}, function(data){
				if(IsJsonString(data)){
					var obj = JSON.parse(data);
					$("#gid").val(xgid);
					$("#edit_group").val(obj.group);					
				} else {
					alert("Error. Check JS console log.");
					console.log(data);
				}
			});
		});

		// UPDATE

		$("#updateGroup").click(function(){
			var edit_gid = $("#gid").val();
			var edit_group = $("#edit_group").val();
			$.post("./?c=group&act=update&ajax", {gid:edit_gid,group:edit_group}, function(data){
				if(data=="Group successfully updated."){
					location.reload();
				} else {
					alert("The operation failed. Check JS console log.");
					console.log(data);
				}
			});
		});

		// DEL

		$("button.group_del").click(function(){
			var del_gid = $(this).parent("div").attr("id");
			if(confirm("Delete this group?")){
				$.post("./?c=group&act=del&ajax", {gid:del_gid}, function(data){
					if(data=="Group successfully deleted."){
						location.reload();
					} else {
						alert("Error. Check JS console log.");
						console.log(data);
					}
				});
			}
		});

	});
</script>	
';
        return $result;
    }
Exemple #27
0
 public function del($gid = 0)
 {
     if ($gid == 0 && isset($_POST['gid'])) {
         $gid = (int) $_POST['gid'];
     } else {
         $gid = (int) $gid;
     }
     if ($gid > 0) {
         $DB = \DB::init();
         if ($DB->connect()) {
             if ($DB->del('n-groups', 'gp-gid', $gid)) {
                 \CORE::msg('info', 'Group successfully deleted.');
             } else {
                 \CORE::msg('error', 'Group was not deleted.');
             }
         }
     } else {
         \CORE::msg('error', 'Incorrect ID.');
     }
 }
Exemple #28
0
    public function main($model)
    {
        $lang = \CORE::lng();
        $UI = \CORE\UI::init();
        $result = '<div><h4>' . \CORE::t('mt', 'Образовательные учреждения') . ':</h4></div>';
        $mt = $model->get_mt();
        $mt_types = $model->get_mt_types();
        $mt_count = count($mt);
        $result .= '<p><strong>' . \CORE::t('filter', 'Фильтр') . ':</strong> ' . \CORE::t('types', 'Типы') . ' 
	' . $UI->html_list($mt_types, '', ' id="type"', $model->selected_type, '-- ' . \CORE::t('all', 'Все') . ' --') . '<p>';
        $result .= '<p>' . $UI->bootstrap_modal_btn('show_newModal', 'newModal', \CORE::t('add_mt', 'Добавить учреждение')) . '</p>';
        if ($mt_count > 0) {
            $geo = $model->get_geo_objects();
            $result .= '
<table class="table table-bordered table-hover" style="width:auto;">
	<thead>
	<tr>
	<th>№</th>
	<th>' . \CORE::t('type', 'Тип') . '</th>
	<th>' . \CORE::t('mt_name', 'Название учреждения') . '</th>
	<th>ID</th>
	<th>' . \CORE::t('geo', 'География') . '</th>
	<th>' . \CORE::t('address', 'Адрес') . '</th>
	<th class="text-center">' . \CORE::t('action', 'Действие') . '</th>
	</tr>
	</thead>
<tbody>
';
            $cnt = 0;
            foreach ($mt as $mt_id => $mt_val) {
                $cnt++;
                $mt_type = '';
                if (isset($mt_types[$mt_val['mt-type']])) {
                    $mt_type = $mt_types[$mt_val['mt-type']];
                }
                $mt_geo = '';
                if (isset($geo[$mt_val['mt-geo-id']])) {
                    $mt_geo = $geo[$mt_val['mt-geo-id']];
                }
                $result .= '
<tr>
<td>' . $cnt . '</td>
<td>' . $mt_type . '</td>
<td>' . $mt_val['mt-name-' . $lang] . '</td>
<td>' . $mt_id . '</td>
<td>' . $mt_geo . '</td>
<td>' . $mt_val['mt-address'] . '</td>
<td>
<div id="' . $mt_id . '" class="btn-group btn-group-xs">
	<button type="button" class="btn btn-default edit" data-toggle="modal" data-target="#editModal">' . \CORE::t('edit', 'изменить') . '</button>
	<button type="button" class="btn btn-default delete">' . \CORE::t('delete', 'удалить') . '</button>
</div>
</td>
</tr>
';
            }
            $result .= '</tbody>
		</table>
		';
        } else {
            \CORE::msg('info', \CORE::t('no_mt', 'В базе не найдены образовательные учреждения'));
        }
        $geo_info = '';
        $geo_list = $model->get_gid_geo_objects();
        if (count($geo_list) > 0) {
            // totdo !!! change for all groups - gid
            $geo_info = '
		<div class="form-group">
			<label for="new_geo">' . \CORE::t('location', 'Расположение') . '</label>
			' . $UI->html_list($geo_list, '', ' id="new_geo" class="form-control"') . '
		</div>';
        }
        $new_body = $geo_info . '
  <div class="form-group">
    <label for="new_type">' . \CORE::t('type', 'Тип') . '</label>
	' . $UI->html_list($mt_types, '', ' id="new_type" class="form-control"', $model->selected_type) . '
  </div>
  <div class="form-group">
    <label for="new_name_ru">' . \CORE::t('mt_name', 'Название учреждения') . ' (RU)</label>
    <input type="text" class="form-control" id="new_name_ru" placeholder="Название">
  </div>
  <div class="form-group">
    <label for="new_name_tj">' . \CORE::t('mt_name', 'Название учреждения') . ' (TJ)</label>
    <input type="text" class="form-control" id="new_name_tj" placeholder="Номи муассиса">
  </div>
  <div class="form-group">
    <label for="new_director">Директор</label>
    <input type="text" class="form-control" id="new_director" placeholder="Ф.И.О.">
  </div>
  <div class="form-group">
    <label for="new_address">' . \CORE::t('address', 'Адрес') . '</label>
    <input type="text" class="form-control" id="new_address" placeholder="' . \CORE::t('address', 'Адрес') . '">
  </div>
  <div class="form-group">
    <label for="new_phone">Телефон</label>
    <input type="text" class="form-control" id="new_phone" placeholder="">
  </div>
  <div class="form-group">
    <label for="new_mobile">' . \CORE::t('mobile', 'Мобильный') . '</label>
    <input type="text" class="form-control" id="new_mobile" placeholder="9XXXXXXXX">
  </div>
  <hr>
  <div class="form-group">
    <div class="row">
    	<div class="col-md-6">
    		<label for="new_geo_lat">Latitude</label>
    		<input type="text" class="form-control" id="new_geo_lat" placeholder="38.XXXXXXX">
    	</div>
    	<div class="col-md-6">
    		<label for="new_geo_lng">Longitude</label>
    		<input type="text" class="form-control" id="new_geo_lng" placeholder="68.XXXXXXX">
    	</div>
    </div>
  </div>
	';
        $result .= $UI->bootstrap_modal('newModal', \CORE::t('new_mt', 'Новое учреждение') . ':', '', $new_body, 'addNew', \CORE::t('add', 'Добавить'));
        $UI->pos['js'] .= '
<script>
$(document).ready(function() {

	$("#type").change(function(){
		var sel_type = $(this).val();
		if(sel_type>0){
			window.location.href="./?c=mt&type="+sel_type;
		} else {
			window.location.href="./?c=mt";
		}
	});

	$("#addNew").click(function(e){
		e.preventDefault();
		alert("add...");
	});

	$(".edit").click(function(){
		var edit_id = $(this).parent("div").attr("id");

	});

	$(".delete").click(function(){
		var del_id = $(this).parent("div").attr("id");
		if(confirm("' . \CORE::t('delete', "Удалить") . '?")){
			$.post("./?c=mt&act=del&ajax", {id: del_id}, function(data){
				if(data=="deleted"){
					location.reload();
				} else {
					alert("Error, check js log...");
					console.log(data);
				}
			});
		}
	});

});
</script>
	';
        return $result;
    }
Exemple #29
0
 function __call($function, $args)
 {
     CORE::call_function(self::$endClass, $function, $args);
 }
Exemple #30
0
<?php

require_once 'core.php';
if (!defined('init_engine')) {
    header('HTTP/1.0 404 not found');
    exit;
}
//setup the error handler
$ERRORS = new multipleErrors('CORE');
//Start the core
$CORE = new CORE();
########################
# Register Core Modules
try {
    //Basic Modules
    $CORE->register_Module('pagination', 'CORE');
    $CORE->register_Module('paginationType2', 'CORE');
    $CORE->register_Module('phpmailer', 'CORE');
    $CORE->register_Module('file.editor', 'CORE');
    $CORE->register_Module('promo.codes', 'CORE');
    //Server Modules
    $CORE->register_Module('columns', 'SERVER', $server_config['CORE']);
    $CORE->register_Module('account', 'SERVER', $server_config['CORE']);
    $CORE->register_Module('realm.stats', 'SERVER', $server_config['CORE']);
    $CORE->register_Module('character', 'SERVER', $server_config['CORE']);
    $CORE->register_Module('sendmail', 'SERVER', $server_config['CORE']);
} catch (Exception $e) {
    echo 'Caught exception: ', $e->getMessage(), "\n";
}
//open database connection
$DB = $CORE->DatabaseConnection();