public function getInstalledPkgs(Host &$host, $orderBy, $pageSize, $pageNum) { $sql = "select pkg.id, pkg.name, pkg.version, pkg.release, pkg.arch\n from InstalledPkg inst inner join Pkg pkg on inst.pkgId=pkg.id"; $where = " where inst.hostId={$host->getId()}"; switch ($orderBy) { case "arch": $sql .= "{$where} order by pkg.arch"; break; case "version": $sql .= "{$where} order by pkg.version, pkg.release"; break; default: // oderByName by default $sql .= "{$where} order by pkg.name"; } if ($pageSize != -1 && $pageNum != -1) { $offset = $pageSize * $pageNum; $sql .= " limit {$offset},{$pageSize}"; } $installedPkgsDb =& $this->db->queryToMultiRow($sql); # Create objects $installedPkgs = array(); if ($installedPkgsDb != null) { foreach ($installedPkgsDb as $installedPkgDb) { $pkg = new Pkg(); $pkg->setId($installedPkgDb["id"]); $pkg->setName($installedPkgDb["name"]); $pkg->setVersion($installedPkgDb["version"]); $pkg->setRelease($installedPkgDb["release"]); $pkg->setArch($installedPkgDb["arch"]); array_push($installedPkgs, $pkg); } } return $installedPkgs; }
public function create(Pkg &$pkg) { $this->db->query("insert into Pkg set\n name='" . $this->db->escape($pkg->getName()) . "',\n version='" . $this->db->escape($pkg->getVersion()) . "',\n arch='" . $this->db->escape($pkg->getArch()) . "',\n `release`='" . $this->db->escape($pkg->getRelease()) . "'"); # Set the newly assigned id $pkg->setId($this->db->getLastInsertedId()); }