/** * _setupCategoryManager * * @param string $dataname * * @return void **/ protected function _setupCategoryManager($dataname) { $moduleDirname = isset($this->mObject->mMaintable) ? $this->mObject->mMaintable->getDirname() : $this->mAsset->mDirname; $server = Xcck_Utils::getAccessController($moduleDirname); if ($server instanceof XoopsModule) { $serverDirname = $server->dirname(); } //get server's role $handler = xoops_gethandler('module'); if (!isset($serverDirname) || !($module = $handler->getByDirname($serverDirname))) { require_once XCCK_TRUST_PATH . '/class/NoneCategoryManager.class.php'; $this->mCategoryManager = new Xcck_NoneCategoryManager(null, $moduleDirname, $dataname); return; } $role = $module->get('role'); switch ($role) { case 'cat': require_once XCCK_TRUST_PATH . '/class/CatCategoryManager.class.php'; $this->mCategoryManager = new Xcck_CatCategoryManager($serverDirname, $moduleDirname, $dataname); break; case 'group': require_once XCCK_TRUST_PATH . '/class/GroupCategoryManager.class.php'; $this->mCategoryManager = new Xcck_GroupCategoryManager($serverDirname, $moduleDirname, $dataname); break; default: require_once XCCK_TRUST_PATH . '/class/NoneCategoryManager.class.php'; $this->mCategoryManager = new Xcck_NoneCategoryManager($serverDirname, $moduleDirname, $dataname); break; } }
/** * getModuleName * * @param string $dirname //xcck dirname * * @return string **/ public function getModuleName() { if ($this->mType === 'cat' || $this->mType === 'group') { $accessController = Xcck_Utils::getAccessController($this->_mDirname); if ($accessController instanceof XoopsModule) { return $accessController->name(); } } }
function smarty_function_xcck_search_form($params, &$smarty) { define('_XCCK_TAG_INPUT', '<input type="text" name="%s[%d][0]" value="%s" size="%d" />' . "\n"); define('_XCCK_TAG_HIDDEN', '<input type="hidden" name="%s[%d][1]" value="%s" />' . "\n"); define('_XCCK_TAG_CHECKBOX', '<input type="checkbox" name="%s" value="1"%s />' . "\n"); define('_XCCK_TAG_DATE', '<input type="text" name="%s[%d][0]" value="%s" size="%d" maxlength="%d" class="%s" />' . "\n"); define('_XCCK_TAG_SELECT', '<select name="%s">%s</select>' . "\n"); define('_XCCK_TAG_OPTION', '<option value="%s"%s>%s</option>' . "\n"); $html = null; //parameters $def = $params['def']; if (!isset($params['condition'])) { $condition = Xcck_Cond::EQ; } elseif ($params['condition'] === '*') { $condition = $params['condition']; } else { $condition = Xcck_Cond::getValue($params['condition']); } $default = isset($params['default']) ? $params['default'] : null; $num = isset($params['num']) ? intval($params['num']) : 0; $option = isset($params['option']) ? $params['option'] : null; //main switch ($def->get('field_type')) { case Xcck_FieldType::STRING: case Xcck_FieldType::TEXT: case Xcck_FieldType::URI: $html .= sprintf(_XCCK_TAG_INPUT, $def->get('field_name'), $num, $default, 20); if ($condition == '*') { $html .= Xcck_Utils::makeCondSelector($def, $num, array(Xcck_Cond::EQ, Xcck_Cond::NE, Xcck_Cond::LIKE)); } else { $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); } break; case Xcck_FieldType::INT: case Xcck_FieldType::FLOAT: $html .= sprintf(_XCCK_TAG_INPUT, $def->get('field_name'), $num, $default, 5); if ($condition == '*') { $html .= Xcck_Utils::makeCondSelector($def, $num, array(Xcck_Cond::EQ, Xcck_Cond::NE, Xcck_Cond::LT, Xcck_Cond::LE, Xcck_Cond::GT, Xcck_Cond::GE)); } else { $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); } break; case Xcck_FieldType::DATE: if ($option === 'yyyy') { //input year $html .= sprintf(_XCCK_TAG_DATE, $def->get('field_name'), $num, $default, 10, 4, 'year'); } elseif ($option === 'yyyymm') { //input year-month $html .= sprintf(_XCCK_TAG_DATE, $def->get('field_name'), $num, $default, 10, 7, 'year'); } elseif ($option === 'yyyymmdd') { //input year-month-day $html .= sprintf(_XCCK_TAG_DATE, $def->get('field_name'), $num, $default, 10, 10, 'datepicker'); } elseif (isset($option['yyyy']) || $option['yyyymm']) { //select year $optionHtml = null; $options = isset($option['yyyy']) ? $option['yyyy'] : $option['yyyymm']; $selected = null; foreach (array_keys($options) as $k) { //$k is value $selected = $k == $default ? ' selected="selected"' : null; $optionHtml .= sprintf(_XCCK_TAG_OPTION, $k, $selected, $option[$k]); } $html = sprintf(_XCCK_TAG_SELECT, $def->get('field_name'), $optionHtml); $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); } if ($condition == '*') { $html .= Xcck_Utils::makeCondSelector($def, $num, array(Xcck_Cond::EQ, Xcck_Cond::LIKE, Xcck_Cond::LE, Xcck_Cond::GE)); } else { $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); } break; case Xcck_FieldType::CHECKBOX: $checked = isset($default) ? ' checked="checked"' : null; $html = sprintf(_XCCK_TAG_CHECKBOX, $def->get('field_name'), $checked); break; case Xcck_FieldType::SELECTBOX: $optionHtml = null; $options = $def->getOptions(); foreach ($options as $opt) { $selected = $opt == $default ? ' selected="selected"' : null; $optionHtml .= sprintf(_XCCK_TAG_OPTION, $opt, $selected, $opt); } $html = sprintf(_XCCK_TAG_SELECT, $def->get('field_name'), $optionHtml); $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); break; case Xcck_FieldType::CATEGORY: $tree = null; $category = Xcck_Utils::getAccessController($def->getDirname()); XCube_DelegateUtils::call('Legacy_Category.' . $category->dirname() . '.GetTree', new XCube_Ref($tree)); require_once "function.legacy_category_select.php"; $params = array('tree' => $tree); $html .= smarty_function_legacy_category_select($params, null); $html .= sprintf(_XCCK_TAG_HIDDEN, $def->get('field_name'), $num, $condition); break; } print $html; }
/** * execute * * @param void * * @return void * * @public **/ function execute() { $root =& XCube_Root::getSingleton(); $render =& $this->getRenderTarget(); $render->setTemplateName($this->_mBlock->get('template')); $render->setAttribute('block', $this->_mObject); $render->setAttribute('bid', $this->_mBlock->get('bid')); $render->setAttribute('dirname', $this->_mBlock->get('dirname')); $renderSystem =& $root->getRenderSystem($this->getRenderSystemName()); $list = array(); $category = Xcck_Utils::getAccessController($this->_mBlock->get('dirname')); if ($category) { XCube_DelegateUtils::call('Legacy_Category.' . $category->get('dirname') . '.GetTitleList', new XCube_Ref($list), $category->get('dirname')); } $render->setAttribute('catTitleList', $list); $renderSystem->renderBlock($render); }
/** * _setupObject * * @param void * * @return bool * * @private **/ protected function _setupObject() { $objects = array(); $accessController = Xcck_Utils::getAccessController($this->_mBlock->get('dirname')); if (!$accessController instanceof XoopsModule) { return false; } $this->_mHandler = Legacy_Utils::getModuleHandler('page', $this->_mBlock->get('dirname')); XCube_DelegateUtils::call('Legacy_Category.' . $accessController->get('dirname') . '.GetTree', new XCube_Ref($this->_mObject), $accessController->get('dirname'), 'view', $this->getBlockOption('catId')); foreach (array_keys($this->_mObject) as $key) { $this->_mCount[$key] = $this->_mHandler->countPageByCategory($this->_mObject[$key]->get('cat_id')); } return true; }
public static function getBreadcrumbs($breadcrumbs, $dirname, $page = null) { $categoryDirname = null; //module name set $modHandler = xoops_gethandler('module'); $module = $modHandler->getByDirname($dirname); $breadcrumbs[] = array('name' => $module->getVar('name'), 'url' => Legacy_Utils::renderUri($dirname)); //catetgory name set if ($page instanceof Xcck_PageObject) { if ($page->get('category_id') > 0) { $accessController = Xcck_Utils::getAccessController($dirname); if ($accessController instanceof XoopsModule) { $categoryDirname = $accessController->getVar('dirname'); } switch ($accessController->getInfo('role')) { case 'cat': $catArr = array(); XCube_DelegateUtils::call('Legacy_Category.' . $categoryDirname . '.GetCatPath', new XCube_Ref($catArr), $categoryDirname, $page->get('category_id'), 'ASC'); foreach (array_keys($catArr['title']) as $key) { $breadcrumbs[] = array('name' => $catArr['title'][$key], 'url' => Legacy_Utils::renderUri($dirname, 'page', 0, null, 'category_id=' . $catArr['cat_id'][$key])); } break; case 'group': $groupName = null; XCube_DelegateUtils::call('Legacy_Category.' . $categoryDirname . '.GetTitle', new XCube_Ref($groupName), $categoryDirname, $page->get('category_id')); $breadcrumbs[] = array('name' => $groupName, 'url' => Legacy_Utils::renderUri($dirname, 'page', 0, null, 'category_id=' . $page->get('category_id'))); break; default: } } //parent page set $pageIdArr = array_reverse($page->mPath['page_id']); $titleArr = array_reverse($page->mPath['title']); foreach (array_keys($pageIdArr) as $key) { $breadcrumbs[] = array('name' => $titleArr[$key], 'url' => Legacy_Utils::renderUri($dirname, null, $pageIdArr[$key])); } } }