Пример #1
0
 /**
  * แสดงผล
  *
  * @return string
  */
 public function render()
 {
     // อ่านข้อมูลสมาชิก
     $rs = Recordset::create('Index\\User\\Model');
     $user = $rs->where((int) $_SESSION['login']['id'])->first('id');
     $template = Template::create('member', 'member', 'password');
     $contents = array('/{ACCEPT}/' => Mime::getEccept(self::$cfg->user_icon_typies), '/{USER_ICON_TYPIES}/' => sprintf(Language::get('Upload a picture of %s resize automatically'), empty(self::$cfg->user_icon_typies) ? 'jpg' : implode(', ', self::$cfg->user_icon_typies)));
     // ข้อมูลฟอร์ม
     foreach ($user as $key => $value) {
         if ($key == 'sex') {
             $source = Language::get('SEXES');
             $datas = array();
             foreach ($source as $k => $v) {
                 $sel = $k == $value ? ' selected' : '';
                 $datas[] = '<option value="' . $k . '"' . $sel . '>' . $v . '</option>';
             }
             $contents['/{' . strtoupper($key) . '}/'] = implode('', $datas);
         } elseif ($key === 'subscrib') {
             $contents['/{' . strtoupper($key) . '}/'] = $value == 1 ? 'checked' : '';
         } elseif ($key === 'icon') {
             if (is_file(ROOT_PATH . self::$cfg->usericon_folder . $value)) {
                 $icon = WEB_URL . self::$cfg->usericon_folder . $value;
             } else {
                 $icon = WEB_URL . 'skin/img/noicon.jpg';
             }
             $contents['/{ICON}/'] = $icon;
         } else {
             $contents['/{' . strtoupper($key) . '}/'] = $value;
         }
     }
     $template->add($contents);
     return $template->render();
 }
 /**
  * แสดงผล
  *
  * @return string
  */
 public function render()
 {
     $template = Template::create('', '', '404');
     $message = Language::get('Sorry, cannot find a page called Please check the URL or try the call again.');
     $template->add(array('/{TOPIC}/' => $message, '/{DETAIL}/' => $message));
     return (object) array('topic' => $message, 'detail' => $template->render(), 'description' => $message, 'keywords' => $message, 'module' => '404', 'owner' => 'index');
 }
Пример #3
0
 public function render()
 {
     // form
     $form = Html::create('form', array('id' => 'forgot_frm', 'class' => 'login', 'autocomplete' => 'off', 'ajax' => false, 'action' => '?action=forgot'));
     // h1
     $form->add('h1', array('class' => 'icon-password', 'innerHTML' => '{LNG_Request new password}'));
     // message
     if (!empty(Login::$login_message)) {
         $form->add('p', array('class' => empty(Login::$login_input) ? 'message' : 'error', 'innerHTML' => Login::$login_message));
     }
     // fieldset
     $fieldset = $form->add('fieldset');
     // email
     $fieldset->add('email', array('id' => 'login_username', 'labelClass' => 'g-input icon-email', 'placeholder' => '{LNG_Email}', 'value' => isset(Login::$text_username) ? Login::$text_username : '', 'autofocus', 'required', 'accesskey' => 'e', 'maxlength' => 255, 'comment' => '{LNG_New password will be sent to the email address registered. If you do not remember or do not receive emails. Please contact your system administrator (Please check in the Junk Box)}'));
     // input-groups (div สำหรับจัดกลุ่ม input)
     $group = $fieldset->add('groups');
     // a
     $group->add('a', array('href' => self::$request->getUri()->withParams(array('action' => 'login'), true), 'class' => 'td', 'title' => '{LNG_Administrator Area}', 'innerHTML' => '{LNG_Sign In} ?'));
     // submit
     $fieldset->add('submit', array('class' => 'button ok large wide', 'value' => '{LNG_Get new password}'));
     $fieldset->add('hidden', array('id' => 'action', 'value' => 'forgot'));
     // template
     $template = Template::create('', '', 'login');
     $template->add(array('/{FORM}/' => $form->render()));
     return $template->render();
 }
