/** * Delete waluta from database, given by symbol. * @param string $symbol */ public static function DeleteWaluta($symbol) { $query = "DELETE FROM #S#waluty_kursy WHERE 1=1"; if ($symbol != null) { $query .= " AND waluta=?"; $params[] = $symbol; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); }
public static function getList($enum_id) { $db = DataBase::GetDbInstance(); $query = "SELECT * FROM listy WHERE enum_id = ?"; $params = array((int) $enum_id); $return = array(); $result = $db->ExecuteQueryWithParams($query, $params); while ($row = $db->FetchArray($result)) { $return[] = $row['value']; } return $return; }
/** * Delete all unused photos, that are no longer published. * @param int $offerId * @param array $Ids * @param mixed $investmentId */ public static function DeleteUnUsePhotos($offerId = false, $Ids = array(), $investmentId = false) { if (count($Ids) > 0 && $offerId) { $params = array(); $params[] = (int) $offerId; $params['not_ids'] = $Ids; $filters = self::PrepareFilters($params); $inBind = implode(',', array_fill(0, count($Ids), '?')); //first delete from disk $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT id, filename FROM #S#offers_photos WHERE offers_id=? AND id NOT IN ({$inBind})", $filters); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { self::DeletePhotoFromDisk($row[0], $offerId, 0, $row[1]); } //now from database $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("DELETE FROM #S#offers_photos WHERE offers_id=? AND id NOT IN ({$inBind})", $filters); } else { self::DeletePhotoFromDisk(0, $offerId); } if (count($Ids) > 0 && $investmentId) { $params = array(); $params[] = (int) $investmentId; $params['not_ids'] = $Ids; $filters = self::PrepareFilters($params); $inBind = implode(',', array_fill(0, count($Ids), '?')); //first delete from disk $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT id FROM #S#offers_photos WHERE investments_id=? AND id NOT IN ({$inBind})", $filters); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { self::DeletePhotoFromDisk($row[0], $offerId); } //now from database $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("DELETE FROM #S#offers_photos WHERE investments_id=? AND id NOT IN ({$inBind})", $filters); } else { self::DeletePhotoFromDisk(0, 0, $investmentId); } }
/** * * @param int $gid * @return bool */ public function MaParametr($param) { if (is_numeric($param)) { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT COUNT(GID) FROM #S#artykuly_parametry WHERE GID=? AND artykuly_GID=? AND IdJezyk=?", array((int) $param, (int) $this->_GID, (int) $this->_IdJezyk)); } else { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT COUNT(GID) FROM #S#artykuly_parametry WHERE ParamNazwa=? AND artykuly_GID=? AND IdJezyk=?", array($param, (int) $this->_GID, (int) $this->_IdJezyk)); } if ($result) { $row = DataBase::GetDbInstance()->FetchArray($result); return $row && $row[0] > 0; } else { return false; } }
/** * Returns array of offers investment. * @param int $investmentId * @param int $lngId * @return array */ public static function GetOffers($investmentId, $lngId = 1045) { $db = DataBase::GetDbInstance(); $params = array((int) $investmentId, (int) $lngId); $query = "SELECT o.id FROM #S#offers o INNER JOIN #S#investments_buildings b ON o.investments_buildings_id=b.id WHERE b.investments_id=? AND o.id_lng=? ORDER BY o.id"; $result = $db->ExecuteQueryWithParams($query, $params); $offers = array(); while ($row = $db->FetchArray($result)) { $offers[] = Offers::getOffer($row[0], $lngId); } return $offers; }
public static function IndeksujGaleriePozycjeDlaGalerii($galeria_gid) { $del_query = "DELETE a_gp FROM #S#artykuly_galeriepozycje AS a_gp INNER JOIN #S#galeriepozycje AS gp ON a_gp.galeriepozycje_GID=gp.GID WHERE gp.galerie_GID=?"; $del_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($del_query, array((int) $galeria_gid)); $query = "SELECT GID, Tagi FROM #S#artykuly WHERE Tagi <> '' AND IdJezyk=1045"; $sub_query = "SELECT GID FROM #S#galeriepozycje WHERE Tagi <> '' AND Tagi LIKE ? AND IdJezyk=1045 AND galerie_GID=?"; $ins_query = "INSERT INTO #S#artykuly_galeriepozycje (artykuly_GID, galeriepozycje_GID) VALUES(?, ?);"; $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, array()); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $tagi = explode(",", $row['Tagi']); $unique_tags = array(); foreach ($tagi as $tag) { if (!isset($unique_tags[$tag])) { $sub_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($sub_query, array('%' . $tag . '%', (int) $galeria_gid)); while ($sub_row = DataBase::GetDbInstance()->FetchArray($sub_result)) { $ins_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($ins_query, array($row['GID'], $sub_row['GID'])); } $unique_tags[$tag] = true; } } } }
/** * Add offers from xml to given investment building. * @param xmlnode $offersNode * @param InvestmentBuilding $bulding */ public static function AddOffersToBuilding($offersNode, InvestmentBuilding $bulding) { if ($offersNode != null && $offersNode->children != null) { foreach (@$offersNode->children() as $ofeNode) { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("UPDATE #S#offers SET investments_buildings_id=? WHERE id=?", array($bulding->GetId(), (int) $ofeNode['wartosc'])); } } }
/** * Returns list of language text ready to serialize. * @return array */ public static function GetJezyki() { $result = DataBase::GetDbInstance()->ExecuteQuery("SELECT * FROM #S#jezyki"); $arr = array(); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $jt = self::BuildJezyk($row); //$arr[count($arr)] = $jt; if (!array_key_exists($jt->GetKlucz(), $arr)) { $arr[$jt->GetKlucz()] = array(); } $arr[$jt->GetKlucz()][$jt->GetIdJezyk()] = $jt->GetWartosc(); } return $arr; }
private function LoadProperties() { //dynamic properties if ($this->dataLoaded) { return; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT p.name, op.value, op.set FROM #S#investments_properties AS op INNER JOIN #S#properties AS p ON p.id = op.properties_id WHERE op.investments_id=? AND op.investments_id_lng=?", array((int) $this->GetId(), (int) $this->GetIdLng())); while ($row2 = DataBase::GetDbInstance()->FetchArray($result)) { if ($row2['set'] == 1) { $set = null; if (array_key_exists($row2['name'], $this->data)) { $set = $this->data[$row2['name']]; } $set[count($set)] = $row2['value']; $this->data[$row2['name']] = $set; } else { $this->data[$row2['name']] = $row2['value']; } } $this->dataLoaded = true; }
/** * Save value of given property in given investment. * @param Property $prop * @param Investment $inv * @param string $value * @param bool $isNew * @param array $dbValuesList */ public static function SavePropertyValueForInv(Property $prop, Investment $inv, $value, $isNew, $dbValuesList) { is_numeric($inv->GetId()) ? $get_id = (int) $inv->GetId() : ($get_id = $inv->GetId()); is_numeric($inv->GetIdLng()) ? $get_lng_id = (int) $inv->GetIdLng() : ($get_lng_id = $inv->GetIdLng()); is_numeric($prop->GetID()) ? $get_prop_id = (int) $prop->GetID() : ($get_prop_id = $prop->GetID()); if ($isNew) { //if offer is new, then directly make insert, instead of checking if record exist in db if (is_array($value)) { foreach ($value as $val) { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("INSERT INTO #S#investments_properties (investments_id, investments_id_lng, properties_id, value, `set`, hash) VALUES(?, ?, ?, ?, true, ?)", array($get_id, $get_lng_id, $get_prop_id, $val, md5($val))); } } else { $query = "INSERT INTO #S#investments_properties (investments_id, investments_id_lng, properties_id, value, `set`, hash) VALUES(?, ?, ?, ?, false, ?)"; $params = array($get_id, $get_lng_id, $get_prop_id, $value, md5($value)); $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); } } else { //if offer exist, check if value exist in db if (is_array($value)) { $dbvalues = array(); if (array_key_exists($prop->GetID(), $dbValuesList)) { foreach ($dbValuesList[$prop->GetID()] as $dbval) { if (in_array($dbval["value"], $value)) { $dbvalues[count($dbvalues)] = $dbval["value"]; } else { //delete from database $result2 = DataBase::GetDbInstance()->ExecuteQueryWithParams("DELETE FROM #S#investments_properties WHERE id=?", array((int) $dbval['id'])); } } } foreach ($value as $val) { if (!in_array($val, $dbvalues)) { //insert to database $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("INSERT INTO #S#investments_properties (investments_id, investments_id_lng, properties_id, value, `set`, hash) VALUES(?, ?, ?, ?, true, ?)", array($get_id, $get_lng_id, $get_prop_id, $val, md5($val))); } } } else { $row = null; if (array_key_exists($prop->GetID(), $dbValuesList)) { $row = $dbValuesList[$prop->GetID()][0]; } $query = ""; if ($row == null) { $query = "INSERT INTO #S#investments_properties (investments_id, investments_id_lng, properties_id, value, `set`, hash) VALUES(?, ?, ?, ?, false, ?)"; $params = array($get_id, $get_lng_id, $get_prop_id, $value, md5($value)); } else { if ($row['value'] != $value) { $query = "UPDATE #S#investments_properties SET value=?, hash=? WHERE investments_id=? AND investments_id_lng=? AND properties_id=?"; $params = array($value, md5($value), (int) $get_id, (int) $get_lng_id, (int) $get_prop_id); } } if ($query != "") { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); } } } }
/** * Return list of MiejscaMenu objects selected with given filters. * @param array $ht * @param int $idLng * @return Miejsce[] */ public static function PobierzMiejscaMenu($ht, $idLng = 1045) { $query = "SELECT m.* FROM #S#miejsca AS m WHERE m.Rodzaj=" . Miejsca::MIEJSCE_RODZAJ_MENU . " AND IdJezyk=? "; if ($ht != null) { foreach ($ht as $key => $value) { switch ($key) { case "GID": $query .= " AND m.GID=?"; break; case "IdRodzic": if ($value == "null") { $query .= " AND m.Parent_GID IS NULL"; } else { $query .= " AND m.Parent_GID=?"; } break; case "GIDSerwis": $query .= " AND m.serwisy_GID=?"; break; case "Lp": $query .= " AND m.Lp=?"; break; case "Nazwa": $query .= " AND m.NazwaGlowna LIKE ?"; break; default: $query .= " AND m.{$key}=?"; break; } } } $list = array(); $params = array_merge(array((int) $idLng), self::prepareFilters($ht)); $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $list[count($list)] = self::BuildMiejsce($row); } return $list; }
/** * Gets serwis params from database * @param string $key * @param object $defValue * @return array[] */ public static function Params($key, $defValue = null) { if (self::$_Params == null) { self::$_Params = array(); $db = DataBase::GetDbInstance(); $query = "SELECT key_name, value FROM #S#settings"; $result = $db->ExecuteQuery($query); if ($result) { while ($row = $db->FetchArray($result)) { self::$_Params[$row['key_name']] = $row['value']; } } } if (array_key_exists($key, self::$_Params)) { return self::$_Params[$key]; } else { return $defValue; } }
/** * Delete artykul parametrs from database, given by ARTYKUL GID. * @param int $gidArtykul * @param int $idLng */ public static function DeleteArtykulParametry($gidArtykul, $idLng = 0) { $query = "DELETE FROM #S#artykuly_parametry WHERE 1=1"; $params = array(); if ($gidArtykul > 0) { $query .= " AND artykuly_GID=?"; $params[] = (int) $gidArtykul; } if ($idLng > 0) { $query .= " AND IdJezyk=?"; $params[] = (int) $idLng; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); }
/** * Delete department from database, given by ID. * @param int $id */ public static function DeleteDepartment($id = 0) { $params = array(); $query = "DELETE FROM #S#departments WHERE 1=1 "; if ($id > 0) { $query .= " AND id=?"; $params[] = $id; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); }
/** * Returns list of options ready to serialize. * @return array */ public static function GetOpcje() { $result = DataBase::GetDbInstance()->ExecuteQuery("SELECT * FROM #S#opcje"); $arr = array(); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $arr[$row["klucz"]] = $row["wartosc"]; } return $arr; }
/** * Delete arkusz/akrypt from database, given by GID. * @param int $gid * @param int $rodzaj */ public static function DeleteArkuszSkrypt($gid, $rodzaj) { $params = array(); $query = "DELETE FROM #S#arkusze_skrypty WHERE 1=1 "; if ($gid > 0) { $query .= " AND GID=?"; $params[] = (int) $gid; } if ($rodzaj > 0) { $query .= " AND Rodzaj=?"; $params[] = (int) $rodzaj; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); }
/** * Return an array of rooms for given offer. * @param $offerId * @param $offerLng * @return OfferRoom[] */ public static function GetRooms($offerId, $offerLng) { $result = DataBase::GetDbInstance()->ExecuteQueryWithParams("SELECT * FROM #S#offers_rooms WHERE offers_id=? AND offers_id_lng=? ORDER BY `order` ASC", array((int) $offerId, (int) $offerLng)); $rooms = array(); $ndx = 0; while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $rooms[$ndx] = self::BuildRoom($row); $ndx++; } return $rooms; }
/** * Returns a list of agents, take into account the filtering and sorting. * @param RefreshEventArgs $args * @return Agent[] */ public static function GetAgents(RefreshEventArgs $args) { $db = DataBase::GetDbInstance(); $filters = self::PrepareFilters($args->Filters); $query = self::GetQuery("SELECT COUNT(*)", "", $args->Filters); $result = $db->ExecuteQueryWithParams($query, array_values($filters)); $row = $db->FetchArray($result); $args->SetRowsCount($row[0]); $query = "SELECT a.id, a.name, a.phone, a.cell, a.email, a.departments_id, a.jabber_login, a.licence_no, a.responsible_name, a.responsible_licence_no, a.comunicators, a.photo_file, a.agents_code, a.section "; $query = self::GetQuery($query, $args->Sorting, $args->Filters); $args->SetLimit($query); $list = array(); $result = $db->ExecuteQueryWithParams($query, array_values($filters)); while ($row = $db->FetchArray($result)) { $list[count($list)] = self::BuildAgent($row); } return $list; }
<?php echo "<h3>Updating web_api database</h3>"; echo "<br />"; try { $db = DataBase::GetDbInstance(); AddColumn($db, "menu", "NoFollow", "TINYINT( 1 )"); AddColumn($db, "departments", "header", "TEXT"); AddColumn($db, "departments", "footer", "TEXT"); AddColumn($db, "departments", "logo_file", "VARCHAR( 50 )"); AddColumn($db, "departments", "photo_file", "VARCHAR( 50 )"); AddColumn($db, "departments", "subdomena", "VARCHAR( 30 )"); AddColumn($db, "departments", "organization_id", "INT NULL"); AddColumn($db, "departments", "name2", "VARCHAR( 255 )"); AddColumn($db, "agents", "comunicators", "VARCHAR( 500 )"); AddColumn($db, "agents", "photo_file", "VARCHAR( 50 )"); AddColumn($db, "agents", "agents_code", "INT"); AddColumn($db, "agents", "section", "VARCHAR( 50 )"); AddColumn($db, "artykuly", "galerie_GID", "INT NULL"); AddIndex($db, "artykuly", "galerie_GID", '`galerie_GID`'); AddColumn($db, "galerie", "Rozmiar1", "VARCHAR( 9 )"); AddColumn($db, "galerie", "Rozmiar2", "VARCHAR( 9 )"); AddColumn($db, "galerie", "Rozmiar3", "VARCHAR( 9 )"); AddColumn($db, "artykuly", "Tagi", "VARCHAR( 500 )"); AddColumn($db, "artykuly", "DataRozpoczeciaPublikacji", "VARCHAR( 500 )"); AddColumn($db, "galeriepozycje", "Tagi", "VARCHAR( 500 )"); $sql = "CREATE TABLE IF NOT EXISTS `osoby` (\r\n `id` INT NOT NULL ,\r\n `name` VARCHAR(50) NULL ,\r\n `last_name` VARCHAR(50) NULL ,\r\n `email` VARCHAR(50) NULL ,\r\n `phone` VARCHAR(20) NULL ,\r\n `login` VARCHAR(100) NULL ,\r\n `pwd` VARCHAR(100) NULL ,\r\n `registration_date` DATE NULL ,\r\n `user_id` INT NULL ,\r\n PRIMARY KEY ( `id`)\r\n ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = $db->ExecuteQuery($sql); echo "Creating table osoby: OK<br />"; if ($db->LastError() != '') { throw new Exception("table osoby:" . $db->LastError());
/** * Returns list of Baner objects for a given filters. * @param int $gid_grupy_serwisu * @param int $gid_miejsca_serwisu * @param int $id_jezyka * @return Baner[] */ public static function PobierzAktywneBaneryReklamoweJezyki($gid_grupy_serwisu = 0, $gid_miejsca_serwisu = 0, $id_jezyka = 1045, $sort = "") { $params = $params = array("Aktywny", (int) $id_jezyka, Config::$WebGID); $query = "SELECT * FROM #S#banery WHERE Status=? AND IdJezyk=? AND serwisy_GID=? "; if ($gid_grupy_serwisu > 0) { $query .= " AND miejsca_grupa_serwisu=? "; $params[] = (int) $gid_grupy_serwisu; } if ($gid_miejsca_serwisu > 0) { $query .= " AND miejsca_miejsce_serwisu=? "; $params[] = (int) $gid_miejsca_serwisu; } if ($sort != "") { $query .= "ORDER BY " . $sort; } $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); $list = array(); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $list[count($list)] = self::BuildBaner($row); } return $list; }
/** * Return list of counted offers * @return array */ public static function GetCountedOffers() { $db = DataBase::GetDbInstance(); $counts = array(); $query = "SELECT LCASE(province), rent, LCASE(object), COUNT(id) FROM offers GROUP BY province, rent, object"; $result = DataBase::GetDbInstance()->ExecuteQuery($query); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $counts[$row[0]][$row[1]][$row[2]] = $row[3]; } return $counts; }
/** * Get a list of galeria to be added or remove. Write the galeria to database. * @param int $gid * @return int */ public function GetGalerie($gid = 0) { if (!$this->WS()) { return null; } try { $params = array('sid' => $this->_sid, 'gid' => $gid); $result = $this->WS()->getSC()->__soapCall("GetGalerie", array($params)); if ($result->GetGalerieResult->Status != 0) { Errors::LogError("WebService:GetGalerie", "Response: " . $result->GetGalerieResult->Message); return 0; } $xml = simplexml_load_string($result->GetGalerieResult->XMLContent); $cnt = 0; foreach ($xml->children() as $node) { $gal = new Galeria((int) $node["GID"], (string) $node["jezyk"], (string) $node["serwis"], (int) $node["grupaSerwisu"], (int) $node["Lp"], (string) $node->Nazwa, (string) $node->Opis, (string) $node->SlowaKLuczowe, (string) $node->Grafika, (string) $node->Rozmiar1, (string) $node->Rozmiar2, (string) $node->Rozmiar3); Galerie::AddEditGaleria($gal); echo DataBase::GetDbInstance()->LastError(); $pozycje = $node->GaleriePozycje; if ($pozycje != null) { foreach ($pozycje->children() as $node2) { $galpoz = new GaleriaPozycja((int) $node2["GID"], (int) $node2["jezyk"], (string) $node2["serwis"], (int) $gal->GetGID(), (int) $node2["Lp"], (string) $node2->Plik, (string) $node2->Opis, (string) $node2->Tagi); GaleriePozycje::AddEditGaleriaPozycja($galpoz); echo DataBase::GetDbInstance()->LastError(); } $this->GetGaleriePozycje($gal->GetGID(), $gal->GetIdJezyk()); } $cnt++; } return $cnt; } catch (Exception $ex) { Errors::LogError("WebService:GetGalerie", $ex->getMessage()); return 0; } }
/** * Returns regions for given quarter id * @param mixed $dzielnicaId * @return stdClass[] */ public static function getRegions($dzielnicaId = null) { $query = "SELECT * FROM rejony WHERE 1=1"; $params = array(); if ($dzielnicaId !== null) { $query .= " AND dzielnica_id = ?"; $params[] = (int) $dzielnicaId; } $db = DataBase::GetDbInstance(); $result = $db->ExecuteQueryWithParams($query, $params); $return = array(); while ($row = $db->FetchArray($result)) { $region = new stdClass(); $region->id = $row['id']; $region->Nazwa = $row['nazwa']; $region->dzielnicaId = $row['dzielnica_id']; $return[] = $region; } return $return; }
/** * Returns the number of all articles for given parameters. * @param array $ht * @return int */ public static function PoliczArtykulyJezyki($ht = array()) { $params = self::prepareFilters($ht); $query = self::GetQuery("SELECT COUNT(a.GID) ", "", $ht); $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, $params); $row = DataBase::GetDbInstance()->FetchArray($result); return $row[0]; }
/** * Returns distinct values of 'GID' (in miejsca table) in array * Indexes of return array = miejsca.Nazwa * @return Array */ public static function PobierzMiejscaMenu($gid = false) { if (!$gid) { $gid = Config::$WebGID; } $db = DataBase::GetDbInstance(); $query = "SELECT DISTINCT miejsca.Nazwa, miejsca.GID FROM menu, miejsca WHERE menu.miejsca_miejsce_menu = miejsca.GID AND menu.serwisy_GID = ?"; $result = $db->ExecuteQueryWithParams($query, array((int) $gid)); $returnArray = array(); while ($row = $db->FetchArray($result)) { $returnArray[$row['GID']] = $row['Nazwa']; } return $returnArray; }
/** * Returns a list of osoba, take into account the filtering and sorting. * @param RefreshEventArgs $args * @return Osoba[] */ public static function GetOsoby(RefreshEventArgs $args) { $db = DataBase::GetDbInstance(); $filters = self::PrepareFilters($args->Filters); $query = self::GetQuery("SELECT COUNT(*)", "", $args->Filters); $result = $db->ExecuteQueryWithParams($query, array_values($filters)); $row = $db->FetchArray($result); $args->SetRowsCount($row[0]); $query = "SELECT o.id, o.name, o.last_name, o.email, o.phone, o.login, o.pwd, o.registration_date, o.user_id "; $query = self::GetQuery($query, $args->Sorting, $args->Filters); $args->SetLimit($query); $list = array(); $result = $db->ExecuteQueryWithParams($query, array_values($filters)); while ($row = $db->FetchArray($result)) { $list[count($list)] = self::BuildOsoba($row); } return $list; }
/** * Import locations * @param mix $type * @return null */ public function GetLocationsAll($type = false) { if (!$this->WS()) { return null; } try { $params = array('sid' => $this->_sid); $result = $this->WS()->getSC()->__soapCall("GetLocationsAll", array($params)); $buf = $result->GetLocationsAllResult->ByteZip; $f = fopen(self::TMP_LOCATIONSALL_ZIP_FILE, "w"); fwrite($f, $buf); fclose($f); //unzip XML file with lists $zip = new ZipArchive(); if ($zip->open(self::TMP_LOCATIONSALL_ZIP_FILE)) { $fp = $zip->getStream('locationsall.xml'); if (!$fp) { exit("failed reading xml file (" . getcwd() . ")\n"); } $contents = ''; while (!feof($fp)) { $contents .= fread($fp, 2); } fclose($fp); $zip->close(); file_put_contents(self::TMP_XML_LOCATIONSALL_FILE, $contents); if (file_exists(self::TMP_LOCATIONSALL_ZIP_FILE)) { unlink(self::TMP_LOCATIONSALL_ZIP_FILE); } $db = DataBase::GetDbInstance(); $xml = simplexml_load_file(self::TMP_XML_LOCATIONSALL_FILE); $listsNode = null; //read main nodes if ($type === false || $type == 1) { $query = "DELETE FROM powiaty"; $db->ExecuteQuery($query); foreach ($xml->Powiaty->children() as $child) { $query = "INSERT INTO powiaty VALUES(?, ?, ?)"; $params = array((int) $child['Id'], $child['Nazwa'], (int) $child['WojewodztwoId']); $r = $db->ExecuteQueryWithParams($query, $params); } } if ($type === false || $type == 2) { $query = "DELETE FROM lokalizacje"; $db->ExecuteQuery($query); foreach ($xml->Lokalizacje->children() as $child) { $query = "INSERT INTO lokalizacje VALUES(?, ?, ?, ?, ?)"; $params = array((int) $child['Id'], $child['Nazwa'], (int) $child['PowiatId'], (int) $child['WojewodztwoId'], $child['Gmina'] == 'True' ? 1 : 0); $r = $db->ExecuteQueryWithParams($query, $params); } } if ($type === false || $type == 3) { $query = "DELETE FROM dzielnice"; $db->ExecuteQuery($query); foreach ($xml->Dzielnice->children() as $child) { $query = "INSERT INTO dzielnice VALUES(?, ?, ?)"; $params = array((int) $child['Id'], $child['Nazwa'], (int) $child['LokalizacjaId']); $r = $db->ExecuteQueryWithParams($query, $params); } } if ($type === false || $type == 4) { $query = "DELETE FROM rejony"; $db->ExecuteQuery($query); foreach ($xml->Regiony->children() as $child) { $query = "INSERT INTO rejony VALUES(?, ?, ?)"; $params = array((int) $child['Id'], $child['Nazwa'], (int) $child['DzielnicaId']); $r = $db->ExecuteQueryWithParams($query, $params); } } if (file_exists(self::TMP_XML_LOCATIONSALL_FILE)) { unlink(self::TMP_XML_LOCATIONSALL_FILE); } } } catch (Exception $ex) { Errors::LogError("WebService:GetLists", $ex->getMessage()); } }
/** * Returns list of Galeria objects for a given filters. * @param array $filters * @param int $id_jezyka * @param string $sort * @return Galeria[] */ public static function PobierzGalerie($filters = array(), $id_jezyka = 1045, $sort = "") { $filters['IdJezyk'] = (int) $id_jezyka; $newfilters = self::PrepareFilters($filters); $query = self::GetQuery("SELECT g.* ", $sort, $filters); $result = DataBase::GetDbInstance()->ExecuteQueryWithParams($query, array_values($newfilters)); $list = array(); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $list[count($list)] = self::BuildGaleria($row); } return $list; }