Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Fri, Jul 18, 7:51 PM

in-portal

Index: trunk/kernel/units/categories/categories_tag_processor.php
===================================================================
--- trunk/kernel/units/categories/categories_tag_processor.php (revision 3556)
+++ trunk/kernel/units/categories/categories_tag_processor.php (revision 3557)
@@ -1,280 +1,282 @@
<?php
class CategoriesTagProcessor extends kDBTagProcessor {
function &GetList($params)
{
$special = $this->BuildListSpecial($params);
-
+
$prefix_special = $this->Prefix.'.'.$special;
$this->Special = $special;
-
+
$params['skip_counting'] = true;
-
+
$list =& $this->Application->recallObject( $prefix_special, $this->Prefix.'_List',$params);
-
+
// $list->clearFilters();
// $list->addFilter('parent_filter', 'ParentId = '.$parent_cat_id, WHERE_FILTER, FLT_SYSTEM);
-
- //unset($params['skip_counting']);
+
+ //unset($params['skip_counting']);
$this->Application->HandleEvent($event, $prefix_special.':SetPagination', $params );
$list->Query();
return $list;
}
function SubCatCount($params)
{
$cat_object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
$sql = ' SELECT COUNT(*) - 1
- FROM '.$cat_object->TableName.'
+ FROM '.$cat_object->TableName.'
WHERE ParentPath LIKE "'.$cat_object->GetDBField('ParentPath').'%"';
return $this->Conn->GetOne($sql);
}
-
+
function IsNew($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$ret = $object->GetDBField('IsNew') ? 1 : 0;
return $ret;
}
-
+
function IsPick($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$ret = $object->GetDBField('EditorsPick') ? 1 : 0;
return $ret;
}
-
+
function ItemIcon($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$status = $object->GetDBField('Status');
if($status == 1)
{
$ret = $object->GetDBField('IsNew') ? 'icon16_cat_new.gif' : 'icon16_cat.gif';
}
- else
+ else
{
$ret = $status ? 'icon16_cat_pending.gif' : 'icon16_cat_disabled.gif';
}
return $ret;
}
-
+
function ItemCount($params)
{
$cat_object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
$ci_table = $this->Application->getUnitOption('ci','TableName');
-
+
$sql = ' SELECT COUNT(*)
FROM '.$cat_object->TableName.' c
LEFT JOIN '.$ci_table.' ci
ON c.CategoryId=ci.CategoryId
WHERE c.ParentPath LIKE "'.$cat_object->GetDBField('ParentPath').'%"
AND NOT (ci.CategoryId IS NULL)';
return $this->Conn->GetOne($sql);
}
-
+
function ListCategories($params)
{
return $this->PrintList2($params);
}
-
+
function RootCategoryName($params)
{
$root_phrase = $this->Application->ConfigValue('Root_Name');
$ret = $this->Application->Phrase($root_phrase);
return $ret;
}
-
+
function CheckModuleRoot($params)
{
$module_name = getArrayValue($params, 'module') ? $params['module'] : 'In-Commerce';
$module = $this->Application->recallObject('mod.'.$module_name);
$module_root_cat = $module->GetDBField('RootCat');
-
+
if ($this->Application->GetVar('m_cat_id') == $module_root_cat) {
$home_template = getArrayValue($params, 'home_template');
if (!$home_template) return;
- $this->Application->Redirect($home_template, Array('pass'=>'all'));
+ $this->Application->Redirect($home_template, Array('pass'=>'all'));
};
}
-
+
function CategoryPath($params)
{
$module_name = getArrayValue($params, 'module') ? $params['module'] : 'In-Commerce';
$module = $this->Application->recallObject('mod.'.$module_name);
$module_root_cat = $module->GetDBField('RootCat');
-
+
$block_params['current'] = 0;
$block_params['separator'] = $params['separator'];
-
+
if(!isset($params['cat_id']))
{
$params['cat_id'] = getArrayValue($params, 'cat_id') ? $params['cat_id'] : $this->Application->GetVar('m_cat_id');
$block_params['current'] = 1;
}
$product_id = $this->Application->GetVar('p_id');
if ($product_id) {
$block_params['current'] = 0;
}
-
+
$block_params['is_module_root'] = ($params['cat_id'] == $module_root_cat) ? 1 : 0;
-
+
if($params['cat_id'] == 0)
{
$block_params['name'] = $this->SelectParam($params, 'root_cat_render_as,block_root_cat,rootcatblock');
return $this->Application->ParseBlock($block_params);
}
- else
+ else
{
$block_params['name'] = $this->SelectParam($params,'render_as,block');
-
+
// $cat_object = &$this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix.'_List' );
$sql = 'SELECT CategoryId, ParentId, Name FROM '.$this->Application->getUnitOption($this->Prefix, 'TableName').'
WHERE CategoryId='.$params['cat_id'];
$res = $this->Conn->GetRow($sql);
-
+
$block_params['cat_name'] = $res['Name'];
$block_params['cat_id'] = $res['CategoryId'];
-
+
$parent_params = $params;
$parent_params['cat_id'] = $res['ParentId'];
-
+
// which block to parse as current ?
if ($block_params['is_module_root'] == 1) { // module root
$block_params['name'] = $this->SelectParam($params, 'module_root_render_as,block_module_root,rootmoduleblock');
}
if ($block_params['current'] == 1) { // current cat (label)
$block_params['name'] = $this->SelectParam($params, 'current_render_as,block_current,currentblock');
}
-
+
$this->Application->SetVar($this->Prefix.'_id', $res['CategoryId']);
$current_cat = $this->Application->ParseBlock($block_params, 1);
-
+
$this->Application->SetVar($this->Prefix.'_id', $res['ParentId']);
$parent_cat = $this->CategoryPath($parent_params);
-
+
return $parent_cat.$current_cat;
}
}
-
+
function CurrentCategoryName($params){
-
+
$cat_object = &$this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix.'_List' );
$cat_id = $this->Application->GetVar("m_cat_id");
$sql = 'SELECT Name FROM '.$cat_object->TableName.' WHERE CategoryId='.$cat_id;
return $this->Conn->GetOne($sql);
-
+
}
-
+
function InitMainPrefix($params)
{
if($main_prefix = $this->Application->GetVar('main_prefix'))
{
$this->Application->StoreVar('selector_main_prefix', $main_prefix);
}
-
+
}
-
+
function CategoryLink($params)
{
- // 'p_id'=>'0', ??
+ // 'p_id'=>'0', ??
$params = array_merge(array('pass'=>'m'), $params);
$cat_id = getArrayValue($params,'cat_id');
if ($cat_id === false) {
// $cat_id = $this->Application->Parser->GetParam('cat_id');
$cat_id = $this->Application->GetVar($this->Prefix.'_id');
}
if($cat_id == 'Root')
{
$object =& $this->Application->recallObject('mod.'.$params['module']);
$params['m_cat_id'] = $object->GetDBField('RootCat');
unset($params['module']);
}
else{
$params['m_cat_id'] = $cat_id;
}
unset($params['cat_id']);
-
+
$main_processor =& $this->Application->recallObject('m_TagProcessor');
return $main_processor->T($params);
}
-
+
function CategoryList($params)
{
- $object =& $this->Application->recallObject( $this->getPrefixSpecial() , $this->Prefix.'_List', $params );
+ //$object =& $this->Application->recallObject( $this->getPrefixSpecial() , $this->Prefix.'_List', $params );
+ $object =& $this->GetList($params);
+
if ($object->RecordsCount == 0)
{
if (isset($params['block_no_cats'])) {
$params['name'] = $params['block_no_cats'];
return $this->Application->ParseBlock($params);
}
else {
return '';
}
}
-
+
if(isset($params['block']))
{
return $this->PrintList($params);
}
else
{
$params['block'] = $params['block_main'];
$params['row_start_block'] = $params['block_row_start'];
$params['row_end_block'] = $params['block_row_end'];
return $this->PrintList2($params);
}
- }
-
+ }
+
function Meta($params)
{
$name = getArrayValue($params, 'name');
$object =& $this->Application->recallObject($this->Prefix.'.-item');
-
+
$field = $object->GetField('Meta'.$name);
if ($field) return $field;
-
+
switch ($name) {
case 'Description':
$conf = 'Category_MetaDesc';
break;
case 'Keywords':
$conf = 'Category_MetaKey';
break;
}
-
+
return $this->Application->ConfigValue($conf);
}
-
+
function BuildListSpecial($params)
{
if ( isset($params['parent_cat_id']) ) {
$parent_cat_id = $params['parent_cat_id'];
}
else {
$parent_cat_id = $this->Application->GetVar($this->Prefix.'_id');
if (!$parent_cat_id) {
$parent_cat_id = $this->Application->GetVar('m_cat_id');
}
if (!$parent_cat_id) {
$parent_cat_id = 0;
}
}
-
+
$types = $this->SelectParam($params, 'types');
$except = $this->SelectParam($params, 'except');
-
+
if ($types.$except.$parent_cat_id == '') {
return parent::BuildListSpecial($params);
}
-
+
$special = crc32($types.$except.$parent_cat_id);
return $special;
}
}
?>
\ No newline at end of file
Property changes on: trunk/kernel/units/categories/categories_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.9
\ No newline at end of property
+1.10
\ No newline at end of property
Index: trunk/core/units/categories/categories_tag_processor.php
===================================================================
--- trunk/core/units/categories/categories_tag_processor.php (revision 3556)
+++ trunk/core/units/categories/categories_tag_processor.php (revision 3557)
@@ -1,280 +1,282 @@
<?php
class CategoriesTagProcessor extends kDBTagProcessor {
function &GetList($params)
{
$special = $this->BuildListSpecial($params);
-
+
$prefix_special = $this->Prefix.'.'.$special;
$this->Special = $special;
-
+
$params['skip_counting'] = true;
-
+
$list =& $this->Application->recallObject( $prefix_special, $this->Prefix.'_List',$params);
-
+
// $list->clearFilters();
// $list->addFilter('parent_filter', 'ParentId = '.$parent_cat_id, WHERE_FILTER, FLT_SYSTEM);
-
- //unset($params['skip_counting']);
+
+ //unset($params['skip_counting']);
$this->Application->HandleEvent($event, $prefix_special.':SetPagination', $params );
$list->Query();
return $list;
}
function SubCatCount($params)
{
$cat_object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
$sql = ' SELECT COUNT(*) - 1
- FROM '.$cat_object->TableName.'
+ FROM '.$cat_object->TableName.'
WHERE ParentPath LIKE "'.$cat_object->GetDBField('ParentPath').'%"';
return $this->Conn->GetOne($sql);
}
-
+
function IsNew($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$ret = $object->GetDBField('IsNew') ? 1 : 0;
return $ret;
}
-
+
function IsPick($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$ret = $object->GetDBField('EditorsPick') ? 1 : 0;
return $ret;
}
-
+
function ItemIcon($params)
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
$status = $object->GetDBField('Status');
if($status == 1)
{
$ret = $object->GetDBField('IsNew') ? 'icon16_cat_new.gif' : 'icon16_cat.gif';
}
- else
+ else
{
$ret = $status ? 'icon16_cat_pending.gif' : 'icon16_cat_disabled.gif';
}
return $ret;
}
-
+
function ItemCount($params)
{
$cat_object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
$ci_table = $this->Application->getUnitOption('ci','TableName');
-
+
$sql = ' SELECT COUNT(*)
FROM '.$cat_object->TableName.' c
LEFT JOIN '.$ci_table.' ci
ON c.CategoryId=ci.CategoryId
WHERE c.ParentPath LIKE "'.$cat_object->GetDBField('ParentPath').'%"
AND NOT (ci.CategoryId IS NULL)';
return $this->Conn->GetOne($sql);
}
-
+
function ListCategories($params)
{
return $this->PrintList2($params);
}
-
+
function RootCategoryName($params)
{
$root_phrase = $this->Application->ConfigValue('Root_Name');
$ret = $this->Application->Phrase($root_phrase);
return $ret;
}
-
+
function CheckModuleRoot($params)
{
$module_name = getArrayValue($params, 'module') ? $params['module'] : 'In-Commerce';
$module = $this->Application->recallObject('mod.'.$module_name);
$module_root_cat = $module->GetDBField('RootCat');
-
+
if ($this->Application->GetVar('m_cat_id') == $module_root_cat) {
$home_template = getArrayValue($params, 'home_template');
if (!$home_template) return;
- $this->Application->Redirect($home_template, Array('pass'=>'all'));
+ $this->Application->Redirect($home_template, Array('pass'=>'all'));
};
}
-
+
function CategoryPath($params)
{
$module_name = getArrayValue($params, 'module') ? $params['module'] : 'In-Commerce';
$module = $this->Application->recallObject('mod.'.$module_name);
$module_root_cat = $module->GetDBField('RootCat');
-
+
$block_params['current'] = 0;
$block_params['separator'] = $params['separator'];
-
+
if(!isset($params['cat_id']))
{
$params['cat_id'] = getArrayValue($params, 'cat_id') ? $params['cat_id'] : $this->Application->GetVar('m_cat_id');
$block_params['current'] = 1;
}
$product_id = $this->Application->GetVar('p_id');
if ($product_id) {
$block_params['current'] = 0;
}
-
+
$block_params['is_module_root'] = ($params['cat_id'] == $module_root_cat) ? 1 : 0;
-
+
if($params['cat_id'] == 0)
{
$block_params['name'] = $this->SelectParam($params, 'root_cat_render_as,block_root_cat,rootcatblock');
return $this->Application->ParseBlock($block_params);
}
- else
+ else
{
$block_params['name'] = $this->SelectParam($params,'render_as,block');
-
+
// $cat_object = &$this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix.'_List' );
$sql = 'SELECT CategoryId, ParentId, Name FROM '.$this->Application->getUnitOption($this->Prefix, 'TableName').'
WHERE CategoryId='.$params['cat_id'];
$res = $this->Conn->GetRow($sql);
-
+
$block_params['cat_name'] = $res['Name'];
$block_params['cat_id'] = $res['CategoryId'];
-
+
$parent_params = $params;
$parent_params['cat_id'] = $res['ParentId'];
-
+
// which block to parse as current ?
if ($block_params['is_module_root'] == 1) { // module root
$block_params['name'] = $this->SelectParam($params, 'module_root_render_as,block_module_root,rootmoduleblock');
}
if ($block_params['current'] == 1) { // current cat (label)
$block_params['name'] = $this->SelectParam($params, 'current_render_as,block_current,currentblock');
}
-
+
$this->Application->SetVar($this->Prefix.'_id', $res['CategoryId']);
$current_cat = $this->Application->ParseBlock($block_params, 1);
-
+
$this->Application->SetVar($this->Prefix.'_id', $res['ParentId']);
$parent_cat = $this->CategoryPath($parent_params);
-
+
return $parent_cat.$current_cat;
}
}
-
+
function CurrentCategoryName($params){
-
+
$cat_object = &$this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix.'_List' );
$cat_id = $this->Application->GetVar("m_cat_id");
$sql = 'SELECT Name FROM '.$cat_object->TableName.' WHERE CategoryId='.$cat_id;
return $this->Conn->GetOne($sql);
-
+
}
-
+
function InitMainPrefix($params)
{
if($main_prefix = $this->Application->GetVar('main_prefix'))
{
$this->Application->StoreVar('selector_main_prefix', $main_prefix);
}
-
+
}
-
+
function CategoryLink($params)
{
- // 'p_id'=>'0', ??
+ // 'p_id'=>'0', ??
$params = array_merge(array('pass'=>'m'), $params);
$cat_id = getArrayValue($params,'cat_id');
if ($cat_id === false) {
// $cat_id = $this->Application->Parser->GetParam('cat_id');
$cat_id = $this->Application->GetVar($this->Prefix.'_id');
}
if($cat_id == 'Root')
{
$object =& $this->Application->recallObject('mod.'.$params['module']);
$params['m_cat_id'] = $object->GetDBField('RootCat');
unset($params['module']);
}
else{
$params['m_cat_id'] = $cat_id;
}
unset($params['cat_id']);
-
+
$main_processor =& $this->Application->recallObject('m_TagProcessor');
return $main_processor->T($params);
}
-
+
function CategoryList($params)
{
- $object =& $this->Application->recallObject( $this->getPrefixSpecial() , $this->Prefix.'_List', $params );
+ //$object =& $this->Application->recallObject( $this->getPrefixSpecial() , $this->Prefix.'_List', $params );
+ $object =& $this->GetList($params);
+
if ($object->RecordsCount == 0)
{
if (isset($params['block_no_cats'])) {
$params['name'] = $params['block_no_cats'];
return $this->Application->ParseBlock($params);
}
else {
return '';
}
}
-
+
if(isset($params['block']))
{
return $this->PrintList($params);
}
else
{
$params['block'] = $params['block_main'];
$params['row_start_block'] = $params['block_row_start'];
$params['row_end_block'] = $params['block_row_end'];
return $this->PrintList2($params);
}
- }
-
+ }
+
function Meta($params)
{
$name = getArrayValue($params, 'name');
$object =& $this->Application->recallObject($this->Prefix.'.-item');
-
+
$field = $object->GetField('Meta'.$name);
if ($field) return $field;
-
+
switch ($name) {
case 'Description':
$conf = 'Category_MetaDesc';
break;
case 'Keywords':
$conf = 'Category_MetaKey';
break;
}
-
+
return $this->Application->ConfigValue($conf);
}
-
+
function BuildListSpecial($params)
{
if ( isset($params['parent_cat_id']) ) {
$parent_cat_id = $params['parent_cat_id'];
}
else {
$parent_cat_id = $this->Application->GetVar($this->Prefix.'_id');
if (!$parent_cat_id) {
$parent_cat_id = $this->Application->GetVar('m_cat_id');
}
if (!$parent_cat_id) {
$parent_cat_id = 0;
}
}
-
+
$types = $this->SelectParam($params, 'types');
$except = $this->SelectParam($params, 'except');
-
+
if ($types.$except.$parent_cat_id == '') {
return parent::BuildListSpecial($params);
}
-
+
$special = crc32($types.$except.$parent_cat_id);
return $special;
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/units/categories/categories_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.9
\ No newline at end of property
+1.10
\ No newline at end of property

Event Timeline