Exemplo n.º 1
0
if ($limitToItems) {
    $search->addWhereCondition("items", $limitToItems);
} elseif ($limitToOrderedItems) {
    //If we must limit to some specific items ordered (usually used for polymod multi_poly_object field)
    $search->addWhereCondition("itemsOrdered", $limitToOrderedItems);
} else {
    // Params : paginate limit
    $search->setAttribute('itemsPerPage', $limit);
    $search->setAttribute('page', $start / $limit);
    // Params : set default direction direction
    if (!CMS_session::getSessionVar('direction_' . $object->getID())) {
        CMS_session::setSessionVar('direction_' . $object->getID(), 'desc');
    }
    // Params : order
    if (CMS_session::getSessionVar('sort_' . $object->getID())) {
        $search->addOrderCondition(CMS_session::getSessionVar('sort_' . $object->getID()), CMS_session::getSessionVar('direction_' . $object->getID()));
    } else {
        $search->addOrderCondition('objectID', CMS_session::getSessionVar('direction_' . $object->getID()));
    }
}
//launch search
$search->search(CMS_object_search::POLYMOD_SEARCH_RETURN_INDIVIDUALS_OBJECTS);
// Vars for lists output purpose and pages display, see further
$itemsDatas['total'] = $search->getNumRows();
//Get parsed result definition
if ($resultsDefinition) {
    $definitionParsing = new CMS_polymod_definition_parsing($resultsDefinition, true, CMS_polymod_definition_parsing::PARSE_MODE);
}
//loop on results items
while ($item = $search->getNextResult()) {
    //Process actions on item if any