function quick_add_form() { $this->setLayout('empty'); if ($dimension_id = array_var($_GET, 'dimension_id')) { $dimension = Dimensions::instance()->findById($dimension_id); $dimensionOptions = $dimension->getOptions(true); $object_Types = array(); $parent_member_id = array_var($_GET, 'parent_member_id'); if ($parent_member_id) { $parent_member = Members::instance()->findById($parent_member_id); $object_types = DimensionObjectTypes::getChildObjectTypes($parent_member_id); } else { $object_types = DimensionObjectTypes::instance()->findAll(array("conditions" => "dimension_id = {$dimension_id} AND is_root = 1 ")); } if (count($object_types)) { if (count($object_types) == 1) { // Input Hidden tpl_assign('object_type', $object_types[0]); tpl_assign('object_type_name', ObjectTypes::instance()->findById($object_types[0]->getObjectTypeId())->getName()); } else { // Input combo tpl_assign('object_types', $object_types); } } else { tpl_assign("error_msg", $parent_member->getName() . " does not accept child nodes "); } $editUrls = array(); foreach ($object_types as $object_type) { /* @var $object_type DimensionObjectType */ if (ObjectTypes::instance()->findById($object_type->getObjectTypeId())->getType() != 'dimension_object') { continue; } $options = $object_type->getOptions(1); if (isset($options->defaultAjax) && $options->defaultAjax->controller != "dashboard") { $editUrls[$object_type->getObjectTypeId()] = get_url($options->defaultAjax->controller, 'add'); } else { $t = ObjectTypes::instance()->findById($object_type->getObjectTypeId()); /* @var $t ObjectType */ $class_name = ucfirst($t->getName()) . "Controller"; if ($t && controller_exists($t->getName(), $t->getPluginId())) { $editUrls[$object_type->getObjectTypeId()] = get_url($t->getName(), 'add'); } else { $editUrls[$object_type->getObjectTypeId()] = get_url('member', 'add', array("dim_id" => $dimension_id)); } } } tpl_assign('editUrls', $editUrls); tpl_assign('parent_member_id', $parent_member_id); tpl_assign('dimension_id', $dimension_id); if (is_object($dimensionOptions) && is_object($dimensionOptions->quickAdd) && $dimensionOptions->quickAdd->formAction) { tpl_assign('form_action', ROOT_URL . "/" . $dimensionOptions->quickAdd->formAction); } else { tpl_assign('form_action', get_url('member', 'add', array('quick' => '1'))); } } else { die("SORRY. Invalid dimension"); } }
/** * Return manager instance * * @access protected * @param void * @return DimensionObjectTypes */ function manager() { if (! ($this->manager instanceof DimensionObjectTypes)) $this->manager = DimensionObjectTypes::instance (); return $this->manager; } // manager
/** * Return manager instance * * @access protected * @param void * @return DimensionObjectTypes */ function manager() { if (!$this->manager instanceof DimensionObjectTypes) { $this->manager = DimensionObjectTypes::instance(); } return $this->manager; }
continue; } if (!isset($dimensions_info[$dimension->getName()])) { $dimensions_info[$dimension->getName()] = array('members' => array(), 'icon' => $member->getIconClass()); } if (!isset($dimensions_info[$dimension->getName()]['icon'])) { $dimensions_info[$dimension->getName()]['icon'] = $member->getIconClass(); } $parents = array_reverse($member->getAllParentMembersInHierarchy(true)); foreach ($parents as $p) { $dimensions_info[$dimension->getName()]['members'][$p->getId()] = array('p' => $p->getParentMemberId(), 'name' => $p->getName(), 'ot' => $p->getObjectTypeId(), 'color' => $p->getMemberColor()); } } foreach ($dimensions_info as &$dim_info) { if (!isset($dim_info['icon'])) { $dots = DimensionObjectTypes::findAll(array('conditions' => 'dimension_id = ' . $dim_info['id'])); if (count($dots) > 0) { $ot = ObjectTypes::findById($dots[0]->getObjectTypeId()); if ($ot instanceof ObjectType) { $dim_info['icon'] = $ot->getIconClass(); } } } } if (count($dimensions_info) > 0) { ksort($dimensions_info, SORT_STRING); ?> <div class="commentsTitle"><?php echo lang('related to'); ?> </div>
function quick_add_form() { ajx_current("empty"); $this->setLayout('empty'); $dimension_id = array_var($_GET, 'dimension_id'); $dimension = is_numeric($dimension_id) ? Dimensions::instance()->findById($dimension_id) : null; if ($dimension instanceof Dimension) { $object_Types = array(); $parent_member_id = array_var($_GET, 'parent_member_id'); $parent_member = Members::instance()->findById($parent_member_id); if ($parent_member instanceof Member) { $object_types = DimensionObjectTypes::getChildObjectTypes($parent_member); if (count($object_types) == 0) { $parent_member = null; $object_types = DimensionObjectTypes::instance()->findAll(array("conditions" => "enabled=1 AND dimension_id = {$dimension_id} AND is_root = 1 AND object_type_id<>(SELECT id from " . TABLE_PREFIX . "object_types WHERE name='company')")); } } else { $object_types = DimensionObjectTypes::instance()->findAll(array("conditions" => "enabled=1 AND dimension_id = {$dimension_id} AND is_root = 1 AND object_type_id<>(SELECT id from " . TABLE_PREFIX . "object_types WHERE name='company')")); } $obj_types = array(); $editUrls = array(); foreach ($object_types as $object_type) { $options = $object_type->getOptions(1); if (isset($options->defaultAjax) && $options->defaultAjax->controller != "dashboard") { $editUrls[$object_type->getObjectTypeId()] = get_url($options->defaultAjax->controller, 'add'); } else { $t = ObjectTypes::instance()->findById($object_type->getObjectTypeId()); $obj_types[$t->getId()] = $t; $class_name = ucfirst($t->getName()) . "Controller"; $controller_exists = controller_exists($t->getName(), $t->getPluginId()); if ($controller_exists) { Env::useController(ucfirst($t->getName())); eval('$controller = new ' . $class_name . '();'); } if ($t && controller_exists($t->getName(), $t->getPluginId()) && $t->getHandlerClass() != '' && $controller_exists && method_exists($controller, 'add')) { $params = array("type" => $t->getId()); if ($parent_member instanceof Member) { $params['parent'] = $parent_member->getId(); } $editUrls[$t->getId()] = get_url($t->getName(), 'add', $params); } else { $params = array("dim_id" => $dimension_id, "type" => $t->getId()); if ($parent_member instanceof Member) { $params['parent'] = $parent_member->getId(); } $editUrls[$t->getId()] = get_url('member', 'add', $params); } } } $urls = array(); foreach ($editUrls as $ot_id => $url) { $ot = array_var($obj_types, $ot_id); if ($ot instanceof ObjectType) { $link_text = ucfirst(strtolower(lang('new ' . $ot->getName()))); $iconcls = $ot->getIconClass(); } else { $link_text = lang('new'); $iconcls = ""; } $urls[] = array('link_text' => $link_text, 'url' => $url, 'iconcls' => $iconcls); } Hook::fire('member_quick_add_urls', array('dimension' => $dimension, 'object_types' => $object_types, 'parent_member' => $parent_member), $urls); if (count($urls) > 1) { ajx_extra_data(array('draw_menu' => 1, 'urls' => $urls)); } else { ajx_extra_data(array('urls' => $urls)); } } else { Logger::log("Invalid dimension: {$dimension_id}"); } }
function buildMemberList($all_members, $dimension, $allowed_member_type_ids, $allowed_object_type_ids, $item_object, $object_type_id, $return_only_name = false) { $dot_array = array(); // Dimension Object Types array (cache) $membersset = array(); foreach ($all_members as $m) { $membersset[$m->getId()] = true; } $members = array(); foreach ($all_members as $m) { /* @var $m Member */ // if ($m->getArchivedById() > 0) continue; if ($object_type_id != null) { $selectable = in_array($m->getObjectTypeId(), $allowed_object_type_ids) ? true : false; if ($selectable && isset($item_object)) { if (!$item_object->canAdd(logged_user(), array($m))) { continue; } } } else { $selectable = true; } if (count($allowed_member_type_ids) && !in_array($m->getObjectTypeId(), $allowed_member_type_ids)) { continue; } $tempParent = $m->getParentMemberId(); //check if have parent member id from Contact Member Cache if (isset($m->cached_parent_member_id)) { $tempParent = $m->cached_parent_member_id; } else { if (!logged_user()->isAdministrator()) { $x = $m; while ($x instanceof Member && !isset($membersset[$tempParent])) { $tempParent = $x->getParentMemberId(); if ($x->getParentMemberId() == 0) { break; } $x = $x->getParentMember(); } if (!$x instanceof Member) { $tempParent = 0; } } else { $tempParent = $m->getParentMemberId(); } } $memberOptions = ''; // SET member options (dimension object types table) // CHeck dot cache, if not set goto database and add to cache if (empty($dot_array[$dimension->getId()]) || empty($dot_array[$dimension->getId()][$m->getObjectTypeId()])) { $dot = DimensionObjectTypes::instance()->findOne(array("conditions" => "dimension_id = " . $dimension->getId() . " AND object_type_id = " . $m->getObjectTypeId())); if ($dot instanceof DimensionObjectType) { if (empty($dot_array['dimension_id'])) { $dot_array[$dimension->getId()] = array(); } $dot_array[$dimension->getId()][$m->getObjectTypeId()] = $dot; } } if (!empty($dot_array[$dimension->getId()]) || $dot_array[$dimension->getId()][$m->getObjectTypeId()] instanceof DimensionObjectType) { $dot = $dot_array[$dimension->getId()][$m->getObjectTypeId()]; if ($dot) { $memberOptions = $dot->getOptions(true); } } if ($return_only_name) { $path = trim($m->getPath()); $member = array("id" => $m->getId(), "name" => $m->getName(), "path" => $path, "depth" => $m->getDepth(), "to_show" => $m->getName() . ($path != "" ? " ({$path})" : ""), "dim" => $m->getDimensionId(), "ico" => "ico-color" . $m->getColor() . " " . $m->getIconClass()); } else { //Do not use contact member cache for superadmins if (!logged_user()->isAdministrator()) { //check childs from contact member cache $childsIds = ContactMemberCaches::getAllChildrenIdsFromCache(logged_user()->getId(), $m->getId()); } else { $childsIds = $m->getAllChildrenIds(false, null, ""); } $totalChilds = count($childsIds); $haveChilds = $totalChilds > 0 ? true : false; /* @var $m Member */ $additional_member_class = ""; Hook::fire('additional_member_node_class', $m, $additional_member_class); $member = array("id" => $m->getId(), "color" => $m->getMemberColor(), "name" => clean($m->getName()), "text" => clean($m->getName()), "leaf" => true, "parent" => $tempParent, "realParent" => $m->getParentMemberId(), "object_id" => $m->getObjectId(), "options" => $memberOptions, "depth" => $m->getDepth(), "cls" => $additional_member_class, "iconCls" => "ico-color" . $m->getColor() . " " . $m->getIconClass(), "selectable" => isset($selectable) ? $selectable : false, "dimension_id" => $m->getDimensionId(), "object_type_id" => $m->getObjectTypeId(), "expandable" => $haveChilds, "realTotalChilds" => $totalChilds, "allow_childs" => $m->allowChilds()); // Member Actions if (can_manage_dimension_members(logged_user())) { $editUrl = ''; // If member has an object linked, take object edit url if ($ot = ObjectTypes::findById($m->getObjectTypeId())) { if ($handler = $ot->getHandlerClass()) { eval("\$itemClass = {$handler}::instance()->getItemClass();"); if ($itemClass) { $instance = new $itemClass(); $instance->setId($m->getObjectId()); $instance->setObjectId($m->getObjectId()); if ($instance instanceof Contact) { if ($ot->getName() == 'company') { $instance->setIsCompany(1); } } $editUrl = $instance->getEditUrl(); } } } // Take default membewr edit url if not overwitten if (!$editUrl) { $editUrl = get_url('member', 'edit', array('id' => $m->getId())); } $member['actions'] = array(array('url' => $editUrl, 'text' => '', 'iconCls' => 'ico-edit', 'class' => 'action-edit')); } } $members[] = $member; } // re-sort by parent and name $tmp_members = array(); foreach ($members as $m) { $tmp_members[str_pad(array_var($m, 'depth'), 20, "0", STR_PAD_LEFT) . strtolower(array_var($m, 'name')) . array_var($m, 'id')] = $m; } ksort($tmp_members, SORT_STRING); $members = $tmp_members; return $members; }
function buildMemberList($all_members, $dimension, $allowed_member_type_ids, $allowed_object_type_ids, $item_object, $object_type_id, $return_only_name=false) { $dot_array = array(); // Dimension Object Types array (cache) $membersset = array(); foreach ($all_members as $m) { $membersset[$m->getId()] = true; } $members = array(); foreach ($all_members as $m) { /* @var $m Member */ if ($m->getArchivedById() > 0) continue; if ($object_type_id != null){ $selectable = in_array($m->getObjectTypeId(), $allowed_object_type_ids) ? true : false; if ($selectable && isset($item_object)) { if (! $item_object->canAdd(logged_user(), array($m)) ) continue; } }else{ $selectable = true ; } if ( count($allowed_member_type_ids) && !in_array($m->getObjectTypeId(), $allowed_member_type_ids) ) { continue; } $tempParent = $m->getParentMemberId(); $x = $m; while ($x instanceof Member && !isset($membersset[$tempParent])) { $tempParent = $x->getParentMemberId(); if ($x->getParentMemberId() == 0) break; $x = $x->getParentMember(); } if (!$x instanceof Member) { $tempParent = 0; } $memberOptions = ''; // SET member options (dimension object types table) // CHeck dot cache, if not set goto database and add to cache if ( empty($dot_array[$dimension->getId()]) || empty ($dot_array[$dimension->getId()][$m->getObjectTypeId()]) ) { $dot = DimensionObjectTypes::instance()->findOne(array("conditions" =>"dimension_id = ".$dimension->getId() ." AND object_type_id = ".$m->getObjectTypeId())); if ($dot instanceof DimensionObjectType){ if (empty($dot_array['dimension_id'])) { $dot_array[$dimension->getId()] = array(); } $dot_array[$dimension->getId()][$m->getObjectTypeId()] = $dot; } } if ( !empty($dot_array[$dimension->getId()]) || ($dot_array[$dimension->getId()][$m->getObjectTypeId()]) instanceof DimensionObjectType ) { $dot = $dot_array[$dimension->getId()][$m->getObjectTypeId()]; $memberOptions = $dot->getOptions(true); } if ($return_only_name) { $path = trim($m->getPath()); $member = array( "id" => $m->getId(), "name" => $m->getName(), "path" => $path, "to_show" => $m->getName() . ($path != "" ? " ($path)" : ""), "dim" => $m->getDimensionId(), "ico" => $m->getIconClass(), ); } else { /* @var $m Member */ $member = array( "id" => $m->getId(), "name" => clean($m->getName()), "parent" => $tempParent, "realParent" => $m->getParentMemberId(), "object_id" => $m->getObjectId(), "options" => $memberOptions, "depth" => $m->getDepth(), "iconCls" => $m->getIconClass(), "selectable" => isset($selectable) ? $selectable : false, "dimension_id" => $m->getDimensionId(), "object_type_id" => $m->getObjectTypeId(), "allow_childs" => $m->allowChilds() ); // Member Actions if (can_manage_dimension_members(logged_user())){ $editUrl = ''; // If member has an object linked, take object edit url if ($ot = ObjectTypes::findById($m->getObjectTypeId())) { if ($handler = $ot->getHandlerClass() ){ eval ("\$itemClass = $handler::instance()->getItemClass();"); if ($itemClass) { $instance = new $itemClass(); $instance->setId($m->getObjectId()); $instance->setObjectId($m->getObjectId()); if ($instance instanceof Contact) { if ($ot->getName() == 'company') $instance->setIsCompany(1); } $editUrl = $instance->getEditUrl(); } } } // Take default membewr edit url if not overwitten if (!$editUrl) { $editUrl = get_url('member', 'edit', array('id'=> $m->getId())); } $member['actions'] = array(array( 'url' => $editUrl, 'text' => '', 'iconCls' => 'ico-edit', 'class' => 'action-edit' )); } } $members[] = $member; } // re-sort by parent and name $tmp_members = array(); foreach ($members as $m) { $tmp_members[array_var($m, 'parent') . strtolower(array_var($m, 'name')) . array_var($m, 'id')] = $m; } ksort($tmp_members, SORT_STRING); $members = $tmp_members; return $members ; }
function dimension_options() { if (!can_manage_dimensions(logged_user())) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $enabled_dimensions = config_option('enabled_dimensions'); // custom dimension name $dimensions = Dimensions::findAll(array('conditions' => 'id IN (' . implode(',', $enabled_dimensions) . ')')); $custom_dimension_names = array(); foreach ($dimensions as $dim) { $cdim_name = $dim->getOptionValue('custom_dimension_name'); if (is_null($cdim_name)) { $cdim_name = ""; } $custom_dimension_names[$dim->getId()] = $cdim_name; } // enabled dimension object types $dots = DimensionObjectTypes::findAll(array('conditions' => 'dimension_id IN (' . implode(',', $enabled_dimensions) . ')')); tpl_assign('custom_dimension_names', $custom_dimension_names); tpl_assign('dimension_ots', $dots); }
function canBeDeleted(&$error_message) { $childs = $this->getAllChildren(); if (MemberPropertyMembers::isMemberAssociated($this->getId())) { $error_message = lang("cannot delete member is associated"); return false; } $continue_check = false; if (count($childs) == 0) { $continue_check = true; } else { if ($this->getParentMemberId() > 0) { $child_ots = DimensionObjectTypeHierarchies::getAllChildrenObjectTypeIds($this->getDimensionId(), $this->getParentMember()->getObjectTypeId(), false); } foreach ($childs as $child) { // check if child can be put in the parent (or root) if ($this->getParentMemberId() == 0) { $dim_ot = DimensionObjectTypes::findOne(array("conditions" => array("`dimension_id` = ? AND `object_type_id` = ?", $this->getDimensionId(), $child->getObjectTypeId()))); if (!$dim_ot->getIsRoot()) { $error_message = lang("cannot delete member cannot be root"); return false; } } else { if (!in_array($child->getObjectTypeId(), $child_ots)) { $error_message = lang("cannot delete member childs cannot be moved to parent"); return false; } } } $continue_check = true; } if (!$continue_check) { return false; } else { $child_ids = $this->getAllChildrenIds(); $child_ids[] = $this->getId(); $child_ids_str = implode(",", $child_ids); $objects_in_member = ObjectMembers::instance()->findAll(array('conditions' => 'member_id = ' . $this->getId())); if (!$objects_in_member || count($objects_in_member) == 0) { return true; } else { $more_conditions = ""; if (Plugins::instance()->isActivePlugin('core_dimensions')) { $person_dim = Dimensions::findByCode('feng_persons')->getId(); $more_conditions = " AND member_id NOT IN (SELECT id FROM " . TABLE_PREFIX . "members WHERE dimension_id={$person_dim})"; } $object_id_condition = $this->getObjectId() > 0 ? " AND o.id <> " . $this->getObjectId() : ""; foreach ($objects_in_member as $om) { $obj_members = ObjectMembers::findAll(array("conditions" => array("`object_id` = ? AND `is_optimization` = 0 AND member_id IN ({$child_ids_str}) AND EXISTS (SELECT o.id FROM " . TABLE_PREFIX . "objects o WHERE o.id = ? AND o.trashed_by_id=0 {$object_id_condition})" . $more_conditions, $om->getObjectId(), $om->getObjectId()))); if (count($obj_members) >= 1) { $error_message = lang("cannot delete member has objects"); return false; } $db_res = DB::execute("SELECT object_type_id FROM " . TABLE_PREFIX . "objects WHERE id=" . $om->getObjectId()); $row = $db_res->fetchRow(); if ($row && array_var($row, 'object_type_id')) { $req_dim_ids = DimensionObjectTypeContents::getRequiredDimensions(array_var($row, 'object_type_id')); if (in_array($this->getDimensionId(), $req_dim_ids)) { $error_message = lang("cannot delete member is required for objects"); return false; } } } } } return true; }
/** * This function will return paginated result. Result is an array where first element is * array of returned object and second populated pagination object that can be used for * obtaining and rendering pagination data using various helpers. * * Items and pagination array vars are indexed with 0 for items and 1 for pagination * because you can't use associative indexing with list() construct * * @access public * @param array $arguments Query argumens (@see find()) Limit and offset are ignored! * @param integer $items_per_page Number of items per page * @param integer $current_page Current page number * @return array */ function paginate($arguments = null, $items_per_page = 10, $current_page = 1) { if (isset($this) && instance_of($this, 'DimensionObjectTypes')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return DimensionObjectTypes::instance()->paginate($arguments, $items_per_page, $current_page); } // if }
function buildMemberList($all_members, $dimension, $allowed_member_type_ids, $allowed_object_type_ids, $item_object, $object_type_id) { $dot_array = array(); // Dimensio Object Types array (cache) $start_time = microtime(1); $membersset = array(); foreach ($all_members as $m) { $membersset[$m->getId()] = true; } $members = array(); foreach ($all_members as $m) { /* @var $m Member */ if ($m->getArchivedById() > 0) { continue; } if ($object_type_id != null) { $selectable = in_array($m->getObjectTypeId(), $allowed_object_type_ids) ? true : false; if ($selectable && isset($item_object)) { if (!$item_object->canAdd(logged_user(), array($m))) { continue; } } } else { $selectable = true; } if (count($allowed_member_type_ids) && !in_array($m->getObjectTypeId(), $allowed_member_type_ids)) { continue; } $tempParent = $m->getParentMemberId(); $x = $m; while ($x instanceof Member && !isset($membersset[$tempParent])) { $tempParent = $x->getParentMemberId(); $x = $x->getParentMember(); } if (!$x instanceof Member) { $tempParent = 0; } $memberOptions = ''; // SET member options (dimension object types table) // CHeck dot cache, if not set goto database and add to cache if (empty($dot_array[$dimension->getId()]) || empty($dot_array[$dimension->getId()][$m->getObjectTypeId()])) { if ($dot = DimensionObjectTypes::instance()->findOne(array("conditions" => "\n\t\t\t\t\tdimension_id = " . $dimension->getId() . " AND\n\t\t\t\t\tobject_type_id = " . $m->getObjectTypeId()))) { if (empty($dot_array['dimension_id'])) { $dot_array[$dimension->getId()] = array(); } $dot_array[$dimension->getId()][$m->getObjectTypeId()] = $dot; } } if (!empty($dot_array[$dimension->getId()]) || $dot_array[$dimension->getId()][$m->getObjectTypeId()] instanceof DimensionObjectType) { $dot = $dot_array[$dimension->getId()][$m->getObjectTypeId()]; $memberOptions = $dot->getOptions(true); } /* @var $m Member */ $member = array("id" => $m->getId(), "name" => clean($m->getName()), "parent" => $tempParent, "realParent" => $m->getParentMemberId(), "object_id" => $m->getObjectId(), "options" => $memberOptions, "depth" => $m->getDepth(), "iconCls" => $m->getIconClass(), "selectable" => isset($selectable) ? $selectable : false, "dimension_id" => $m->getDimensionId(), "object_type_id" => $m->getObjectTypeId(), "allow_childs" => $m->allowChilds()); // Member Actions if (can_manage_dimension_members(logged_user())) { $editUrl = ''; // If member has an object linked, take object edit url if ($otid = $m->getObjectTypeId()) { if ($ot = ObjectTypes::findById($otid)) { if ($handler = $ot->getHandlerClass()) { eval("\$itemClass = {$handler}::instance()->getItemClass();"); if ($itemClass) { $instance = new $itemClass(); $instance->setId($m->getObjectId()); $instance->setObjectId($m->getObjectId()); if ($instance) { $editUrl = $instance->getEditUrl(); } } } } } // Take default membewr edit url if not overwitten if (!$editUrl) { $editUrl = get_url('member', 'edit', array('id' => $m->getId())); } $member['actions'] = array(array('url' => $editUrl, 'text' => '', 'iconCls' => 'ico-edit')); } $members[] = $member; } return $members; }
function workspaces_additional_dashboard_actions($ignored, &$actions) { $ws_dim = Dimensions::findByCode('workspaces'); $wot = ObjectTypes::findByName('workspace'); $wdot = DimensionObjectTypes::findOne(array('conditions' => 'dimension_id=' . $ws_dim->getId() . ' AND object_type_id=' . $wot->getId())); if ($wdot instanceof DimensionObjectType && $wdot->getEnabled()) { if (active_context_can_contain_member_type($ws_dim->getId(), $wot->getId())) { $actions[] = array('id' => 'workspaces-list', 'assoc_ot' => $wot->getId(), 'assoc_dim' => $ws_dim->getId(), 'name' => lang('workspaces list'), 'class' => 'link-ico ico-workspace', 'onclick' => "og.openLink(og.getUrl('member', 'init', {dim_id:" . $ws_dim->getId() . ", type_id:" . $wot->getId() . "}), {caller:'" . $ws_dim->getCode() . "'}); return false;"); } } $tags_dim = Dimensions::findByCode('tags'); $tot = ObjectTypes::findByName('tag'); $tdot = DimensionObjectTypes::findOne(array('conditions' => 'dimension_id=' . $tags_dim->getId() . ' AND object_type_id=' . $tot->getId())); if ($tdot instanceof DimensionObjectType && $tdot->getEnabled()) { if (active_context_can_contain_member_type($tags_dim->getId(), $tot->getId())) { $actions[] = array('id' => 'tags-list', 'assoc_ot' => $tot->getId(), 'assoc_dim' => $tags_dim->getId(), 'name' => lang('tags list'), 'class' => 'link-ico ico-tag', 'onclick' => "og.openLink(og.getUrl('member', 'init', {dim_id:" . $tags_dim->getId() . ", type_id:" . $tot->getId() . "}), {caller:'" . $tags_dim->getCode() . "'}); return false;"); } } }
, isManageable: <?php echo (int) $dimension->getIsManageable(); ?> , quickAdd: <?php echo intval($dimension->getOptionValue('quickAdd')) ? 'true' : 'false'; ?> , minHeight: 10 //animate: false, //animCollapse: false } <?php $dim_obj_types = DimensionObjectTypes::getObjectTypeIdsByDimension($dimension->getId()); $dim_obj_type_descendants[$dimension->getId()] = array(); foreach ($dim_obj_types as $ot_id) { $all_child_ots = DimensionObjectTypeHierarchies::getAllChildrenObjectTypeIds($dimension->getId(), $ot_id); $dim_obj_type_descendants[$dimension->getId()][$ot_id] = array_values($all_child_ots); } ?> <?php } ?> ]; og.dimension_object_type_descendants = Ext.util.JSON.decode('<?php echo json_encode($dim_obj_type_descendants); ?> ');