Пример #4
0
 /**
  * แสดงผล
  *
  * @return string
  */
 public function render()
 {
     // อ่านข้อมูลสมาชิก
     $rs = Recordset::create('Index\\User\\Model');
     $user = $rs->where((int) $_SESSION['login']['id'])->first('id', 'provinceID', 'country', 'fname', 'lname', 'address1', 'address2', 'province', 'zipcode');
     $template = Template::create('member', 'member', 'address');
     $contents = array();
     // ข้อมูลฟอร์ม
     foreach ($user as $key => $value) {
         if ($key === 'provinceID' || $key === 'country') {
             // select
             if ($key == 'provinceID') {
                 $source = Province::all();
             } elseif ($key == 'country') {
                 $source = Country::all();
             }
             $datas = array();
             foreach ($source as $k => $v) {
                 $sel = $k == $value ? ' selected' : '';
                 $datas[] = '<option value="' . $k . '"' . $sel . '>' . $v . '</option>';
             }
             $contents['/{' . strtoupper($key) . '}/'] = implode('', $datas);
         } else {
             $contents['/{' . strtoupper($key) . '}/'] = $value;
         }
     }
     $template->add($contents);
     return $template->render();
 }
Пример #5
0
 /**
  * แสดงผล
  *
  * @return string
  */
 public function render(Request $request)
 {
     // อ่านข้อมูลสมาชิก
     $model = new Model();
     $user = $model->db()->createQuery()->from('user')->where(array('id', (int) $_SESSION['login']['id']))->first();
     $template = Template::create('member', 'member', 'profile');
     $contents = array('/<NEWREGISTER>(.*)<\\/NEWREGISTER>/isu' => $request->request('action')->toString() === 'newregister' ? '\\1' : '', '/<IDCARD>(.*)<\\/IDCARD>/isu' => empty(self::$cfg->member_idcard) ? '' : '\\1', '/{ACCEPT}/' => Mime::getEccept(self::$cfg->user_icon_typies));
     // ข้อมูลฟอร์ม
     foreach ($user as $key => $value) {
         if ($key == 'sex') {
             $datas = array();
             foreach (Language::get('SEXES') as $k => $v) {
                 $sel = $k == $value ? ' selected' : '';
                 $datas[] = '<option value="' . $k . '"' . $sel . '>' . $v . '</option>';
             }
             $contents['/{SEX}/'] = implode('', $datas);
         } elseif ($key === 'subscrib') {
             $contents['/{SUBSCRIB}/'] = $value == 1 ? 'checked' : '';
         } elseif ($key === 'icon') {
             if (is_file(ROOT_PATH . self::$cfg->usericon_folder . $value)) {
                 $icon = WEB_URL . self::$cfg->usericon_folder . $value;
             } else {
                 $icon = WEB_URL . 'skin/img/noicon.jpg';
             }
             $contents['/{ICON}/'] = $icon;
         } else {
             $contents['/{' . strtoupper($key) . '}/'] = $value;
         }
     }
     $template->add($contents);
     // after render
     Gcms::$view->setContents(array('/:type/' => empty(self::$cfg->user_icon_typies) ? 'jpg' : implode(', ', self::$cfg->user_icon_typies)), false);
     return $template->render();
 }
Пример #6
0
 /**
  * ฟอร์มเข้าระบบ
  *
  * @return string
  */
 public function login()
 {
     $template = Template::create('member', 'member', 'login');
     if ($template->isEmpty()) {
         $template = Template::create('member', 'member', 'loginfrm');
     }
     $template->add(array('/{LNG_([^}]+)}/e' => '\\Kotchasan\\Language::get(array(1=>"$1"))', '/{SUBTITLE}/' => empty(Login::$login_message) ? self::$cfg->web_description : '<span class=error>' . Login::$login_message . '</span>', '/{EMAIL}/' => Login::$text_username, '/{PASSWORD}/' => Login::$text_password, '/{TOKEN}/' => self::$request->createToken(), '/{REMEMBER}/' => self::$request->cookie('login_remember')->toInt() == 1 ? 'checked' : '', '/{FACEBOOK}/' => empty(self::$cfg->facebook_appId) ? 'hidden' : 'facebook'));
     return $template->render();
 }
 /**
  * แสดงผล
  */
 public function render()
 {
     // สมาชิก
     if ($login = Login::isMember()) {
         // id ที่ต้องการ ถ้าไม่มีใช้คนที่ login
         $id = self::$request->get('id', $login['id'])->toInt();
         // อ่านข้อมูลสมาชิก
         $user = \Index\Editprofile\Model::getUser($id);
         if ($user && ($login['status'] == 1 || $login['id'] == $user->id)) {
             $template = Template::create('', '', 'editprofile');
             $contents = array();
             foreach ($user as $key => $value) {
                 if ($key === 'provinceID' || $key === 'country' || $key === 'sex' || $key === 'status') {
                     // select
                     if ($key == 'provinceID') {
                         $source = Province::all();
                     } elseif ($key == 'country') {
                         $source = Country::all();
                     } elseif ($key == 'sex') {
                         $source = Language::get('SEXES');
                     } elseif ($key == 'status') {
                         $source = self::$cfg->member_status;
                     }
                     $datas = array();
                     foreach ($source as $k => $v) {
                         $sel = $k == $value ? ' selected' : '';
                         $datas[] = '<option value="' . $k . '"' . $sel . '>' . $v . '</option>';
                     }
                     $contents['/{' . strtoupper($key) . '}/'] = implode('', $datas);
                 } elseif ($key === 'admin_access' || $key === 'subscrib') {
                     $contents['/{' . strtoupper($key) . '}/'] = $value == 1 ? 'checked' : '';
                 } elseif ($key === 'icon') {
                     if (is_file(ROOT_PATH . self::$cfg->usericon_folder . $value)) {
                         $icon = WEB_URL . self::$cfg->usericon_folder . $value;
                     } else {
                         $icon = WEB_URL . 'skin/img/noicon.jpg';
                     }
                     $contents['/{ICON}/'] = $icon;
                 } else {
                     $contents['/{' . strtoupper($key) . '}/'] = $value;
                 }
             }
             $contents['/{ADMIN}/'] = Login::isAdmin() && $user->fb == 0 ? '' : 'readonly';
             $contents['/{HIDDEN}/'] = implode("\n", Form::get2Input());
             $contents['/{ACCEPT}/'] = Mime::getEccept(self::$cfg->user_icon_typies);
             $template->add($contents);
             Gcms::$view->setContents(array('/:type/' => implode(', ', self::$cfg->user_icon_typies)), false);
             return $template->render();
         } else {
             // 404.html
             return \Index\Error\Controller::page404();
         }
     } else {
         // 404.html
         return \Index\Error\Controller::page404();
     }
 }
