Changeset 22782

Show
Ignore:
Timestamp:
07/03/09 16:18:35 (9 months ago)
Author:
xfade
Message:

Add Provides lookup redirect.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/ragnaroek/midcom/org.maemo.packages/handler/package/overview.php

    r22634 r22782  
    5050        $objects = $qb->execute(); 
    5151 
     52        //Try if we can find the package by looking at Provides. Relocate to correct package if found. 
     53        if (!$objects) 
     54        { 
     55            $qb = org_maemo_packages_packageinstance_dba::new_query_builder(); 
     56            $qb->add_constraint('provides', 'LIKE', '%'.$args[0].'%'); 
     57            $qb->set_limit(1); 
     58            $temp_package_instance = $qb->execute(); 
     59            if ($temp_package_instance) 
     60            { 
     61                $qb = org_maemo_packages_package_dba::new_query_builder(); 
     62                $qb->add_constraint('id', '=', $temp_package_instance[0]->package); 
     63                $qb->set_limit(1); 
     64                $package = $qb->execute(); 
     65                if ($package) 
     66                { 
     67                    $prefix = $_MIDCOM->get_context_data(MIDCOM_CONTEXT_ANCHORPREFIX); 
     68                    $_MIDCOM->relocate($prefix . 'view/'.$package[0]->name.'/'); 
     69                } 
     70            } 
     71            else 
     72            { 
     73                $_MIDCOM->generate_error(MIDCOM_ERRCRIT, 'Package ' . $args[1] . ' can not be found in packages. Lookup in Provides failed too.'); 
     74            } 
     75        } 
     76 
    5277        $qb = org_maemo_packages_packageinstance_dba::new_query_builder(); 
    5378        $qb->add_constraint('package', '=', $objects[0]->id);