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