本文整理汇总了PHP中CMS::app_path方法的典型用法代码示例。如果您正苦于以下问题:PHP CMS::app_path方法的具体用法?PHP CMS::app_path怎么用?PHP CMS::app_path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMS
的用法示例。
在下文中一共展示了CMS::app_path方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setup
public function setup()
{
if ($this->auth_realm == 'admin') {
$this->auth_realm = CMS::$admin_realm;
}
return parent::setup()->native_views(CMS::app_path("components/" . CMS::$current_component_name . "/views"));
}
示例2: route
public function route($request)
{
$uri = trim(strtolower($this->clean_url($request->uri)));
if (CMS_FSPages::$with_htm_extension) {
$uri = preg_replace('{\\.htm$}', '/', $uri);
}
$path = '';
if ($uri == '/') {
$path = '/';
} elseif ($m = Core_Regexps::match_with_results('{^/(.+)/$}', $uri)) {
foreach (explode('/', $m[1]) as $chunk) {
if (Core_Regexps::match('{[a-z0-9_-]+}', $chunk)) {
$path .= "/{$chunk}";
}
}
}
if ($path != '') {
$dirs = array(CMS::$taopath . '/views/pages', CMS::app_path('views/pages'));
/**
* @event cms.fspages.dirs
* @arg $dirs Список каталогов
* Событие генерируется механизмом статических страниц (CMS.FSPages) для уточнения списка каталогов, в которых ищутся шаблоны. При необходимости в список можно добавить свой каталог.
*/
Events::call('cms.fspages.dirs', $dirs);
if (count($dirs) > 0) {
for ($i = count($dirs) - 1; $i >= 0; $i--) {
$dir = $dirs[$i];
$page = false;
$page_path = "{$dir}{$path}/index.phtml";
if (IO_FS::exists($page_path)) {
$page = $page_path;
} else {
$page_path = "{$dir}/{$path}.phtml";
if (IO_FS::exists($page_path)) {
$page = $page_path;
}
}
if ($page) {
return array('controller' => 'CMS.Controller.FSPages', 'action' => 'index', $page);
}
}
}
}
return false;
}
示例3: page_navigator
public function page_navigator($view, $pagenum, $numpages, $url)
{
$app = CMS::app_path('views/helpers');
$lib = CMS::tao_view('helpers');
$templates = array();
if (CMS::admin()) {
$templates[] = "{$app}/page-navigator-admin.phtml";
$templates[] = "{$lib}/page-navigator-admin.phtml";
} else {
$templates[] = "{$app}/page-navigator-site.phtml";
$templates[] = "{$app}/page-navigator.phtml";
}
$templates[] = "{$lib}/page-navigator.phtml";
foreach ($templates as $template) {
if (IO_FS::exists($template)) {
break;
}
}
self::$pn_url = $url;
self::$pn_current = $pagenum;
return $view->partial($template, array('tpl' => $url, 'page' => $pagenum, 'numpages' => $numpages));
}
示例4: setup
/**
* @return CMS_Controller_Index
*/
public function setup()
{
return parent::setup()->use_views_from(CMS::app_path('views'));
}
示例5: lang_messages_for
protected function lang_messages_for($file, $lang)
{
$dir = CMS::site_dir();
if (strpos($file, $dir) === 0) {
$rfile = substr($file, strlen($dir));
} else {
return false;
}
$files = array();
if (strpos($rfile, 'tao/') === 0) {
$rfile = substr($rfile, 4);
$this->add_lang_file_if_exists($files, CMS::tao_path("lang/{$rfile}/{$lang}.php"));
}
$components_dir = $this->components_dir();
if (strpos($file, $components_dir) === 0) {
$cfile = substr($file, strlen($components_dir));
if ($m = Core_Regexps::match_with_results('{^/([^/]+)/(.+)$}', $cfile)) {
$component = $m[1];
$cfile = $m[2];
$this->add_lang_file_if_exists($files, CMS::component_dir($component, "app/lang/{$lang}.php"));
$this->add_lang_file_if_exists($files, CMS::component_dir($component, "lang/{$lang}.php"));
$this->add_lang_file_if_exists($files, CMS::component_dir($component, "app/lang/{$cfile}/{$lang}.php"));
$this->add_lang_file_if_exists($files, CMS::component_dir($component, "lang/{$cfile}/{$lang}.php"));
}
}
$this->add_lang_file_if_exists($files, CMS::app_path("lang/{$lang}.php"));
$this->add_lang_file_if_exists($files, CMS::app_path("lang/{$rfile}/{$lang}.php"));
if (count($files) == 0) {
return false;
}
$messages = array();
foreach ($files as $file) {
$fm = (include $file);
if (is_array($fm)) {
$messages = array_merge($messages, $fm);
}
}
if (count($messages) == 0) {
return false;
}
return $messages;
}
示例6: embedded_admin_menu
/**
* @return string
*/
static function embedded_admin_menu($style = '')
{
$menu = CMS::navigation()->admin();
if (!$menu || $menu->count() == 0) {
return '';
}
ob_start();
if (IO_FS::exists(CMS::app_path('views/embedded-admin-menu.phtml'))) {
include CMS::app_path('views/embedded-admin-menu.phtml');
} else {
include CMS::views_path('embedded-admin-menu.phtml');
}
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
示例7: run
/**
* @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);
}
}