Пример #8
0
 /**
  * หน้า login
  *
  * @param Request $request
  * @return object
  */
 public function render(Request $request)
 {
     $index = (object) array('canonical' => WEB_URL . 'index.php?module=dologin', 'topic' => Language::get('Visitors please login'), 'description' => self::$cfg->web_description, 'menu' => 'dologin');
     $template = Template::create('member', 'member', 'loginfrm');
     $template->add(array('/{TOKEN}/' => $request->createToken(), '/{EMAIL}/' => Login::$text_username, '/{PASSWORD}/' => Login::$text_password, '/{REMEMBER}/' => self::$request->cookie('login_remember')->toInt() == 1 ? 'checked' : '', '/{FACEBOOK}/' => empty(self::$cfg->facebook_appId) ? 'hidden' : 'facebook', '/{TOPIC}/' => $index->topic, '/{SUBTITLE}/' => $index->description));
     $index->detail = $template->render();
     $index->keywords = $index->topic;
     if (isset(Gcms::$view)) {
         Gcms::$view->addBreadcrumb($index->canonical, Language::get('Sign In'));
     }
     return $index;
 }
Пример #9
0
 /**
  * หน้าขอรหัสผ่านใหม่
  *
  * @param Request $request
  * @param boolean $modal true แสดงแบบ modal, false (default) แสดงหน้าเว็บปกติ
  * @return object
  */
 public function render(Request $request, $modal = false)
 {
     $index = (object) array('canonical' => WEB_URL . 'index.php?module=forgot', 'topic' => Language::get('Request new password'), 'description' => self::$cfg->web_description);
     $template = Template::create('member', 'member', 'forgotfrm');
     $template->add(array('/{LNG_([^}]+)}/e' => '\\Kotchasan\\Language::get(array(1=>"$1"))', '/{TOPIC}/' => $index->topic, '/{EMAIL}/' => Login::$text_username, '/{WEBURL}/' => WEB_URL, '/{MODAL}/' => $modal ? 'true' : WEB_URL . 'index.php'));
     $index->detail = $template->render();
     $index->keywords = $index->topic;
     if (isset(Gcms::$view)) {
         Gcms::$view->addBreadcrumb($index->canonical, Language::get('Forgot'));
     }
     // เมนู
     $index->menu = 'forgot';
     return $index;
 }
Пример #10
0
 /**
  * แสดงผล
  *
  * @param object $index ข้อมูลโมดูล
  */
 public function render($index)
 {
     // template main.html, home/main.html
     $template = Template::create('', $index->module, 'main');
     // canonical
     $index->canonical = Gcms::createUrl($index->module);
     // add template
     $template->add(array('/{DETAIL}/' => Gcms::showDetail($index->detail, true, false), '/{TOPIC}/' => $index->topic, '/{MODULE}/' => $index->module));
     // detail
     $index->detail = $template->render();
     // breadcrumb ของหน้า
     Gcms::$view->addBreadcrumb($index->canonical, $index->topic, $index->description);
     return $index;
 }
