Ejemplo n.º 1
0
ossim_valid($page, OSS_DIGIT, OSS_NULLABLE, 'illegal:' . _("page"));
ossim_valid($rp, OSS_DIGIT, OSS_NULLABLE, 'illegal:' . _("rp"));
ossim_valid($search, OSS_TEXT, OSS_NULLABLE, 'illegal:' . _("search"));
ossim_valid($field, OSS_ALPHA, OSS_SPACE, OSS_PUNC, OSS_NULLABLE, 'illegal:' . _("field"));
ossim_valid($id, OSS_ALPHA, 'illegal:' . _("id"));
ossim_valid($subcategory_id, OSS_DIGIT, OSS_NULLABLE, 'illegal:' . _("subcategory_id"));
if (ossim_error()) {
    die(ossim_error());
}
if (empty($order)) {
    $order = "sid";
}
$where = "WHERE sid <> 20000000 AND sid <> 2000000000 AND plugin_id = {$id}";
if (!empty($search) && !empty($field)) {
    if ($field == "category_id") {
        $pids = Plugin_sid::GetPluginSidsByCategory($conn, $id, $search, $subcategory_id);
        $plugin_list = implode(",", $pids);
        $where .= " AND sid in ({$plugin_list})";
    } else {
        $where .= " AND {$field} like '%" . $search . "%'";
    }
}
$start = ($page - 1) * $rp;
$limit = "LIMIT {$start}, {$rp}";
$xml = "";
if ($plugin_list = Plugin_sid::get_list($conn, "{$where} ORDER BY {$order} {$limit}")) {
    $total = $plugin_list[0]->get_foundrows();
    if ($total == 0) {
        $total = count($plugin_list);
    }
    $xml .= "<rows>\n";