diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index f1c2d8034..85953e460 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -3099,6 +3099,10 @@ class e_admin_ui extends e_admin_controller_ui $this->getTreeModel()->setMessages(); } } + else + { + $this->getTreeModel()->setMessages();// errors + } } } @@ -3205,7 +3209,6 @@ class e_admin_ui extends e_admin_controller_ui */ function EditHeader() { - // TODO - make it part of e_from::textarea/bbarea(), invoke it on className (not all textarea elements) e107::getJs()->requireCoreLib('core/admin.js'); } diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index d89999424..283793ed9 100644 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -9,9 +9,9 @@ * e107 Main * * $Source: /cvs_backup/e107_0.8/e107_handlers/e107_class.php,v $ - * $Revision: 1.92 $ - * $Date: 2009-12-12 11:01:03 $ - * $Author: e107coders $ + * $Revision: 1.93 $ + * $Date: 2009-12-12 16:40:41 $ + * $Author: secretr $ */ if (!defined('e107_INIT')) { exit; } @@ -1216,14 +1216,15 @@ class e107 * @param string|null $key * @param boolean $override see {@link getThemeInfo()) * @param boolean $merge merge theme with core templates, default is false + * @param boolean $info retrieve template info only * @return string|array */ - public static function getCoreTemplate($id, $key = null, $override = true, $merge = false) + public static function getCoreTemplate($id, $key = null, $override = true, $merge = false, $info = false) { $reg_path = 'core/e107/templates/'.$id.($override ? '/ext' : ''); $path = self::coreTemplatePath($id, $override); $id = str_replace('/', '_', $id); - $ret = self::_getTemplate($id, $key, $reg_path, $path); + $ret = self::_getTemplate($id, $key, $reg_path, $path, $info); if(!$merge || !$override || !is_array($ret)) { return $ret; @@ -1233,7 +1234,7 @@ class e107 $reg_path = 'core/e107/templates/'.$id; $path = self::coreTemplatePath($id, false); $id = str_replace('/', '_', $id); - $ret_core = self::_getTemplate($id, $key, $reg_path, $path); + $ret_core = self::_getTemplate($id, $key, $reg_path, $path, $info); return (is_array($ret_core) ? array_merge($ret_core, $ret) : $ret); } @@ -1261,14 +1262,15 @@ class e107 * @param string|null $key * @param boolean $override see {@link getThemeInfo()) * @param boolean $merge merge theme with plugin templates, default is false + * @param boolean $info retrieve template info only * @return string|array */ - public static function getTemplate($plug_name, $id, $key = null, $override = true, $merge = false) + public static function getTemplate($plug_name, $id, $key = null, $override = true, $merge = false, $info = false) { $reg_path = 'plugin/'.$plug_name.'/templates/'.$id.($override ? '/ext' : ''); $path = self::templatePath($plug_name, $id, $override); $id = str_replace('/', '_', $id); - $ret = self::_getTemplate($id, $key, $reg_path, $path); + $ret = self::_getTemplate($id, $key, $reg_path, $path, $info); if(!$merge || !$override || !is_array($ret)) { return $ret; @@ -1278,10 +1280,38 @@ class e107 $reg_path = 'plugin/'.$plug_name.'/templates/'.$id; $path = self::templatePath($plug_name, $id, false); $id = str_replace('/', '_', $id); - $ret_plug = self::_getTemplate($id, $key, $reg_path, $path); + $ret_plug = self::_getTemplate($id, $key, $reg_path, $path, $info); return (is_array($ret_plug) ? array_merge($ret_plug, $ret) : $ret); } + + /** + * Get Template Info array. + * Note: Available only after getTemplate()/getCoreTemplate() call + * + * @param string $plug_name if null - search for core template + * @param string $id + * @param string $key + * @param boolean $override + * @param boolean $merge + * @return array + */ + public function getTemplateInfo($plug_name = null, $id, $key = null, $override = true, $merge = false) + { + if($plug_name) + { + $ret = self::getTemplate($plug_name, $id, null, $override, $merge, true); + } + else + { + $ret = self::getCoreTemplate($id, null, $override, $merge, true); + } + if($key && isset($ret[$key]) && is_array($ret[$key])) + { + return $ret[$key]; + } + return $ret; + } /** * Return a list of available template IDs for a plugin(eg. $MYTEMPLATE['my_id'] -> array('id' => 'My Id')) @@ -1289,18 +1319,21 @@ class e107 * @param string $template_id [optional] if different from $plugin_name; * @param mixed $where true - current theme, 'admin' - admin theme, 'front' (default) - front theme * @param boolean $merge merge theme with core/plugin layouts, default is false + * @param boolean $allinfo reutrn nimerical array of templates and all available template information * @return array */ - public static function getLayouts($plugin_name, $template_id = '', $where = 'front', $filter_mask = '', $merge = false) + public static function getLayouts($plugin_name, $template_id = '', $where = 'front', $filter_mask = '', $merge = false, $allinfo = true) { if(!$plugin_name) // Core template { $tmp = self::getCoreTemplate($template_id, null, $where, $merge); + $tmp_info = self::getTemplateInfo(null, $template_id, null, $where, $merge); } else // Plugin template { $id = (!$template_id) ? $plugin_name : $template_id; $tmp = self::getTemplate($plugin_name, $id, null, $where, $merge); + $tmp_info = self::getTemplateInfo($plugin_name, $id, null, $where, $merge); } $templates = array(); @@ -1314,11 +1347,6 @@ class e107 } foreach($tmp as $key => $val) { - // Special key INFO in format aray('layout' => array(info)) - if($key == '__INFO__') - { - continue; - } $match = true; if($filter_mask) { @@ -1333,44 +1361,51 @@ class e107 } if(!$match) continue; } - if(isset($tmp['__INFO__'][$key])) + if(isset($tmp_info[$key])) { - $templates[$key] = defset($tmp['__INFO__'][$key]['title'], $tmp['__INFO__'][$key]['title']); + $templates[$key] = defset($tmp_info[$key]['title'], $tmp_info[$key]['title']); continue; } $templates[$key] = implode(' ', array_map('ucfirst', explode('_', $key))); //TODO add LANS? } - return $templates; + return ($allinfo ? array($templates, $tmp_info) : $templates); } /** * More abstsract template loader, used * internal in {@link getTemplate()} and {@link getCoreTemplate()} methods + * If $info is set to true, only template informational array will be returned * * @param string $id * @param string|null $key * @param string $reg_path - * @param string $default_path - * @param string $override_path + * @param string $path + * @param boolean $info * @return string|array */ - public static function _getTemplate($id, $key, $reg_path, $path) + public static function _getTemplate($id, $key, $reg_path, $path, $info = false) { $regPath = $reg_path; $var = strtoupper($id).'_TEMPLATE'; + $regPathInfo = $reg_path.'/info'; + $var_info = strtoupper($id).'_INFO'; if(null === self::getRegistry($regPath)) { (deftrue('E107_DEBUG_LEVEL') ? include_once($path) : @include_once($path)); self::setRegistry($regPath, (isset($$var) ? $$var : array())); } + if(null === self::getRegistry($regPathInfo)) + { + self::setRegistry($regPathInfo, (isset($$var_info) && is_array($$var_info) ? $$var_info : array())); + } + $ret = (!$info ? self::getRegistry($regPath) : self::getRegistry($regPathInfo)); if(!$key) { - return self::getRegistry($regPath); + return $ret; } - $ret = self::getRegistry($regPath); - return ($ret && is_array($ret) && isset($ret[$key]) ? $ret[$key] : (is_array($ret) ? array() : '')); + return ($ret && is_array($ret) && isset($ret[$key]) ? $ret[$key] : ''); } /** diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index ba471c764..b73ef41dc 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -9,9 +9,9 @@ * Form Handler * * $Source: /cvs_backup/e107_0.8/e107_handlers/form_handler.php,v $ - * $Revision: 1.96 $ - * $Date: 2009-12-11 00:51:19 $ - * $Author: e107coders $ + * $Revision: 1.97 $ + * $Date: 2009-12-12 16:40:40 $ + * $Author: secretr $ * */ @@ -407,14 +407,14 @@ class e_form } - function radio_multi($name, $elements, $checked, $multi_line = false) + function radio_multi($name, $elements, $checked, $multi_line = false, $help = array()) { $text = array(); if(is_string($elements)) parse_str($elements, $elements); foreach ($elements as $value => $label) { - $text[] = $this->radio($name, $value, $checked == $value)."".$this->label($label, $name, $value); + $text[] = $this->radio($name, $value, $checked == $value)."".$this->label($label, $name, $value).(isset($help[$value]) ? "
".$help[$value]."
" : ''); } if(!$multi_line) return implode("  ", $text); @@ -1351,12 +1351,23 @@ class e_form $where = vartrue($parms['area'], 'front'); //default is 'front' $filter = varset($parms['filter']); $merge = vartrue($parms['merge']) ? true : false; - $layouts = e107::getLayouts($location, $ilocation, $where, $filter, $merge); - if(varset($parms['default']) && !isset($layouts['default'])) + $layouts = e107::getLayouts($location, $ilocation, $where, $filter, $merge, true); + if(varset($parms['default']) && !isset($layouts[0]['default'])) { - $layouts = array('default' => $parms['default']) + $layouts; + $layouts[0] = array('default' => $parms['default']) + $layouts[0]; } - return (vartrue($parms['raw']) ? $layouts : $this->selectbox($key, $layouts, $value)); + $info = array(); + if($layouts[1]) + { + foreach ($layouts[1] as $key => $info_array) + { + if(isset($info_array['description'])) + $info[$key] = defset($info_array['description'], $info_array['description']); + } + } + + //$this->selectbox($key, $layouts, $value) + return (vartrue($parms['raw']) ? $layouts[0] : $this->radio_multi($key, $layouts[0], $value, true, $info)); break; case 'templates': //to do - exclude param (exact match) diff --git a/e107_handlers/shortcode_handler.php b/e107_handlers/shortcode_handler.php index 32c309e24..4358e02dd 100644 --- a/e107_handlers/shortcode_handler.php +++ b/e107_handlers/shortcode_handler.php @@ -9,9 +9,9 @@ * e107 Shortcode handler * * $Source: /cvs_backup/e107_0.8/e107_handlers/shortcode_handler.php,v $ - * $Revision: 1.38 $ - * $Date: 2009-11-23 10:27:42 $ - * $Author: e107coders $ + * $Revision: 1.39 $ + * $Date: 2009-12-12 16:40:41 $ + * $Author: secretr $ */ if (!defined('e107_INIT')) { exit; } @@ -303,6 +303,14 @@ class e_shortcode return in_array($code, $this->registered_codes); } + public function resetScClass($className, $object) + { + if($this->isScClass($className)) + { + $this->scClasses[$className] = $object; + } + } + function isScClass($className) { return isset($this->scClasses[$className]); diff --git a/e107_plugins/featurebox/admin_config.php b/e107_plugins/featurebox/admin_config.php index 6646d090b..afea3ec90 100644 --- a/e107_plugins/featurebox/admin_config.php +++ b/e107_plugins/featurebox/admin_config.php @@ -9,8 +9,8 @@ * Featurebox administration * * $Source: /cvs_backup/e107_0.8/e107_plugins/featurebox/admin_config.php,v $ -* $Revision: 1.13 $ -* $Date: 2009-12-10 22:46:45 $ +* $Revision: 1.14 $ +* $Date: 2009-12-12 16:40:41 $ * $Author: secretr $ * */ @@ -101,6 +101,19 @@ class fb_category_ui extends e_admin_ui { $new_data['fb_category_limit'] = 1; } + if(!varset($new_data['fb_category_template'])) + { + $new_data['fb_category_template'] = 'default'; + } + return $new_data; + } + + public function beforeUpdate($new_data) + { + if(!varset($new_data['fb_category_template'])) + { + $new_data['fb_category_template'] = 'default'; + } return $new_data; } diff --git a/news.php b/news.php index 9e4984b5e..eaf952bd1 100644 --- a/news.php +++ b/news.php @@ -9,9 +9,9 @@ * News frontend * * $Source: /cvs_backup/e107_0.8/news.php,v $ - * $Revision: 1.24 $ - * $Date: 2009-11-18 01:04:24 $ - * $Author: e107coders $ + * $Revision: 1.25 $ + * $Date: 2009-12-12 16:40:39 $ + * $Author: secretr $ */ require_once("class2.php"); @@ -478,10 +478,11 @@ if($newsCachedPage = checkCache($cacheString)) // normal news front-page - with if(!$action) { - if (isset($pref['fb_active'])) - { - require_once(e_PLUGIN."featurebox/featurebox.php"); - } + // Removed, themes should use {FEATUREBOX} shortcode instead +// if (isset($pref['fb_active'])) +// { +// require_once(e_PLUGIN."featurebox/featurebox.php"); +// } if (isset($pref['nfp_display']) && $pref['nfp_display'] == 1) { require_once(e_PLUGIN."newforumposts_main/newforumposts_main.php"); @@ -545,9 +546,10 @@ switch($action) require_once(HEADERF); if(!$action) { - if (isset($pref['fb_active'])){ // --->feature box - require_once(e_PLUGIN."featurebox/featurebox.php"); - } + // Removed, themes should use {FEATUREBOX} shortcode instead +// if (isset($pref['fb_active'])){ // --->feature box +// require_once(e_PLUGIN."featurebox/featurebox.php"); +// } if (isset($pref['nfp_display']) && $pref['nfp_display'] == 1){ require_once(e_PLUGIN."newforumposts_main/newforumposts_main.php");