Пример #11
0
 /**
  * แสดงผล
  *
  * @param object $index ข้อมูลโมดูล
  */
 public function render($index)
 {
     // รายการ
     $listitem = Grid::create('search', 'search', 'searchitem');
     foreach ($index->items as $item) {
         if ($item->index == 0 && $item->owner == 'document') {
             // document
             $uri1 = \Document\Index\Controller::url($item->module, $item->alias, $item->id);
             $uri2 = \Document\Index\Controller::url($item->module, $item->alias, $item->id, false);
         } elseif ($item->index == 0 && $item->owner == 'board') {
             // board
             $uri1 = \Board\Index\Controller::url($item->module, 0, $item->id);
             $uri2 = $uri1;
         } else {
             // other
             if (self::$cfg->module_url == 1) {
                 $uri1 = Gcms::createUrl($item->module, $item->alias);
                 $uri2 = Gcms::createUrl($item->module, $item->alias, 0, 0, '', false);
             } else {
                 $uri1 = Gcms::createUrl($item->module, '', 0, $item->id, '');
                 $uri2 = $uri1;
             }
         }
         $listitem->add(array('/{URL}/' => $uri1, '/{TOPIC}/' => $item->topic, '/{LINK}/' => $uri2, '/{DETAIL}/' => $item->description));
     }
     // template search/search.html
     $template = Template::create('search', 'search', 'search');
     // canonical
     $index->canonical = Gcms::createUrl($index->module);
     // current URL
     $uri = \Kotchasan\Http\Uri::createFromUri($index->canonical);
     if ($index->total > 0) {
         $list = Gcms::highlightSearch($listitem->render(), $index->q);
     } else {
         $list = $index->q == '' ? '' : '<div>' . Language::get('No results were found for') . ' <strong>' . $index->q . '</strong></div>';
         $list .= '<div><strong>' . Language::get('Search tips') . ' :</strong>' . Language::get('<ul><li>make sure that the spelling correct</li><li>try changing or new phrases. synonyms</li><li>try to identify a non-specific too</li><li>specific keywords to search the most concise</li></ul>') . '</div>';
     }
     // add template
     $template->add(array('/{LIST}/' => $list, '/{SPLITPAGE}/' => $uri->pagination($index->totalpage, $index->page), '/{SEARCH}/' => $index->q, '/{MODULE}/' => 'search', '/{RESULT}/' => $index->total == 0 ? '' : sprintf(Language::get('Search results <strong>%d - %d</strong> of about <strong>%d</strong> for <strong>%s</strong> (%s sec)'), $index->start + 1, $index->end, $index->total, $index->q, number_format(microtime(true) - REQUEST_TIME, 4))));
     $search = Language::get('Search');
     $index->detail = $template->render();
     $index->topic = ($index->q == '' ? '' : $index->q . ' - ') . $search;
     $index->description = $index->topic;
     $index->keywords = $index->topic;
     $index->menu = 'search';
     // breadcrumb ของหน้า
     Gcms::$view->addBreadcrumb($index->canonical, $search, $search);
     return $index;
 }
 /**
  * หน้าแก้ไขข้อมูลส่วนตัว
  *
  * @param Request $request
  * @return object
  */
 public function render(Request $request)
 {
     if ($login = Login::isMember()) {
         // tab ที่เลือก
         $tab = $request->request('tab')->toString();
         $member_tabs = array_keys(Gcms::$member_tabs);
         $tab = in_array($tab, $member_tabs) ? $tab : reset($member_tabs);
         $index = (object) array('description' => self::$cfg->web_description);
         // รายการ tabs
         $tabs = array();
         if (!empty($login['fb'])) {
             unset(Gcms::$member_tabs['password']);
         }
         foreach (Gcms::$member_tabs as $key => $values) {
             if ($values[0] != '') {
                 if ($key == $tab) {
                     $class = "tab select {$key}";
                     $index->topic = Language::get($values[0]);
                     $className = $values[1];
                 } else {
                     $class = "tab {$key}";
                 }
                 if (preg_match('/^http:\\/\\/.*/', $values[1])) {
                     $tabs[] = '<li class="' . $class . '"><a href="' . $values[1] . '">' . Language::get($values[0]) . '</a></li>';
                 } else {
                     $tabs[] = '<li class="' . $class . '"><a href="{WEBURL}index.php?module=editprofile&amp;tab=' . $key . '">' . Language::get($values[0]) . '</a></li>';
                 }
             }
         }
         if (empty($className)) {
             // FB และแก้ไขรหัสผ่าน
             return createClass('Index\\PageNotFound\\Controller')->init($request, 'index');
         } else {
             $template = Template::create('member', 'member', 'main');
             $template->add(array('/{TAB}/' => implode('', $tabs), '/{DETAIL}/' => createClass($className)->render($request)));
             $index->detail = $template->render();
             $index->keywords = $index->topic;
             // menu
             $index->menu = 'member';
             return $index;
         }
     } else {
         // ไม่ได้ login
         return createClass('Index\\PageNotFound\\Controller')->init($request, 'index');
     }
 }
