/** * Render form control * * @param string $control_name * @return string */ function render($control_name) { $value = $this->getValue(); $dimensions = Dimensions::instance()->findAll(); $permission_group_ids = ContactPermissionGroups::getPermissionGroupIdsByContactCSV(logged_user()->getId(), false); $out = ''; foreach ($dimensions as $dim) { /* @var $dim Dimension */ if ($dim->getOptions(1) && isset($dim->getOptions(1)->hidden) && $dim->getOptions(1)->hidden) { continue; } if (!$dim->getDefinesPermissions() || !$dim->deniesAllForContact($permission_group_ids)) { if (array_search($dim->getId(), $value) !== false) { $checked = 1; } else { $checked = 0; } $out .= '<div class="dimension" >'; $out .= label_tag($dim->getName(), null, false, array('style' => 'display:inline;margin:10px;vertical-align:super;')); $out .= checkbox_field($control_name . '[' . $dim->getId() . ']', $checked); $out .= '</div >'; } } $out .= '<input type="hidden" name="' . $control_name . '[0]" value=" ">'; return $out; }
/** * Render form control * * @param string $control_name * @return string */ function render($control_name) { $dimensions = Dimensions::instance()->findAll(array('conditions' => '`is_manageable` = 1')); $options = array(); $option_attributes = $this->getValue() == 0 ? array('selected' => 'selected') : null; $options[] = option_tag(lang('none'), 0, $option_attributes); foreach ($dimensions as $dim) { /* @var $dim Dimension */ if (in_array($dim->getId(), config_option('enabled_dimensions'))) { $dim_name = $dim->getName(); $option_attributes = $this->getValue() == $dim->getId() ? array('selected' => 'selected') : null; $options[] = option_tag($dim_name, $dim->getId(), $option_attributes); } } return select_box($control_name, $options); }
/** * Render form control * * @param string $control_name * @return string */ function render($control_name) { $value = $this->getValue(); $dimensions = Dimensions::instance()->findAll(); $permission_group_ids = ContactPermissionGroups::getPermissionGroupIdsByContactCSV(logged_user()->getId(),false); $out = '' ; foreach ($dimensions as $dim) { /* @var $dim Dimension */ if ( $dim->getOptions(1) && isset($dim->getOptions(1)->hidden) && $dim->getOptions(1)->hidden ) { continue ; } if (!$dim->getDefinesPermissions() || !$dim->deniesAllForContact($permission_group_ids)) { if (array_search($dim->getId(), $value) !== false ){ $checked = 1 ; }else{ $checked = 0 ; } $out.='<div class="dimension" >'; $out.=label_tag($dim->getName()); $out.=checkbox_field($control_name.'['.$dim->getId().']',$checked ); $out.='</div >'; } } return $out ; }
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"); } }
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}"); } }
/** * Return manager instance * * @access protected * @param void * @return Dimensions */ function manager() { if (!$this->manager instanceof Dimensions) { $this->manager = Dimensions::instance(); } return $this->manager; }
/** * Return manager instance * * @access protected * @param void * @return Dimensions */ function manager() { if(!($this->manager instanceof Dimensions)) $this->manager = Dimensions::instance(); return $this->manager; } // manager
/** * 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, 'Dimensions')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return Dimensions::instance()->paginate($arguments, $items_per_page, $current_page); } // if }
function workspaces_page_rendered() { if (!Plugins::instance()->isActivePlugin('crpm')) { $did = Dimensions::instance()->findByCode('workspaces')->getId(); $one_member = Members::findOne(array('conditions' => 'dimension_id = ' . $did)); if (!$one_member instanceof Member) { echo "<script>"; echo "og.menuPanelCollapsed = true;"; echo "</script>"; } } }
og.config.quick_add_task_combos = <?php $object = ""; $dimensions_user = get_user_dimensions_ids(); $dimensions_to_show = explode(",", user_config_option("quick_add_task_view_dimensions_combos")); $dimensions_to_skip = array_diff($dimensions_user, $dimensions_to_show); //sort combos function cmp($a, $b) { return $a < $b ? -1 : 1; } usort($dimensions_to_show, "cmp"); foreach ($dimensions_to_show as $key => $dimension_id) { if (in_array($dimension_id, $dimensions_to_skip)) { continue; } $dim = Dimensions::instance()->getDimensionById($dimension_id); if ($dim instanceof Dimension) { if ($key != 0) { $object .= ","; } $object .= "{name : '" . escape_character($dim->getName()) . "', desc : '" . escape_character(lang('add new relation ' . $dim->getCode())) . "'}"; } } echo "[" . $object . "]"; ?> ; ogTasks.custom_properties = <?php echo json_encode($cp_values); ?> ;