public function index()
 {
     $this->set_default_side_bar();
     $this->title = 'All Packages';
     Nimble::set_title($this->title);
     $page = isset($_GET['page']) ? $_GET['page'] : NULL;
     switch ($this->format) {
         case 'xml':
             $this->packages = Package::find_all();
             $this->header('Content-Type: text/xml', 200);
             echo $this->packages->to_xml();
             $this->layout = false;
             $this->has_rendered = true;
             break;
         case 'json':
             $this->packages = Package::find_all();
             $this->header('Content-type: application/json', 200);
             echo $this->packages->to_json();
             $this->layout = false;
             $this->has_rendered = true;
             break;
         case 'atom':
             $this->layout = false;
             $this->has_rendered = true;
             break;
         case 'rss':
             $this->layout = false;
             $this->has_rendered = true;
             break;
         default:
             $this->full = true;
             $this->packages = Package::paginate(array('select' => '`packages`.*, AVG(`package_ratings`.`rating`) as rating', 'order' => 'rating DESC', 'per_page' => 20, 'page' => $page, 'joins' => 'LEFT JOIN `package_ratings` on `package_ratings`.`package_id` = `packages`.`id`', 'group' => '`packages`.id'));
             break;
     }
 }
 public function search()
 {
     $methods = get_class_methods($this);
     $sql = array();
     foreach ($methods as $method) {
         $matches = array();
         if (preg_match('/([a-zA-z0-9_]+)_conditions$/', $method, $matches)) {
             $retrun = call_user_func(array($this, $method));
             if (!empty($return)) {
                 $sql[] = NimbleRecord::sanitize($return);
             }
         }
     }
     $conditions = implode(' ', $sql);
     return Package::find_all(array('conditions' => $conditions));
 }
Ejemplo n.º 3
0
<?php

require_once "../initialise_files.php";
include_once "sessioninc.php";
$packages = Package::find_all();
$smarty->assign('packages', $packages);
if (isset($_GET['id']) && isset($_GET['action']) && $_GET['action'] == "delete") {
    $package = new Package();
    $package->id = (int) $_GET['id'];
    if ($package->delete()) {
        $session->message("<div class='success'>Package has been deleted.</div>");
        redirect_to($_SERVER['PHP_SELF']);
        die;
    } else {
        $message = "<div class='error'> Problem deleteing package</div>";
    }
}
$html_title = SITE_NAME . " List Packages ";
$smarty->assign('lang', $lang);
$smarty->assign('message', $message);
$smarty->assign('rendered_page', $smarty->fetch('admin/list_packages.tpl'));
$smarty->display('admin/index.tpl');