Пример #13
0
 /**
  * แสดงข้อมูลสมาชิก
  *
  * @param Request $request
  * @return object
  */
 public function render(Request $request)
 {
     // ตรวจสอบข้อมูล
     $user = \Index\Member\Model::getUserByActivateCode($request->get('id')->topic());
     if ($user) {
         // activate
         \Index\Member\Model::activateUser($user);
         // ข้อมูลแสดงผล (สำเร็จ)
         $details = array('/{DETAIL}/' => Language::get('<b>Congratulations!</b> your members have already confirmed. You can use your email address and password sent with the email address used to login.'), '/{CLASS}/' => 'message');
     } else {
         // ข้อมูลแสดงผล (ไม่สำเร็จ)
         $details = array('/{DETAIL}/' => Language::get('<b>Sorry!</b> can not find it registered. Information of registration may have expired or your registration may be confirmed.'), '/{CLASS}/' => 'error');
     }
     // template
     $template = Template::create('member', 'member', 'activate');
     $template->add($details);
     // คืนค่า
     return (object) array('detail' => $template->render(), 'keywords' => self::$cfg->web_title, 'description' => self::$cfg->web_description, 'topic' => Language::get('Activate') . ' ' . self::$cfg->web_title, 'menu' => 'member');
 }
Пример #14
0
 /**
  * หน้าหลักแอดมิน
  *
  * @param Request $request
  * @return string
  */
 public function execute(Request $request)
 {
     // โมดูลจาก URL ถ้าไม่มีใช้ default (dashboard)
     $module = $request->get('module', 'dashboard')->toString();
     if (preg_match('/^([a-z]+)([\\/\\-]([a-z]+))?$/i', $module, $match)) {
         if (empty($match[3])) {
             $owner = 'index';
             $module = $match[1];
         } else {
             $owner = $match[1];
             $module = $match[3];
         }
     } else {
         $owner = 'index';
         $module = 'dashboard';
     }
     // ตรวจสอบหน้าที่เรียก
     if (is_file(APP_PATH . 'modules/' . $owner . '/controllers/' . $module . '.php')) {
         // หน้าที่เรียก (Admin)
         include APP_PATH . 'modules/' . $owner . '/controllers/' . $module . '.php';
         $controller = ucfirst($owner) . '\\' . ucfirst($module) . '\\Controller';
     } elseif (is_file(ROOT_PATH . 'modules/' . $owner . '/controllers/admin/' . $module . '.php')) {
         // เรียกโมดูลที่ติดตั้ง
         include ROOT_PATH . 'modules/' . $owner . '/controllers/admin/' . $module . '.php';
         $controller = ucfirst($owner) . '\\Admin\\' . ucfirst($module) . '\\Controller';
     } elseif (is_file(ROOT_PATH . 'Widgets/' . ucfirst($owner) . '/Controllers/' . ucfirst($module) . '.php')) {
         // เรียก Widgets ที่ติดตั้ง
         include ROOT_PATH . 'Widgets/' . ucfirst($owner) . '/Controllers/' . ucfirst($module) . '.php';
         $controller = 'Widgets\\' . ucfirst($owner) . '\\Controllers\\' . ucfirst($module);
     } else {
         // หน้า default ของ backend
         include APP_PATH . 'modules/index/controllers/dashboard.php';
         $controller = 'Index\\Dashboard\\Controller';
     }
     $this->controller = new $controller();
     // tempalate
     $template = Template::create('', '', 'main');
     $template->add(array('/{CONTENT}/' => $this->controller->render($request)));
     return $template->render();
 }
