Пример #1
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;
}
Пример #2
0
         $query['category_id'] = JSite::getMenu()->getParams($Itemid)->get('category');
     }
     $title[] = $task;
     $title[] = CategoryHelper::translateIDToAlias((int) $query['category_id']);
     // pagination
     if (isset($query['page'])) {
         $title[] = $query['page'];
         shRemoveFromGETVarsList('page');
     }
     shRemoveFromGETVarsList('category_id');
     break;
 case 'feed':
     $title[] = $task;
     $title[] = $query['type'];
     $title[] = ApplicationHelper::translateIDToAlias((int) $query['app_id']);
     $title[] = CategoryHelper::translateIDToAlias((int) $query['category_id']);
     shRemoveFromGETVarsList('type');
     shRemoveFromGETVarsList('app_id');
     shRemoveFromGETVarsList('category_id');
     break;
 case 'frontpage':
     // retrieve app id from menu item
     if (!isset($query['app_id'])) {
         $query['app_id'] = JSite::getMenu()->getParams($Itemid)->get('application');
     }
     $title[] = $task;
     $title[] = ApplicationHelper::translateIDToAlias($query['app_id']);
     // pagination
     if (isset($query['page'])) {
         $title[] = $query['page'];
         shRemoveFromGETVarsList('page');