return TYPEF_ROOT_WEB_DIR . '/files/static' . $path; } else { // TODO: This might not be the best default. Should it trigger an error? return TYPEF_ROOT_WEB_DIR . $path; }*/ } else { if (Typeframe_Skin::Current() != TYPEF_SITE_SKIN && $uri != TYPEF_WEB_DIR . '/admin' && substr($uri, 0, strlen(TYPEF_WEB_DIR . '/admin/')) != TYPEF_WEB_DIR . '/admin/') { if (file_exists(TYPEF_DIR . '/skins/' . TYPEF_SITE_SKIN . $path)) { return TYPEF_ROOT_WEB_DIR . '/skins/' . TYPEF_SITE_SKIN . $path; } } else { return TYPEF_ROOT_WEB_DIR . '/skins/default' . $path; } } } Pagemill_Data::RegisterExprFunc('skin_path', 'skin_path'); //$skin = Pagemill_Tag_Html::Skin(); //Typeframe::SetTemplatePath(TYPEF_DIR . '/skins/' . $skin . '/templates;' . ($skin != 'default' ? TYPEF_DIR . '/skins/default/templates' . ';' : '') . TYPEF_SOURCE_DIR . '/templates'); if (!function_exists('http_response_code')) { function http_response_code($code = NULL) { static $status = 200; if ($code !== NULL) { switch ($code) { case 100: $text = 'Continue'; break; case 101: $text = 'Switching Protocols'; break; case 200:
Pagemill_Data::RegisterExprFunc('is_null', 'is_null'); Pagemill_Data::RegisterExprFunc('is_object', 'is_object'); Pagemill_Data::RegisterExprFunc('is_scalar', 'is_scalar'); Pagemill_Data::RegisterExprFunc('is_string', 'is_string'); Pagemill_Data::RegisterExprFunc('nl2br', 'nl2br'); Pagemill_Data::RegisterExprFunc(array('format_number', 'number_format'), 'number_format'); Pagemill_Data::RegisterExprFunc('preg_replace', 'preg_replace'); Pagemill_Data::RegisterExprFunc('rand', 'rand'); Pagemill_Data::RegisterExprFunc('round', 'round'); Pagemill_Data::RegisterExprFunc(array('replace', 'str_replace'), 'str_replace'); Pagemill_Data::RegisterExprFunc('strlen', 'strlen'); Pagemill_Data::RegisterExprFunc(array('lowercase', 'strtolower'), 'strtolower'); Pagemill_Data::RegisterExprFunc(array('uppercase', 'strtoupper'), 'strtoupper'); Pagemill_Data::RegisterExprFunc(array('substr', 'substring'), 'substr'); Pagemill_Data::RegisterExprFunc('trim', 'trim'); Pagemill_Data::RegisterExprFunc('urlencode', 'urlencode'); Pagemill_Data::RegisterExprFunc('urldecode', 'urldecode'); Pagemill_Data::RegisterExprFunc('begins', 'Pagemill_ExprFunc::begins'); Pagemill_Data::RegisterExprFunc('contains', 'Pagemill_ExprFunc::contains'); Pagemill_Data::RegisterExprFunc('count', 'Pagemill_ExprFunc::count'); Pagemill_Data::RegisterExprFunc(array('empty', 'is_empty'), 'Pagemill_ExprFunc::is_empty'); Pagemill_Data::RegisterExprFunc('ends', 'Pagemill_ExprFunc::ends'); Pagemill_Data::RegisterExprFunc('format_phone', 'Pagemill_ExprFunc::format_phone'); Pagemill_Data::RegisterExprFunc(array('date', 'format_date'), 'Pagemill_ExprFunc::format_date'); Pagemill_Data::RegisterExprFunc('json_encode', 'Pagemill_ExprFunc::json_encode'); Pagemill_Data::RegisterExprFunc('pluralize', 'Pagemill_ExprFunc::pluralize'); Pagemill_Data::RegisterExprFunc('var_dump', 'Pagemill_ExprFunc::var_dump'); Pagemill_Data::RegisterExprFunc('sum', 'Pagemill_ExprFunc::sum'); Pagemill_Data::RegisterExprFunc('avg', 'Pagemill_ExprFunc::avg'); Pagemill_Data::RegisterExprFunc('ucwords', 'Pagemill_ExprFunc::uc_words');
function useFormHandler($form) { return array('fields' => $form->fields(), 'errors' => $form->errors()); } function useFormField($field) { return $field->data(); } Pagemill_Data::ClassHandler('Dbi_Model', 'useModel'); Pagemill_Data::ClassHandler('Form_Handler', 'useFormHandler'); Pagemill_Data::ClassHandler('Form_Field', 'useFormField'); Pagemill_Data::RegisterExprFunc('default_date', 'Typeframe_ExprFunc::default_date'); Pagemill_Data::RegisterExprFunc('default_date_time', 'Typeframe_ExprFunc::default_date_time'); Pagemill_Data::RegisterExprFunc('default_date_time_w_seconds', 'Typeframe_ExprFunc::default_date_time_w_seconds'); Pagemill_Data::RegisterExprFunc('skin_path', 'Typeframe_Skin::SkinPath'); Pagemill_Data::RegisterExprFunc('allow', 'Typeframe::Allow'); Pagemill_Data::RegisterExprFunc('shorten', 'Bam_Functions::GetIntro'); Pagemill_Data::RegisterExprFunc('count_plugins_for', 'Typeframe_Tag_Socket::CountPluginsFor'); Pagemill_Data::RegisterExprFunc('resize_image', 'Typeframe_ExprFunc::resize_image'); Pagemill_Data::RegisterExprFunc('strpos', 'strpos'); // TODO: Experimenting with session management in Typeframe_Response->execute(). if (isset($_SERVER['HTTP_HOST'])) { session_set_cookie_params(ini_get('session.cookie_lifetime'), TYPEF_WEB_DIR ? TYPEF_WEB_DIR . '/' : '/', defined('TYPEF_HOST') ? '.' . str_replace('www.', '', TYPEF_HOST) : ini_get('session.cookie_domain')); session_start(); } $dir = scandir(TYPEF_SOURCE_DIR . '/scripts/define.d'); foreach ($dir as $file) { if (substr($file, 0, 1) != '.' && is_file(TYPEF_SOURCE_DIR . '/scripts/define.d/' . $file)) { require_once TYPEF_SOURCE_DIR . '/scripts/define.d/' . $file; } }
<?php Pagemill_Data::RegisterExprFunc('breadcrumb', 'Plugin_Breadcrumbs::SavedState'); // Remember query strings for GET requests so the state of a page can be // included in its breadcrumb link // The query string can be recovered using Plugin_Breadcrumbs::SavedState($url) if (Typeframe::CurrentPage()->application()->name() == '403' || Typeframe::CurrentPage()->application()->name() == '404') { return; } if ($_SERVER['REQUEST_METHOD'] == 'GET') { if (!isset($_SESSION['breadcrumbs'])) { $_SESSION['breadcrumbs'] = array(); } if (Typeframe::CurrentPage()->uri() == Typeframe::CurrentPage()->applicationUri()) { $_SESSION['breadcrumbs'][Typeframe::CurrentPage()->uri()] = array('title' => Typeframe::CurrentPage()->page()->title(), 'query' => $_SERVER['QUERY_STRING']); } // Clear deeper URLs; i.e., if the user browsed to a page higher in the directory structure // (/foo) than a URL with a saved state (/foo/bar), unset the saved state foreach ($_SESSION['breadcrumbs'] as $k => $v) { if (strlen($k) > strlen(Typeframe::CurrentPage()->uri())) { unset($_SESSION['getcrumbs'][$k]); } } }