Пример #15
0
 /**
  * หน้าส่งอีเมล์
  * สมาชิกส่งจดหมายถึงสมาชิก และ แอดมิน
  *
  * @param Request $request
  * @return object
  */
 public function render(Request $request)
 {
     // สมาชิก
     if ($login = Login::isMember()) {
         // ค่าที่ส่งมา
         $to = strtolower($request->get('to')->filter('0-9a-zA-Z'));
         if (preg_match('/^[0-9]+$/', $to)) {
             $reciever = \Index\Sendmail\Model::getUser($to);
             $to = '';
             foreach ($reciever as $id => $item) {
                 $to_msg = empty($item['name']) ? $item['email'] : $item['name'];
                 $to = $id;
             }
         } elseif ($to == 'admin') {
             $to_msg = self::$cfg->member_status[1];
         } else {
             $to = '';
         }
         if ($to != '') {
             // antispam
             $antispam = new Antispam();
             // ข้อมูลส่งกลับ
             $index = (object) array('topic' => Language::replace('Send a message to the :name', array(':name' => $to_msg)), 'keywords' => self::$cfg->web_title, 'description' => self::$cfg->web_description, 'module' => 'sendmail');
             $template = Template::create('member', 'member', 'sendmail');
             $template->add(array('/{TOPIC}/' => $index->topic, '/{ANTISPAM}/' => $antispam->getId(), '/{ANTISPAMVAL}/' => Login::isAdmin() ? $antispam->getValue() : '', '/{RECIEVER}/' => $to_msg, '/{SENDER}/' => $login['email'], '/{RECIEVERID}/' => $to));
             $index->detail = $template->render();
             // breadcrumbs
             $index->canonical = WEB_URL . 'index.php?module=sendmail&to=' . $to;
             Gcms::$view->addBreadcrumb($index->canonical, $index->topic);
             return $index;
         }
     }
     // ไม่สามารถส่งอีเมล์ได้
     $message = Language::get('Unable to send e-mail, Because you can not send e-mail to yourself or can not find the email address of the recipient.');
     return createClass('Index\\PageNotFound\\Controller')->init($request, 'member', $message);
 }
Пример #16
0
 public function render()
 {
     // form
     $form = Html::create('form', array('id' => 'login_frm', 'class' => 'login', 'autocomplete' => 'off', 'ajax' => false, 'token' => true, 'action' => '?action=login'));
     // h1
     $form->add('h1', array('class' => 'icon-customer', 'innerHTML' => '{LNG_Administrator Area}'));
     // message
     if (!empty(Login::$login_message)) {
         $form->add('p', array('class' => empty(Login::$login_input) ? 'message' : 'error', 'innerHTML' => Login::$login_message));
         if (isset(Login::$login_input)) {
             $a = array();
             $a[] = 'var input = $E("' . Login::$login_input . '");';
             $a[] = 'input.focus();';
             $a[] = 'input.select();';
             $form->script(implode("\n", $a));
         }
     }
     // fieldset
     $fieldset = $form->add('fieldset');
     // email or phone
     $fieldset->add('text', array('id' => 'login_username', 'labelClass' => 'g-input icon-email', 'placeholder' => '{LNG_Email}', 'value' => isset(Login::$text_username) ? Login::$text_username : '', 'autofocus', 'required', 'accesskey' => 'e', 'maxlength' => 255));
     // password
     $fieldset->add('password', array('id' => 'login_password', 'labelClass' => 'g-input icon-password', 'placeholder' => '{LNG_Password}', 'value' => isset(Login::$text_password) ? Login::$text_password : ''));
     // input-groups (div สำหรับจัดกลุ่ม input)
     $group = $fieldset->add('groups');
     // a
     $group->add('a', array('href' => self::$request->getUri()->withParams(array('action' => 'forgot'), true), 'class' => 'td', 'title' => '{LNG_Request new password}', 'innerHTML' => '{LNG_Forgot} ?'));
     // checkbox
     $group->add('checkbox', array('id' => 'login_remember', 'checked' => self::$request->cookie('login_remember')->toInt(), 'value' => 1, 'label' => '{LNG_Remember me}', 'labelClass' => 'td right'));
     // submit
     $fieldset->add('submit', array('class' => 'button ok large wide', 'value' => '{LNG_Sign In}'));
     // template
     $template = Template::create('', '', 'login');
     $template->add(array('/{FORM}/' => $form->render()));
     return $template->render();
 }
