function &insert(&$obj) { if (is_a($obj, 'Inline') && !$this->noPara) { $obj =& $obj->toPara(); } return parent::insert($obj); }
/** * Sets up all template access for a template variable * * @param integer $tv_id * @param array $templates * * @return boolean */ public function setup_tv_template_access($tv_id, $templates) { $template_collection = $this->modx->getCollection('modTemplate'); // Remove all tv access for each template foreach ($template_collection as $template) { $template = Element::insert($template); if (!$this->remove_template_access($tv_id, $template->get_property('id'))) { return false; } } // Give access to all templates if the first name is * if ($templates[0] === '*') { foreach ($template_collection as $template) { $template = Element::insert($template); if ($template) { if (!$this->add_template_access($tv_id, $template->get_property('id'))) { return false; } } } } else { foreach ($templates as $template_name) { $template = Element::get($this->modx, 'modTemplate', $template_name); // If the template exists add access to the tv if ($template) { if (!$this->add_template_access($tv_id, $template->get_property('id'))) { return false; } } } } return true; }
if (count($flagged_tvs) > 0) { $updated_tvs = $tvs; foreach ($flagged_tvs as $i) { unset($updated_tvs[$i]); } // Update the template variable file and remove the tvs from the sync if successfull if ($element_helper->update_tv_file($updated_tvs)) { foreach ($flagged_tvs as $i) { $element_sync->remove_element('modTemplateVar', $tvs[$i]->name); } } } // Process the template variable elements foreach ($modx->getCollection('modTemplateVar') as $element_object) { // Check if the tv exists in the template variables file $element = Element::insert($element_object); $name = $element->get_property('name'); $category_id = $element->get_property('category'); $tv_file_has_tv = false; // Check if the element has a category and is whitelisted if ($category_id !== 0) { $category = Element::get($modx, 'modCategory', $category_id); if (!in_array($category->get_property('name'), $category_whitelist)) { continue; } } // Loop through the tvs to check if it exists in the template variables file foreach ($tvs as $i => $tv) { if ($tv->name === $name) { $tv_file_has_tv = true; }