%PDF- %PDF-
Direktori : /home1/dimen328/libertysa.com.br/admin/modules/blog/app/controllers/ |
Current File : //home1/dimen328/libertysa.com.br/admin/modules/blog/app/controllers/pjAppController.controller.php |
<?php if (!defined("ROOT_PATH")) { header("HTTP/1.1 403 Forbidden"); exit; } class pjAppController extends pjController { public $models = array(); public $defaultLocale = 'admin_locale_id'; public $defaultFields = 'fields'; public $defaultFieldsIndex = 'fields_index'; protected function loadSetFields($force=FALSE) { $registry = pjRegistry::getInstance(); if ($force || !isset($_SESSION[$this->defaultFieldsIndex]) || $_SESSION[$this->defaultFieldsIndex] != $this->option_arr['o_fields_index'] || !isset($_SESSION[$this->defaultFields]) || empty($_SESSION[$this->defaultFields])) { pjAppController::setFields($this->getLocaleId()); if ($registry->is('fields')) { $_SESSION[$this->defaultFields] = $registry->get('fields'); } $_SESSION[$this->defaultFieldsIndex] = $this->option_arr['o_fields_index']; } if (isset($_SESSION[$this->defaultFields]) && !empty($_SESSION[$this->defaultFields])) { $registry->set('fields', $_SESSION[$this->defaultFields]); } return TRUE; } public function isOneAdminReady() { return $this->isAdmin(); } public static function setTimezone($timezone="UTC") { if (in_array(version_compare(phpversion(), '5.1.0'), array(0,1))) { date_default_timezone_set($timezone); } else { $safe_mode = ini_get('safe_mode'); if ($safe_mode) { putenv("TZ=".$timezone); } } } public static function setMySQLServerTime($offset="-0:00") { pjAppModel::factory()->prepare("SET SESSION time_zone = :offset;")->exec(compact('offset')); } public function setTime() { if (isset($this->option_arr['o_timezone'])) { $offset = $this->option_arr['o_timezone'] / 3600; if ($offset > 0) { $offset = "-".$offset; } elseif ($offset < 0) { $offset = "+".abs($offset); } elseif ($offset === 0) { $offset = "+0"; } pjAppController::setTimezone('Etc/GMT' . $offset); if (strpos($offset, '-') !== false) { $offset = str_replace('-', '+', $offset); } elseif (strpos($offset, '+') !== false) { $offset = str_replace('+', '-', $offset); } pjAppController::setMySQLServerTime($offset . ":00"); } } public function beforeFilter() { $this->appendJs('jquery-1.8.2.min.js', PJ_THIRD_PARTY_PATH . 'jquery/'); $this->appendJs('pjAdminCore.js'); $this->appendCss('reset.css'); $this->appendJs('jquery-ui.custom.min.js', PJ_THIRD_PARTY_PATH . 'jquery_ui/js/'); $this->appendCss('jquery-ui.min.css', PJ_THIRD_PARTY_PATH . 'jquery_ui/css/smoothness/'); $this->appendCss('pj-all.css', PJ_FRAMEWORK_LIBS_PATH . 'pj/css/'); $this->appendCss('admin.css'); if ($_GET['controller'] != 'pjInstaller') { $this->models['Option'] = pjOptionModel::factory(); $this->option_arr = $this->models['Option']->getPairs($this->getForeignId()); $this->set('option_arr', $this->option_arr); $this->setTime(); if (!isset($_SESSION[$this->defaultLocale])) { $locale_arr = pjLocaleModel::factory()->where('is_default', 1)->limit(1)->findAll()->getData(); if (count($locale_arr) === 1) { $this->setLocaleId($locale_arr[0]['id']); } } if (!in_array($_GET['action'], array('pjActionPreview'))) { $this->loadSetFields(); } } } public function isAuthor() { return $this->getRoleId() == 2; } public function getForeignId() { return 1; } public static function setFields($locale) { if(isset($_SESSION['lang_show_id']) && (int) $_SESSION['lang_show_id'] == 1) { $fields = pjMultiLangModel::factory() ->select('CONCAT(t1.content, CONCAT(":", t2.id, ":")) AS content, t2.key') ->join('pjField', "t2.id=t1.foreign_id", 'inner') ->where('t1.locale', $locale) ->where('t1.model', 'pjField') ->where('t1.field', 'title') ->findAll() ->getDataPair('key', 'content'); }else{ $fields = pjMultiLangModel::factory() ->select('t1.content, t2.key') ->join('pjField', "t2.id=t1.foreign_id", 'inner') ->where('t1.locale', $locale) ->where('t1.model', 'pjField') ->where('t1.field', 'title') ->findAll() ->getDataPair('key', 'content'); } $registry = pjRegistry::getInstance(); $tmp = array(); if ($registry->is('fields')) { $tmp = $registry->get('fields'); } $arrays = array(); foreach ($fields as $key => $value) { if (strpos($key, '_ARRAY_') !== false) { list($prefix, $suffix) = explode("_ARRAY_", $key); if (!isset($arrays[$prefix])) { $arrays[$prefix] = array(); } $arrays[$prefix][$suffix] = $value; } } require PJ_CONFIG_PATH . 'settings.inc.php'; $fields = array_merge($tmp, $fields, $settings, $arrays); $registry->set('fields', $fields); } public static function jsonDecode($str) { $Services_JSON = new pjServices_JSON(); return $Services_JSON->decode($str); } public static function jsonEncode($arr) { $Services_JSON = new pjServices_JSON(); return $Services_JSON->encode($arr); } public static function jsonResponse($arr) { header("Content-Type: application/json; charset=utf-8"); echo pjAppController::jsonEncode($arr); exit; } public function getLocaleId() { return isset($_SESSION[$this->defaultLocale]) && (int) $_SESSION[$this->defaultLocale] > 0 ? (int) $_SESSION[$this->defaultLocale] : false; } public function setLocaleId($locale_id) { $_SESSION[$this->defaultLocale] = (int) $locale_id; } public function pjActionCheckInstall() { $this->setLayout('pjActionEmpty'); $result = array('status' => 'OK', 'code' => 200, 'text' => 'Operation succeeded', 'info' => array()); $folders = array( 'app/web/upload', 'app/web/upload/medium', 'app/web/upload/source', 'app/web/upload/thumb' ); foreach ($folders as $dir) { if (!is_writable($dir)) { $result['status'] = 'ERR'; $result['code'] = 101; $result['text'] = 'Permission requirement'; $result['info'][] = sprintf('Folder \'<span class="bold">%1$s</span>\' is not writable. You need to set write permissions (chmod 777) to directory located at \'<span class="bold">%1$s</span>\'', $dir); } } return $result; } public function friendlyURL($str, $divider='-') { $str = mb_strtolower($str, mb_detect_encoding($str)); $str = trim($str); $str = str_replace(array('Ä','ä','É','é','Ö','ö','Ü','ü'), array('A','a','E','e','O','o','U','u'), $str); $str = preg_replace('/[^\w\s\-]+/u', '', $str); $str = preg_replace('/[_|\s]+/', $divider, $str); $str = preg_replace('/[-]+/', $divider, $str); $str = preg_replace('/^-+|-+$/', '', $str); return $str; } public function getFromEmail() { $arr = pjUserModel::factory()->find(1)->getData(); $email = $arr['email']; return $email; } public function isAllComments($id) { $is_all = false; $arr = pjUserModel::factory()->find($id)->getData(); if(!empty($arr)) { if($arr['receive_notify'] == 'A') { $is_all = true; } } return $is_all; } } ?>