Пример #17
0
 /**
  * แสดงผล index.html
  *
  * @param Request $request
  */
 public function index(Request $request)
 {
     // ตัวแปรป้องกันการเรียกหน้าเพจโดยตรง
     define('MAIN_INIT', __FILE__);
     // session cookie
     $request->initSession();
     // ตรวจสอบการ login
     Login::create();
     // กำหนด skin ให้กับ template
     self::$cfg->skin = $request->get('skin', self::$request->session('skin', self::$cfg->skin)->toString())->toString();
     self::$cfg->skin = is_file(ROOT_PATH . 'skin/' . self::$cfg->skin . '/style.css') ? self::$cfg->skin : 'bighead';
     $_SESSION['skin'] = self::$cfg->skin;
     Template::init(self::$cfg->skin);
     // ตรวจสอบหน้าที่จะแสดง
     if (!empty(self::$cfg->maintenance_mode) && !Login::isAdmin()) {
         Gcms::$view = new \Index\Maintenance\View();
     } elseif (!empty(self::$cfg->show_intro) && str_replace(array(BASE_PATH, '/'), '', $request->getUri()->getPath()) == '') {
         Gcms::$view = new \Index\Intro\View();
     } else {
         // counter และ useronline
         $new_day = \Index\Counter\Model::init();
         // View
         Gcms::$view = new \Gcms\View();
         // โมดูลที่ติดตั้ง
         $dir = ROOT_PATH . 'modules/';
         // โหลดโมดูลทั้งหมด
         foreach (\Index\Module\Model::getInstalledModule() as $owner) {
             if (is_file($dir . $owner . '/controllers/init.php')) {
                 include $dir . $owner . '/controllers/init.php';
                 $class = ucfirst($owner) . '\\Init\\Controller';
                 if (method_exists($class, 'init')) {
                     createClass($class)->init();
                 }
             }
             if ($new_day && is_file($dir . $owner . '/controllers/cron.php')) {
                 include $dir . $owner . '/controllers/cron.php';
                 $class = ucfirst($owner) . '\\Cron\\Controller';
                 if (method_exists($class, 'init')) {
                     createClass($class)->init();
                 }
             }
         }
         // โหลด Init ของ Widgets
         $dir = ROOT_PATH . 'Widgets/';
         $f = @opendir($dir);
         if ($f) {
             while (false !== ($text = readdir($f))) {
                 if ($text != "." && $text != "..") {
                     if (is_dir($dir . $text)) {
                         if (is_file($dir . $text . '/Controllers/Init.php')) {
                             include $dir . $text . '/Controllers/Init.php';
                             $class = 'Widgets\\' . ucfirst($text) . '\\Controllers\\Init';
                             if (method_exists($class, 'init')) {
                                 createClass($class)->init();
                             }
                         }
                     }
                 }
             }
             closedir($f);
         }
         // หน้า home มาจากเมนูรายการแรก
         $home = Gcms::$menu->homeMenu();
         if ($home) {
             $home->canonical = WEB_URL . 'index.php';
             // breadcrumb หน้า home
             Gcms::$view->addBreadcrumb($home->canonical, $home->menu_text, $home->menu_tooltip, 'icon-home');
         }
         // ตรวจสอบโมดูลที่เรียก
         $modules = \Index\Module\Controller::get($request->getQueryParams());
         if (!empty($modules)) {
             // โหลดโมดูลที่เรียก
             $page = createClass($modules->className)->{$modules->method}($request, $modules->module);
         }
         if (empty($page)) {
             // ไม่พบหน้าที่เรียก (index)
             $page = createClass('Index\\PageNotFound\\Controller')->init($request, 'index');
         }
         // title ของเว็บไซต์
         $web_title = strip_tags($page->topic);
         // meta tag
         $meta = array('generator' => '<meta name=generator content="GCMS AJAX CMS design by http://gcms.in.th">', 'og:title' => '<meta property="og:title" content="' . $web_title . '">', 'description' => '<meta name=description content="' . $page->description . '">', 'keywords' => '<meta name=keywords content="' . $page->keywords . '">', 'og:site_name' => '<meta property="og:site_name" content="' . $web_title . '">', 'og:type' => '<meta property="og:type" content="article">');
         // โมดูลแรกสุด ใส่ลงใน Javascript
         $module_list = array_keys(Gcms::$install_modules);
         $script = array('var FIRST_MODULE = "' . reset($module_list) . '";');
         // logo
         $image_logo = '';
         if (!empty(self::$cfg->logo) && is_file(ROOT_PATH . DATA_FOLDER . 'image/' . self::$cfg->logo)) {
             $image_src = WEB_URL . DATA_FOLDER . 'image/' . self::$cfg->logo;
             $info = getImageSize(ROOT_PATH . DATA_FOLDER . 'image/' . self::$cfg->logo);
             if ($info[0] > 0 || $info[1] > 0) {
                 $ext = explode('.', self::$cfg->logo);
                 if (strtolower(end($ext)) == 'swf') {
                     $script[] = '$G(window).Ready(function(){';
                     $script[] = 'if ($E("logo")) {';
                     $script[] = "new GMedia('logo_swf', '" . $image_src . "', {$info['0']}, {$info['1']}).write('logo');";
                     $script[] = '}';
                     $script[] = '});';
                 } else {
                     $image_logo = '<img src="' . $image_src . '" alt="{WEBTITLE}">';
                 }
             }
         }
         if (empty($page->image_src)) {
             if (is_file(ROOT_PATH . DATA_FOLDER . 'image/facebook_photo.jpg')) {
                 $page->image_src = WEB_URL . DATA_FOLDER . 'image/facebook_photo.jpg';
             }
         } elseif (!empty($image_src)) {
             $page->image_src = $image_src;
         }
         if (!empty($page->image_src)) {
             $meta['image_src'] = '<link rel=image_src href="' . $page->image_src . '">';
             $meta['og:image'] = '<meta property="og:image" content="' . $page->image_src . '">';
         }
         if (!empty(self::$cfg->facebook_appId)) {
             $meta['og:app_id'] = '<meta property="fb:app_id" content="' . self::$cfg->facebook_appId . '">';
         }
         if (isset($page->canonical)) {
             $meta['canonical'] = '<meta name=canonical content="' . $page->canonical . '">';
             $meta['og:url'] = '<meta property="og:url" content="' . $page->canonical . '">';
         }
         $meta['script'] = "<script>\n" . implode("\n", $script) . "\n</script>";
         Gcms::$view->setMetas($meta);
         // ภาษาที่ติดตั้ง
         $languages = Template::create('', '', 'language');
         foreach (self::$cfg->languages as $lng) {
             $languages->add(array('/{LNG}/' => $lng));
         }
         // เมนูหลัก
         Gcms::$view->setContents(Gcms::$menu->render(isset($page->menu) ? $page->menu : $page->module));
         // เนื้อหา
         Gcms::$view->setContents(array('/{CONTENT}/' => $page->detail, '/{TITLE}/' => $web_title, '/{LANGUAGES}/' => $languages->render(), '/{LOGO}/' => $image_logo));
     }
     // ส่งออก เป็น HTML
     $response = new Response();
     $response->withContent(Gcms::$view->renderHTML())->send();
 }
