function showIndex() { $request = fvRequest::getInstance(); $sort['field'] = $request->getRequestParameter('field'); $sort['dir'] = $request->getRequestParameter('direct'); $search = $request->getRequestParameter('search'); $query = NULL; if ($search['_clear'] == 1) { $search = array(); $search['_clear'] = 1; } if ($search['email']) { $query = 'email like "%' . str_replace('"', "'", $search['email']) . '%"'; } if (!$sort['field']) { $sort['field'] = "ctime"; $sort['dir'] = "asc"; } $pager = new fvPager(FeedbackManager::getInstance()); $this->__assign('List', $pager->paginate($query, $sort['field'] . " " . $sort['dir'])); $this->__assign("module", $this->moduleName); $this->__assign("sort", $sort); $this->__assign("search", count($search)); return $this->__display('index.tpl'); }
/** * получить новость по урл * @author Korniev Zakhar * @since 27.05.2011 */ public function getByUrl() { $newsUrl = fvRequest::getInstance()->getRequestParameter("news_url", "string", ""); $newsUrl = mysql_real_escape_string($newsUrl); $iNews = self::getInstance()->getOneByurl($newsUrl); return $iNews; }
function showIndex() { if (!fvRequest::getInstance()->hasRequestParameter("page")) { if (fvSite::$fvSession->is_set(fvRequest::getInstance()->getRequestParameter("requestURL") . "/page")) { fvRequest::getInstance()->putRequestParameter("page", (int) fvSite::$fvSession->get(fvRequest::getInstance()->getRequestParameter("requestURL") . "/page")); } } else { fvSite::$fvSession->set(fvRequest::getInstance()->getRequestParameter("requestURL") . "/page", fvRequest::getInstance()->getRequestParameter("page")); } if (substr($requestURL = fvRequest::getInstance()->getRequestParameter("requestURL"), 0, 1) == "/") { $requestURL = substr($requestURL, 1); } $SiteManager = SiteManager::getInstance(); //fvSite::$fvConfig->get("dir_web_root") . $requestURL . //$ManagerParams = ManagerParamManager::getInstance()->getAll(); $this->__assign('Sites', $SiteManager->getAll()); $request = fvRequest::getInstance(); if (!($Site = SiteManager::getInstance()->getByPk($request->getRequestParameter('id')))) { $Site = new Site(); } $apps = fvSite::$fvConfig->get('path.application'); unset($apps['backend']); $apps = array_keys($apps); $this->__assign(array('Site' => $Site, 'apps' => $apps)); return $this->__display('site_list.tpl'); }
function showGenerateurl() { $thisRequest = fvRequest::getInstance(); $transliterator = new Translit(); $url = $transliterator->Transliterate($thisRequest->getRequestParameter("name")); $this->__assign('url', $url); return $this->__display('generateurl.tpl'); }
function executeLoginform() { if (!fvRequest::getInstance()->isXmlHttpRequest()) { $this->redirect404(); } else { return self::$FV_AJAX_CALL; } }
function executeIndex() { if (!fvRequest::getInstance()->isXmlHttpRequest()) { return self::$FV_OK; } else { return self::$FV_AJAX_CALL; } }
function executeGetparameterslist() { if (fvRequest::getInstance()->isXmlHttpRequest()) { return self::$FV_AJAX_CALL; } else { $this->redirect404(); } }
function showEdit() { $request = fvRequest::getInstance(); if (!($UserGroup = UserGroupManager::getInstance()->getByPk($request->getRequestParameter('id')))) { $UserGroup = new UserGroup(); } $this->__assign('UserGroup', $UserGroup); return $this->__display('group_edit.tpl'); }
function executeIndex() { if (!fvRequest::getInstance()->isXmlHttpRequest()) { $this->current_page->setTitle('Index Page'); return self::$FV_OK; } else { return self::$FV_AJAX_CALL; } }
function showOne($params) { $pageName = $params['tech_name'] or fvRequest::getInstance()->getRequestParameter("tech_name"); $Page = StaticPagesManager::getInstance()->getByTechUrl($pageName); if (count($Page) == 1 && is_object($Page = $Page[0])) { $this->__assign("sp", $Page); } else { $this->__assign("sp", new StaticPages()); } return $this->__display("one.tpl"); }
public function validatePassword($value) { $valid = preg_match("/^[a-z_\\s0-9]{4,}\$/i", $value) > 0; $this->setValidationResult("password", $valid); $m = fvRequest::getInstance()->getRequestParameter("m"); $test = fvRequest::getInstance()->getRequestParameter("test"); $confirmPassword = !empty($m['password1']) ? $m['password1'] : fvParams::getInstance()->getParameter("users/passwordConfirmation"); $valid = $valid && $confirmPassword == $value; $this->setValidationResult("password1", $confirmPassword == $value, "Пароль и подтверждение не совпадают"); return $valid; }
function redirect($url, $application = FV_APP) { if (substr($url, 0, 1) == "@" || substr($url, 0, 4) != "http") { $url = fvSite::$fvConfig->get("path.application." . $application . ".web_root") . substr($url, 1); } if (fvRequest::getInstance()->isXmlHttpRequest()) { fvResponce::getInstance()->setHeader('redirectDirect', $url); } else { fvDispatcher::getInstance()->redirect($url); } }
function showEdit() { $request = fvRequest::getInstance(); if (!($ex = NewsManager::getInstance()->getByPk($request->getRequestParameter('id')))) { $ex = new News(); } $this->__assign('ex', $ex); $this->__assign('metaManager', MetaManager::getInstance()); $this->__assign("module", $this->moduleName); $this->__assign("weights", range(0, 999)); return $this->__display('edit.tpl'); }
public function execute() { $currentUrl = fvRequest::getInstance()->getRequestParameter('requestURL'); $filterArray = fvRequest::getInstance()->getRequestParameter('filter'); if (is_array($filterArray)) { fvResponce::getInstance()->setHeader('filtered', true); if ($filterArray['_clear'] == "1") { fvSite::$fvSession->remove("{$currentUrl}/filter", $filterArray); } else { fvSite::$fvSession->set("{$currentUrl}/filter", $filterArray); } } return true; }
function executeDelete() { $request = fvRequest::getInstance(); if (!($Site = SiteManager::getInstance()->getByPk($request->getRequestParameter('id')))) { $this->setFlash("Ошибка при удалении.", self::$FLASH_ERROR); } else { $Site->delete(); $this->setFlash("Данные успешно удалены", self::$FLASH_SUCCESS); } fvResponce::getInstance()->setHeader('redirect', fvSite::$fvConfig->get('dir_web_root') . $request->getRequestParameter('module') . "/"); if (fvRequest::getInstance()->isXmlHttpRequest()) { return self::$FV_NO_LAYOULT; } else { return self::$FV_OK; } }
function executeDelete() { $request = fvRequest::getInstance(); $id = intval($request->getRequestParameter('id')); if (!($ex = NewsManager::getInstance()->getByPk($id))) { $this->setFlash("Ошибка при удаленни данных. Такой записи не существует", self::$FLASH_ERROR); } else { $ex->getMeta()->delete(); $ex->delete(); $this->setFlash("Данные удалены", self::$FLASH_SUCCESS); } fvResponce::getInstance()->setHeader('redirect', fvSite::$fvConfig->get('dir_web_root') . $request->getRequestParameter('module') . "/"); if (fvRequest::getInstance()->isXmlHttpRequest()) { return self::$FV_AJAX_CALL; } else { return self::$FV_OK; } }
function showIndex() { $filter = fvSite::$fvSession->get(fvRequest::getInstance()->getRequestParameter("requestURL") . "/filter"); $query = null; $params = array(); if (is_array($filter)) { if (!empty($filter['object_name'])) { $query .= ($query ? " AND " : '') . "object_name LIKE ?"; $params[] = '%' . $filter['object_name'] . "%"; $this->__assign('filter_object_name', $filter['object_name']); } if (!empty($filter['date_from'])) { $query .= ($query ? " AND " : '') . "date >= ?"; $params[] = $filter['date_from']; $this->__assign('filter_date_from', $filter['date_from']); } if (!empty($filter['date_to'])) { $query .= ($query ? " AND " : '') . "date <= ?"; $params[] = $filter['date_to']; $this->__assign('filter_date_to', $filter['date_to']); } if (!empty($filter['message'])) { $query .= ($query ? " AND " : '') . "message LIKE ?"; $params[] = '%' . $filter['message'] . '%'; $this->__assign('filter_message', $filter['message']); } if (!empty($filter['operation'])) { $query .= ($query ? " AND " : '') . "operation = ?"; $params[] = $filter['operation']; $this->__assign('filter_operation', $filter['operation']); } if (!empty($filter['manager_id'])) { $query .= ($query ? " AND " : '') . "manager_id = ?"; $params[] = $filter['manager_id']; $this->__assign('filter_manager_id', $filter['manager_id']); } } $pager = new fvPager(LogManager::getInstance()); $this->__assign('Logs', $pager->paginate($query, "date DESC", $params)); $this->__assign('UserManager', UserManager::getInstance()); return $this->__display('log_list.tpl'); }
public function execute() { $currentModule = fvRoute::getInstance()->getModuleName(); $currentAction = fvRoute::getInstance()->getActionName(); if ($currentModule == fvSite::$fvConfig->get("access.login_module")) { return true; } if (fvSite::$fvConfig->get("access.enable") || fvSite::$fvConfig->get("modules.{$currentModule}.access.enable")) { if ($LoggedUser = fvSite::$fvSession->getUser()) { if (fvSite::$fvConfig->get("access.login_acl") && $LoggedUser->check_acl(fvSite::$fvConfig->get("access.login_acl"))) { if (!is_array(fvSite::$fvConfig->get("modules.{$currentModule}.access.acl")) || $LoggedUser->check_acl(fvSite::$fvConfig->get("modules.{$currentModule}.access.acl"), $currentAction)) { return true; } else { fvDispatcher::getInstance()->redirect(fvSite::$fvConfig->get("access.deny_page")); } } else { fvDispatcher::getInstance()->redirect(fvSite::$fvConfig->get("access.deny_page")); } } fvSite::$fvSession->set("login/redirectURL", fvRequest::getInstance()->getRequestParameter('requestURL')); fvDispatcher::getInstance()->forward(fvSite::$fvConfig->get("access.login_page")); return false; } }
/** * Удаление * @author Dmitriy Khoroshilov * @since 2011/07/29 * * @return */ function executeDelete() { try { $id = $this->getRequest()->getRequestParameter('id', 'int', 0); if ($id > 0) { $inst = $this->getManager()->getByPk($id); } else { $inst = $this->getManager()->cloneRootInstance(); } if (!$this->getManager()->isRootInstance($inst)) { fvResponce::getInstance()->setHeader('redirect', $this->getManager()->getBackendListURL()); throw new EUserMessageError("Такая запись не найдена в базе данных"); } if (!$inst->delete()) { throw new EUserMessageError("Ошибка удаления из базы данных. Повторите попытку через несколько минут"); } $this->setFlash("Данные успешно удалены", self::$FLASH_SUCCESS); fvResponce::getInstance()->setHeader('redirect', $this->getManager()->getBackendListURL()); } catch (EUserMessageError $exc) { fvResponce::getInstance()->setHeader('X-JSON', json_encode($exc->getValidationResult())); $this->setFlash($exc->getMessage(), self::$FLASH_ERROR); } return fvRequest::getInstance()->isXmlHttpRequest() ? self::$FV_AJAX_CALL : self::$FV_OK; }
public function processURL($currentURL) { $cur = "http://" . $_SERVER['HTTP_HOST'] . "/" . $currentURL; //if($currentURL != "login") //{ if (!fvSite::$fvSession->get("curURL")) { $prev = $currentURL; } else { $prev = fvSite::$fvSession->get("curURL"); } //} //else //{ // if(fvSite::$fvSession->get("prevURL")) $prev=fvSite::$fvSession->get("prevURL"); //else $prev = fvSite::$fvSession->get("curURL"); // } fvSite::$fvSession->set("prevURL", $prev); fvSite::$fvSession->set("curURL", $cur); if (substr($currentURL, 0, 1) !== '/') { $currentURL = "/" . $currentURL; } $matches = array(); $r = fvRequest::getInstance(); foreach ($this->_routes as $routeName => $route) { $urlArray = explode("/", $route['url']); $url = ''; $paramsArray = array(); $i = 0; foreach ($urlArray as $urlPath) { if (strlen(trim($urlPath)) == 0) { continue; } if (strpos($urlPath, ":") !== false) { if (isset($route['params'][substr($urlPath, 1)])) { $url .= "\\/?(" . $route['params'][substr($urlPath, 1)] . ")"; } else { $url .= "\\/?([^\\/]*)"; } $paramsArray[substr($urlPath, 1)] = ++$i; } else { $url .= "\\/?" . $urlPath; } } if ($url == '') { $url = "\\/"; } if (preg_match("/^" . $url . "/i", $currentURL, $matches)) { $this->_routeName = $routeName; if (!($this->_moduleName = $route['module'] ? $route['module'] : $matches[$paramsArray['module']])) { $this->_moduleName = "index"; } if (!($this->_actionName = $route['action'] ? $route['action'] : $matches[$paramsArray['action']])) { $this->_actionName = "index"; } foreach ($paramsArray as $requestKey => $matchId) { $r->putRequestParameter($requestKey, $matches[$matchId]); } break; } } $this->_requestURL = $currentURL; $r->putRequestParameter('module', $this->_moduleName); $r->putRequestParameter('action', $this->_actionName); $r->putRequestParameter('requestURL', $currentURL); // var_dump(array('module' => $this->_moduleName, 'action' => $this->_actionName) ); return array('module' => $this->_moduleName, 'action' => $this->_actionName); }
function executeReorder() { $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $_xmlContent = fvRequest::getInstance()->getRequestParameter('_xmlContent'); if ($dom->loadXML($_xmlContent)) { $xpth = new DOMXPath($dom); if ($nodeId = fvRequest::getInstance()->getRequestParameter('_nodeId')) { $order = explode(",", fvRequest::getInstance()->getRequestParameter('_nodeOrder')); if (!is_array($order)) { $order = array(); } $currentNode = $xpth->evaluate("//*[@id='{$nodeId}']/*"); foreach ($currentNode as $reorderNode) { $reorderNode->setAttribute('order', $order[$reorderNode->getAttribute('order')]); } fvResponce::getInstance()->setHeader("X-JSON", json_encode(array('_xmlContent' => $dom->saveXML()))); } } if (fvRequest::getInstance()->isXmlHttpRequest()) { return self::$FV_AJAX_CALL; } else { $this->redirect404(); } }
function executeGetparams() { if (!fvRequest::getInstance()->isXmlHttpRequest()) { return false; } $Group = UserGroupManager::getInstance()->getByPk(fvRequest::getInstance()->getRequestParameter("group_id")); if (!$Group instanceof UserGroup) { return false; } fvResponce::getInstance()->setHeader('X-JSON', json_encode($Group->permitions)); return self::$FV_AJAX_CALL; }
public function getPreviousPage() { if ($this->_currentPage == 0) { return 'javascript:void(0)'; } $href = fvRequest::getInstance()->parseQueryString($_SERVER['REQUEST_URI'], $this->_paramName, $this->_currentPage - 1); return $href; }
function showGetmoduleparam() { $moduleName = fvRequest::getInstance()->getRequestParameter("module_name"); $moduleView = fvRequest::getInstance()->getRequestParameter("module_view"); $parameters = $this->appConfig->get("modules.{$moduleName}.params.{$moduleView}"); if (!is_array($parameters)) { return ''; } $currentParams = array(); $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $_xmlContent = fvRequest::getInstance()->getRequestParameter('_xmlContent'); if ($dom->loadXML($_xmlContent)) { $xpth = new DOMXPath($dom); if ($nodeId = fvRequest::getInstance()->getRequestParameter('_nodeId')) { $currentNode = $xpth->evaluate("//*[@id='{$nodeId}']"); if ($currentNode->length == 1) { $currentNode = $currentNode->item(0); } else { return ''; } $currentParams = unserialize($currentNode->getAttribute("parameters")); if (!is_array($currentParams)) { $currentParams = array(); } } } $displayParams = array(); foreach ($parameters as $name => $value) { $displayParams[] = array("name" => $name, "label" => $value['name'], "value" => array_key_exists($name, $currentParams) ? $currentParams[$name] : $value['default']); } if (count($displayParams) > 0) { $this->__assign('displayParams', $displayParams); return $this->__display("module_p.tpl"); } else { return ''; } }
protected function __construct() { $this->_request = fvRequest::getInstance(); $this->_route = fvRoute::getInstance(); $this->_responce = fvResponce::getInstance(); }
/** * Установка метатегов страницы * * @param array $arrTags * @param array $arrVal * @param string $delimiter */ public function setMetaTags($arrTags = array(), $delimiter = ',') { $arrTagSite = array('title' => trim($this->_title), 'description' => trim($this->_description), 'keywords' => trim($this->_keywords)); $req = fvRequest::getInstance(); $default = $req->getRequestParameter('module') . ' :: ' . $req->getRequestParameter('action'); if ($arrTags) { foreach ($arrTags as $tag => $value) { if (is_array($value)) { $value = implode($delimiter, $value); } $arrTagSite = preg_replace("(%{$tag}%)", $value, $arrTagSite); } } $this->_title = $arrTagSite['title'] ? $arrTagSite['title'] : $default; $this->_description = $arrTagSite['description'] ? $arrTagSite['description'] : $default; $this->_keywords = $arrTagSite['keywords'] ? $arrTagSite['keywords'] : $default; }
public function getModuleName($module = false) { $module = $module ? $module : fvRequest::getInstance()->getRequestParameter('module'); return $this->get('modules.' . $module . '.name'); }
public static function initilize() { //include core classes. Exceptions. //echo "1"; if (!fvSite::$fvConfig instanceof fvConfig) { user_error("Can't find loaded config class", E_USER_ERROR); } $exceptionsDir = fvSite::$fvConfig->get("path.exceptions", "../classes/exceptions/"); foreach (glob("{$exceptionsDir}*.class.php") as $exceptions) { require_once $exceptions; } //ititilize DB core require_once fvSite::$fvConfig->get("path.classes", "../classes/") . "DB.php"; if (!($dsn = fvSite::$fvConfig->get("database.dsn"))) { $dsn = fvSite::$fvConfig->get("database.driver", "mysql") . "://" . fvSite::$fvConfig->get("database.user", "root") . ":" . fvSite::$fvConfig->get("database.pass", "") . "@" . fvSite::$fvConfig->get("database.host", "localhost") . "/" . fvSite::$fvConfig->get("database.name", "fv"); } PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, "errorHandler"); $DB = DB::connect($dsn); $DB->setFetchMode(DB_FETCHMODE_ASSOC); $DB->query("set names utf8"); fvSite::setDB($DB); //try to load schema yml fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.config") . "schema.yml", true); if (file_exists(fvSite::$fvConfig->get("path.config") . "acl.yml")) { fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.config") . "acl.yml", true); } //initilize core classes $entityDir = fvSite::$fvConfig->get("path.entity", "../classes/entity/"); $classDir = fvSite::$fvConfig->get("path.classes", "../classes/"); $filterDir = fvSite::$fvConfig->get("path.filters", "../classes/filter"); $interfaceDir = fvSite::$fvConfig->get("path.interfaces", "../classes/interface"); foreach (glob("{$interfaceDir}i*.interface.php") as $entity) { require_once $entity; } foreach (glob("{$classDir}*.class.php") as $entity) { require_once $entity; } foreach (glob("{$entityDir}fv*.class.php") as $entity) { //echo "$entity<br/>"; require_once $entity; } // echo "2"; foreach (glob("{$filterDir}fv*.class.php") as $entity) { require_once $entity; } foreach (glob("{$entityDir}*_manager.class.php") as $entity) { if (strpos("root", $entity) === false) { require_once $entity; } } self::setParams(fvParams::getInstance()); //try to initilize template engine, if we have an application definded require_once fvSite::$fvConfig->get("path.classes", "../classes/") . "fvSession.class.php"; $fvSession = new fvSession(fvSite::$fvConfig->get("session.sess_name", "fv_session"), fvSite::$fvConfig->get("session.life_time", 3600), fvSite::$fvConfig->get("session.table", "fv_session")); $fvSession->start(); fvSite::setSession($fvSession); fvSite::setRequest(fvRequest::getInstance()); if (defined("FV_APP")) { //Load main application config fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.application." . FV_APP . ".config") . "app.yml", true); require_once fvSite::$fvConfig->get("path.smarty.class_path") . "smarty.class.php"; $smarty = new Smarty(); $smarty->template_dir = fvSite::$fvConfig->get("path.smarty.template"); $smarty->compile_dir = fvSite::$fvConfig->get("path.smarty.compile"); fvSite::setTemplate($smarty); fvSite::$Template->assign("fvConfig", fvSite::$fvConfig); fvSite::$Template->assign("fvUser", fvSite::$fvSession->getUser()); //Load routes for application fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.application." . FV_APP . ".config") . "routes.yml", true); //Load modules config fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.application." . FV_APP . ".config") . "modules.yml", true); fvSite::$currentModules = fvSite::$fvConfig->get("modules"); //Load app classes if (file_exists(fvSite::$fvConfig->get("path.application." . FV_APP . ".config") . "acl.yml")) { fvSite::$fvConfig->Load(fvSite::$fvConfig->get("path.application." . FV_APP . ".config") . "acl.yml", true); } //Load app classes //Загрузка конфига с переводами и ключами if (file_exists(fvSite::$fvConfig->get("path.config") . "languages.txt")) { fvSite::$fvConfig->appendToConfig("transliterate", unserialize(file_get_contents(fvSite::$fvConfig->get("path.config") . "languages.txt"))); } $appClassesDir = fvSite::$fvConfig->get("path.application." . FV_APP . ".classes"); foreach (glob("{$appClassesDir}*.class.php") as $entity) { require_once $entity; } } }