Exemple #1
0
 protected function get_lang_file($data)
 {
     $lang_file = false;
     $lang_file = $data['lang_file'];
     $lang = $this->get_lang($data);
     $path = "jquery/lang/{$lang}.js";
     if ($data['lang_file']) {
         $lang_file = $data['lang_file'];
     } elseif (IO_FS::exists('scripts/' . $path)) {
         $lang_file = $path;
     } elseif (IO_FS::exists(CMS::stdfile('scripts/' . $path))) {
         $lang_file = CMS::stdfile_url('scripts/' . $path);
     }
     return $lang_file;
 }
Exemple #2
0
 /**
  * @param string       $title
  * @param string       $uri
  * @param string|false $icon
  * @param array|false  $submenu
  */
 static function menu_process($title, $item, $p1 = false, $p2 = false)
 {
     $sub = false;
     $icon = 'default';
     if (is_array($p1)) {
         $sub = $p1;
     }
     if (is_array($p2)) {
         $sub = $p2;
     }
     if (is_string($p1)) {
         $icon = $p1;
     }
     if (is_string($p2)) {
         $icon = $p2;
     }
     self::$admin_menu[$title] = $item;
     if (!Core_Regexps::match('{\\.([a-z]+)$}', $icon)) {
         $icon .= '.gif';
     }
     if (IO_FS::exists("./image/admin/components/{$icon}")) {
         $icon = "/image/admin/components/{$icon}";
     } else {
         if (IO_FS::exists(CMS::stdfile("images/components/{$icon}"))) {
             $icon = CMS::stdfile_url("images/components/{$icon}");
         } else {
             $icon = CMS::stdfile_url('images/components/default.gif');
         }
     }
     self::$menu[] = array('t' => $title, 'u' => $item, 's' => $sub, 'i' => $icon);
 }
Exemple #3
0
 /**
  * Список файлов для подключения в формате Templates_HTML::use_file
  *
  * @see    Templates_HTML::use_file
  * @return [type] [description]
  */
 public function include_files()
 {
     return array_merge(array(array('name' => '/' . CMS::stdfile('scripts/tao/editor.js'), 'type' => 'lib')), $this->libraries_files(), $this->application_files());
 }
Exemple #4
0
 /**
  * @param WebKit_Environment   $env
  * @param WebKit_HTTP_Response $response
  *
  * @return Iterator
  */
 public function run(WS_Environment $env)
 {
     $response = $env->response;
     $uri = $env->request->urn;
     /**
      * @event cms.actions.dispatch
      *
      * Вызывается перед началом диспетчеризации запроса.
      * Здесь можно подменить что-нибудь в запросе, обратившись к WS::env()->request, выполнить какие-либо действия,
      * а также вернуть объект Net_HTTP_Response - в этом случае диспетчеризация даже не начнется,
      * а будет использован возвращенный отклик.
      *
      * @arg $uri REQUEST_URI
      */
     $rs = Events::call('cms.actions.dispatch', $uri);
     if (!is_null($rs)) {
         return $rs;
     }
     if ($m = Core_Regexps::match_with_results('{^/cms-actions/(.+)}', $uri)) {
         $action = preg_replace('{\\?.+$}', '', $m[1]);
         if ($m = Core_Regexps::match_with_results('{^files/(.+)/(\\d+)/$}', $action)) {
             $file = CMS::stdfile(trim($m[1]));
             if (!IO_FS::exists($file)) {
                 return $response->status(Net_HTTP::NOT_FOUND);
             }
             return Net_HTTP::Download($file);
         }
         if ($m = Core_Regexps::match_with_results('{^subsite/(.+)}', $action)) {
             $site = $m[1];
             CMS_Admin::set_site($site);
             $path = CMS::$admin;
             header("location: /{$path}/");
             die;
         }
         if ($m = Core_Regexps::match_with_results('{^help/([^/]+)/([^/]+)/(.+)/$}', $action)) {
             $stddir = CMS::$taopath . '/views/help';
             $file = "{$stddir}/en/_notfound";
             if ($m[1] == '_app') {
                 $dir = trim($m[2]);
                 $f = trim($m[3]);
                 $f = CMS::app_path("help/{$dir}/{$f}");
                 if (file_exists($f)) {
                     $file = $f;
                 }
             } else {
                 $lang = trim($m[1]);
                 $component = trim($m[2]);
                 $help = trim($m[3]);
                 $dir = $component == '_std' ? $stddir : CMS::app_path("components/{$component}/help");
                 $file = "{$dir}/{$lang}/{$help}";
                 if (!file_exists($file)) {
                     $file = "{$dir}/{$help}";
                     if (!file_exists($file)) {
                         $file = "{$dir}/ru/{$help}";
                         if (!file_exists($file)) {
                             $file = "{$stddir}/{$lang}/_notfound";
                             if (!file_exists($file)) {
                                 "{$stddir}/en/_notfound";
                             }
                         }
                     }
                 }
             }
             $content = CMS::parse_wiki(file_get_contents($file));
             include "{$stddir}/screen.phtml";
             die;
         }
     }
     if (md5($uri) == '5dc55ea23076fc98474b89cfd51ef6f2') {
         die($uri . ' ok');
     }
     //FIXME: move to status middleware
     try {
         $r = $this->application->run($env);
         if ($r instanceof Net_HTTP_Response && $r->status->code == 404) {
             return $this->not_found($env->request->urn, $env, $r);
         }
         return $r;
     } catch (WebKit_Controller_NoRouteException $e) {
         return $this->not_found($e->url, $env, $response);
     }
 }