Пример #18
0
 /**
  * Index
  */
 public static function page404()
 {
     $section = Template::create('', '', '404');
     $section->add(array('/{CONTENT}/' => Language::get('Can not be performed this request. Because they do not find the information you need or you are not allowed')));
     return $section->render();
 }
Пример #19
0
 /**
  * Generated from @assert ('', '', 'FileNotFound')->isEmpty() [==] true.
  *
  * @covers Kotchasan\Template::create
  */
 public function testCreate()
 {
     $this->assertTrue(\Kotchasan\Template::create('', '', 'FileNotFound')->isEmpty());
 }
Пример #20
0
 public function view(Request $request)
 {
     $topic = Language::get('Personal information') . ' ' . self::$cfg->web_title;
     $user = \Index\Member\Model::getUserById($request->get('id')->toInt());
     if ($user) {
         $template = Template::create('member', 'member', 'view');
         $template->add(array('/{ID}/' => $user->id, '/{EMAIL}/' => $user->email, '/{FNAME}/' => $user->fname, '/{LNAME}/' => $user->lname, '/{SEX}/' => $user->sex === 'f' || $user->sex === 'm' ? $user->sex : 'u', '/{DATE}/' => Date::format($user->create_date), '/{WEBSITE}/' => $user->website, '/{VISITED}/' => $user->visited, '/{LASTVISITED}/' => Date::format($user->lastvisited), '/{POST}/' => number_format($user->post), '/{REPLY}/' => number_format($user->reply), '/{STATUS}/' => isset(self::$cfg->member_status[$user->status]) ? self::$cfg->member_status[$user->status] : 'Unknow', '/{COLOR}/' => $user->status, '/{SOCIAL}/' => $user->fb == 1 ? 'icon-facebook' : '', '/{TOPIC}/' => $topic));
         // breadcrumbs
         $canonical = WEB_URL . 'index.php?module=member&amp;id=' . $user->id;
         Gcms::$view->addBreadcrumb($canonical, $topic);
         // คืนค่า
         return (object) array('detail' => $template->render(), 'keywords' => self::$cfg->web_title, 'description' => self::$cfg->web_description, 'topic' => $topic, 'canonical' => $canonical);
     } else {
         // ไม่พบสมาชิก
         return createClass('Index\\PageNotFound\\Controller')->init($request, 'index');
     }
 }