Esempio n. 1
0
 // get menu
 $menu_params = JSite::getMenu()->getParams($Itemid);
 // retrieve item id from menu item
 if (!isset($query['submission_id'])) {
     $query['submission_id'] = $menu_params->get('submission');
     $query['type_id'] = $menu_params->get('type');
     $query['item_id'] = $menu_params->get('item_id');
     $query['submission_hash'] = '';
 }
 if ($query['layout'] == 'submission') {
     $title[] = $task;
     $title[] = $query['layout'];
     $title[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']);
     $title[] = $query['type_id'];
     $title[] = $query['submission_hash'];
     $title[] = ItemHelper::translateIDToAlias((int) @$query['item_id']);
     shRemoveFromGETVarsList('layout');
     shRemoveFromGETVarsList('submission_id');
     shRemoveFromGETVarsList('type_id');
     shRemoveFromGETVarsList('submission_hash');
     shRemoveFromGETVarsList('item_id');
 } else {
     if ($query['layout'] == 'mysubmissions') {
         $title[] = $task;
         $title[] = $query['layout'];
         $title[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']);
         shRemoveFromGETVarsList('layout');
         shRemoveFromGETVarsList('submission_id');
     }
 }
 break;
Esempio n. 2
0
function ZooBuildRoute(&$query)
{
    // init vars
    $segments = array();
    // frontpage
    $task = 'frontpage';
    if (@$query['task'] == $task || @$query['view'] == $task) {
        $segments[] = $task;
        unset($query['task']);
        unset($query['view']);
        // pagination
        if (isset($query['page'])) {
            $segments[] = $query['page'];
            unset($query['page']);
        }
    }
    // category
    $task = 'category';
    if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['category_id'])) {
        $segments[] = $task;
        $segments[] = CategoryHelper::translateIDToAlias((int) $query['category_id']);
        unset($query['task']);
        unset($query['view']);
        unset($query['category_id']);
        // pagination
        if (isset($query['page'])) {
            $segments[] = $query['page'];
            unset($query['page']);
        }
    }
    // alpha index
    $task = 'alphaindex';
    if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['alpha_char']) && isset($query['app_id'])) {
        $segments[] = $task;
        $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']);
        $segments[] = $query['alpha_char'];
        unset($query['task']);
        unset($query['view']);
        unset($query['alpha_char']);
        unset($query['app_id']);
        // pagination
        if (isset($query['page'])) {
            $segments[] = $query['page'];
            unset($query['page']);
        }
    }
    // tag
    $task = 'tag';
    if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) {
        $segments[] = $task;
        $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']);
        $segments[] = $query['tag'];
        unset($query['task']);
        unset($query['view']);
        unset($query['tag']);
        unset($query['app_id']);
        // pagination
        if (isset($query['page'])) {
            $segments[] = $query['page'];
            unset($query['page']);
        }
    }
    // item
    $task = 'item';
    if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['item_id'])) {
        $segments[] = $task;
        $segments[] = ItemHelper::translateIDToAlias((int) $query['item_id']);
        unset($query['task']);
        unset($query['view']);
        unset($query['item_id']);
    }
    // feed
    $task = 'feed';
    if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['type']) && isset($query['category_id'])) {
        $segments[] = $task;
        $segments[] = $query['type'];
        $segments[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']);
        $segments[] = CategoryHelper::translateIDToAlias((int) $query['category_id']);
        unset($query['task']);
        unset($query['view']);
        unset($query['type']);
        unset($query['app_id']);
        unset($query['category_id']);
    }
    // submission
    $task = 'submission';
    $layout = 'submission';
    if ((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout) {
        $segments[] = $task;
        $segments[] = $layout;
        $segments[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']);
        $segments[] = $query['type_id'];
        $segments[] = $query['submission_hash'];
        $segments[] = ItemHelper::translateIDToAlias((int) @$query['item_id']);
        unset($query['task']);
        unset($query['view']);
        unset($query['layout']);
        unset($query['submission_id']);
        unset($query['type_id']);
        unset($query['submission_hash']);
        unset($query['item_id']);
    }
    // submission mysubmissions
    $task = 'submission';
    $layout = 'mysubmissions';
    if ((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == $layout) {
        $segments[] = $task;
        $segments[] = $layout;
        $segments[] = SubmissionHelper::translateIDToAlias((int) $query['submission_id']);
        unset($query['task']);
        unset($query['view']);
        unset($query['layout']);
        unset($query['submission_id']);
    }
    return $segments;
}
Esempio n. 3
0
 protected function _itemToXML(Item $item)
 {
     $attributes = array();
     foreach (self::$item_attributes as $attribute) {
         if (isset($item->{$attribute})) {
             $attributes[$attribute] = $item->{$attribute};
         }
     }
     $attributes['author'] = JFactory::getUser($item->created_by)->username;
     $item_xml = $this->_buildItem($item->alias, $item->name, $attributes);
     foreach ($item->getRelatedCategoryIds() as $category_id) {
         $alias = '';
         if (empty($category_id)) {
             $alias = '_root';
         } else {
             if (isset($this->categories[$category_id])) {
                 $alias = $this->categories[$category_id]->alias;
             }
         }
         if (!empty($alias)) {
             $this->_addItemCategory($item_xml, $alias);
         }
     }
     foreach ($item->getTags() as $tag) {
         $this->_addItemTag($item_xml, $tag);
     }
     foreach ($item->getElements() as $element) {
         $xml = YXML::loadString('<wrapper>' . $element->toXML() . '</wrapper>');
         foreach ($xml->children() as $element_xml) {
             $element_xml->addAttribute('name', $element->getConfig()->get('name'));
             $this->_addItemData($item_xml, $element_xml);
         }
     }
     $metadata = array();
     foreach ($item->getParams()->get('metadata.', array()) as $key => $value) {
         $metadata[preg_replace('/^metadata\\./', '', $key)] = $value;
     }
     if (!empty($metadata)) {
         $this->_addItemMetadata($item_xml, $metadata);
     }
     // sanitize relateditems elements
     $related_item_xmls = $item_xml->xpath('data/relateditems/item');
     if ($related_item_xmls) {
         foreach ($related_item_xmls as $related_item_xml) {
             $item_xml->replaceChild(YXMLElement::create('item', ItemHelper::translateIDToAlias((string) $related_item_xml), true), $related_item_xml);
         }
     }
     return $item_xml;
 }