Esempio n. 1
0
 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;
 }
Esempio n. 3
0
 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');
 }
Esempio n. 4
0
 function showGenerateurl()
 {
     $thisRequest = fvRequest::getInstance();
     $transliterator = new Translit();
     $url = $transliterator->Transliterate($thisRequest->getRequestParameter("name"));
     $this->__assign('url', $url);
     return $this->__display('generateurl.tpl');
 }
Esempio n. 5
0
 function executeLoginform()
 {
     if (!fvRequest::getInstance()->isXmlHttpRequest()) {
         $this->redirect404();
     } else {
         return self::$FV_AJAX_CALL;
     }
 }
Esempio n. 6
0
 function executeIndex()
 {
     if (!fvRequest::getInstance()->isXmlHttpRequest()) {
         return self::$FV_OK;
     } else {
         return self::$FV_AJAX_CALL;
     }
 }
Esempio n. 7
0
 function executeGetparameterslist()
 {
     if (fvRequest::getInstance()->isXmlHttpRequest()) {
         return self::$FV_AJAX_CALL;
     } else {
         $this->redirect404();
     }
 }
Esempio n. 8
0
 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');
 }
Esempio n. 9
0
 function executeIndex()
 {
     if (!fvRequest::getInstance()->isXmlHttpRequest()) {
         $this->current_page->setTitle('Index Page');
         return self::$FV_OK;
     } else {
         return self::$FV_AJAX_CALL;
     }
 }
Esempio n. 10
0
 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");
 }
Esempio n. 11
0
 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;
 }
Esempio n. 12
0
 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);
     }
 }
Esempio n. 13
0
 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;
 }
Esempio n. 15
0
 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;
     }
 }
Esempio n. 16
0
 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;
     }
 }
Esempio n. 17
0
 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;
 }
Esempio n. 20
0
 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);
 }
Esempio n. 21
0
 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();
     }
 }
Esempio n. 22
0
 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;
 }
Esempio n. 23
0
 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;
 }
Esempio n. 24
0
 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();
 }
Esempio n. 26
0
 /**
  * Установка метатегов страницы
  * 
  * @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;
 }
Esempio n. 27
0
 public function getModuleName($module = false)
 {
     $module = $module ? $module : fvRequest::getInstance()->getRequestParameter('module');
     return $this->get('modules.' . $module . '.name');
 }
Esempio n. 28
0
 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;
         }
     }
 }