本文整理汇总了PHP中JUDirectoryHelper::changeInheritedCriteriagroupId方法的典型用法代码示例。如果您正苦于以下问题:PHP JUDirectoryHelper::changeInheritedCriteriagroupId方法的具体用法?PHP JUDirectoryHelper::changeInheritedCriteriagroupId怎么用?PHP JUDirectoryHelper::changeInheritedCriteriagroupId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JUDirectoryHelper
的用法示例。
在下文中一共展示了JUDirectoryHelper::changeInheritedCriteriagroupId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: moveCats
public function moveCats($cat_id_arr, $tocat_id, $move_option_arr)
{
$tocat_id = (int) $tocat_id;
$cat_id_arr = (array) $cat_id_arr;
if (empty($cat_id_arr)) {
JError::raiseWarning(100, JText::_('COM_JUDIRECTORY_NO_SOURCE_CATEGORY_SELECTED'));
return false;
}
if (empty($tocat_id)) {
JError::raiseWarning(100, JText::_('COM_JUDIRECTORY_NO_TARGET_CATEGORY_SELECTED'));
return false;
}
$user = JFactory::getUser();
$table = $this->getTable();
if (!$table->load($tocat_id)) {
JError::raiseWarning(500, JText::_('COM_JUDIRECTORY_TARGET_CATEGORY_NOT_FOUND'));
return false;
}
$assetName = 'com_judirectory.category.' . (int) $tocat_id;
$candoCreate = $user->authorise('judir.category.create', $assetName);
if (!$candoCreate) {
JError::raiseError(100, JText::sprintf('COM_JUDIRECTORY_CAN_NOT_CREATE_CATEGORY_IN_CATEGORY_X', $table->title));
return false;
}
set_time_limit(0);
$total_moved_categories = 0;
foreach ($cat_id_arr as $cat_id) {
if (!$table->load($cat_id, true)) {
continue;
}
$assetName = 'com_judirectory.category.' . (int) $cat_id;
$candoEdit = $user->authorise('judir.category.edit', $assetName);
if (!$candoEdit) {
JError::raiseWarning(100, JText::_('COM_JUDIRECTORY_YOU_DONT_HAVE_PERMISSION_TO_EDIT_CAT'));
continue;
}
if ($this->isChildCategory($cat_id, $tocat_id) || $tocat_id == $table->parent_id) {
continue;
}
$table->setLocation($tocat_id, 'last-child');
if (in_array('keep_extra_fields', $move_option_arr)) {
if ($table->selected_fieldgroup == -1) {
$tocat_obj = JUDirectoryHelper::getCategoryByID($tocat_id);
if ($table->fieldgroup_id != $tocat_obj->fieldgroup_id) {
$table->selected_fieldgroup = $table->fieldgroup_id;
}
}
} else {
if ($table->fieldgroup_id != 0) {
JUDirectoryHelper::changeInheritedFieldGroupId($table->id, 0);
$query = "DELETE FROM #__judirectory_fields_ordering WHERE `item_id` = " . $table->id . " AND `type` = 'category'";
$db = JFactory::getDbo();
$db->setQuery($query);
$db->execute();
}
$table->selected_fieldgroup = $table->fieldgroup_id = 0;
}
if (in_array('keep_rates', $move_option_arr)) {
if ($table->selected_criteriagroup == -1) {
$tocat_obj = JUDirectoryHelper::getCategoryByID($tocat_id);
if ($table->criteriagroup_id != $tocat_obj->criteriagroup_id) {
$table->selected_criteriagroup = $table->criteriagroup_id;
}
}
} else {
$table->selected_criteriagroup = $table->criteriagroup_id = 0;
JUDirectoryHelper::changeInheritedCriteriagroupId($table->id, $table->criteriagroup_id);
}
if ($table->style_id == -1) {
if ($table->parent_id != $tocat_id) {
$oldTemplateStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($table->id);
$newTemplateStyleObject = JUDirectoryFrontHelperTemplate::getTemplateStyleOfCategory($tocat_id);
if ($oldTemplateStyleObject->template_id != $newTemplateStyleObject->template_id) {
if (in_array('keep_template_params', $move_option_arr)) {
$table->style_id = $oldTemplateStyleObject->id;
} else {
$table->template_params = '';
JUDirectoryFrontHelperTemplate::removeTemplateParamsOfInheritedStyleCatListing($table->id);
}
}
}
}
if ($table->store()) {
$total_moved_categories++;
}
}
return $total_moved_categories;
}