/** * Return artykul object. * @return Artykul */ public function GetArtykul() { if ($this->_IsArtykulObjSet == false) { $this->_ArtykulObj = Artykuly::GetArtykul($this->Getartykuly_GID(), $this->GetIdJezyk()); $this->_IsArtykulObjSet = true; } return $this->_ArtykulObj; }
public static function IndeksujGaleriePozycjeDlaArtykulu($artykul_gid) { $del_query = "DELETE FROM #S#artykuly_galeriepozycje WHERE artykuly_GID=?"; $del_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($del_query, array((int) $artykul_gid)); $a = Artykuly::PobierzArtykulJezyk($artykul_gid); if ($a->GetTagi() != '') { $sub_query = "SELECT GID FROM #S#galeriepozycje WHERE Tagi <> '' AND Tagi LIKE ? AND IdJezyk=1045"; $ins_query = "INSERT INTO #S#artykuly_galeriepozycje (artykuly_GID, galeriepozycje_GID) VALUES(?, ?);"; $tagi = explode(",", $a->GetTagi()); $unique_tags = array(); foreach ($tagi as $tag) { if (!isset($unique_tags[$tag])) { $sub_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($sub_query, array('%' . $tag . '%')); while ($sub_row = DataBase::GetDbInstance()->FetchArray($sub_result)) { $ins_result = DataBase::GetDbInstance()->ExecuteQueryWithParams($ins_query, array($a->GetGID(), $sub_row['GID'])); } $unique_tags[$tag] = true; } } } }
/** * Return grupa serwisu object. * @return Artykul */ public function GetParent() { if ($this->_IsParentObjSet == false) { $this->_ParentObj = Artykuly::GetArtykul($this->GetParent_GID(), $this->GetIdJezyk()); $this->_IsParentObjSet = true; } return $this->_ParentObj; }
/** * Get a list of artykul to be added or remove. Write the artykul to database. * @param int $gid * @return int */ public function GetArtykuly($gid = 0) { if (!$this->WS()) { return null; } try { $params = array('sid' => $this->_sid, 'gid' => $gid); $result = $this->WS()->getSC()->__soapCall("GetArtykuly", array($params)); if ($result->GetArtykulyResult->Status != 0) { Errors::LogError("WebService:GetArtykuly", "Response: " . $result->GetArtykulyResult->Message); return 0; } $xml = simplexml_load_string(str_replace("", "", $result->GetArtykulyResult->XMLContent)); $cnt = 0; foreach ($xml->children() as $node) { $czywiad = $node["CzyWiadomosc"] == "True" ? 1 : 0; $czydef = $node["CzyDomyslny"] == "True" ? 1 : 0; $art = new Artykul($node["GID"], $node["jezyk"], $node["serwis"], $node["grupaSerwisu"], $node["miejsceSerwisu"], $node["menu"], $node["artykulNadrzedny"], $node->Lp, $czywiad, $czydef, $node->Autor, $node->LiczbaOdslon, $node->SredniaOcena, $node->DataWiadomosci, $node->DataAktualizacji, $node->Tytul, $node->Skrot, $node->SkrotGrafika, $node->Tresc, $node->Link, $node->NazwaWyswietlana, $node->TagTitle, $node->TagKeywords, $node->TagDescription, $node["galeria"], $node->Tagi, $node->DataRozpoczeciaPublikacji); Artykuly::AddEditArtykul($art); echo DataBase::GetDbInstance()->LastError(); $cnt++; //parametry $paramsNode = $node->parametry; if ($paramsNode != null) { ArtykulyParametry::DeleteArtykulParametr(0, $art->GetGID(), $art->GetIdJezyk()); foreach ($paramsNode->children() as $pNode) { $par = new ArtykulParametr($pNode["GID"], $node["jezyk"], $node["GID"], $pNode->ParamNazwa, $pNode->Nazwa, $pNode->Naglowek, $pNode->Stopka); ArtykulyParametry::AddEditArtykulParametr($par); echo DataBase::GetDbInstance()->LastError(); } } } return $cnt; } catch (Exception $ex) { Errors::LogError("WebService:GetArtykuly", $ex->getMessage()); return 0; } }
/** * Synchronize passed element. * @param int $element * @param string $gid * @param boolean $del * @param boolean $force * @return string */ public function SynchronizeSiteElement($element, $gid, $del, $force) { if (!$this->checkwebext()) { return "Function unavailable in this version."; } try { if ($element < 1 || $element > 12) { return "Invalid element: {$element}"; } $ret = 0; WebServiceWeb::WS()->LoginEx(); switch ($element) { case self::SITE_ELEMENT_SERWIS: if ($del) { Serwisy::DeleteSerwis($gid); } else { $ret = WebServiceWeb::WS()->GetService(); } break; case self::SITE_ELEMENT_MIEJSCE_SERWISU: if ($del) { Miejsca::DeleteMiejsce($gid, Miejsca::MIEJSCE_RODZAJ_SERWISU); } else { $ret = WebServiceWeb::WS()->GetMiejsca(Miejsca::MIEJSCE_RODZAJ_SERWISU, $gid); } break; case self::SITE_ELEMENT_MIEJSCE_MENU: if ($del) { Miejsca::DeleteMiejsce($gid, Miejsca::MIEJSCE_RODZAJ_MENU); } else { $ret = WebServiceWeb::WS()->GetMiejsca(Miejsca::MIEJSCE_RODZAJ_MENU, $gid); } break; case self::SITE_ELEMENT_MIEJSCE_GRUPY: if ($del) { Miejsca::DeleteMiejsce($gid, Miejsca::MIEJSCE_RODZAJ_GRUPY); } else { $ret = WebServiceWeb::WS()->GetMiejsca(Miejsca::MIEJSCE_RODZAJ_GRUPY, $gid); } break; case self::SITE_ELEMENT_MENU: if ($del) { Menus::DeleteMenu($gid); } else { $ret = WebServiceWeb::WS()->GetMenu($gid); } break; case self::SITE_ELEMENT_ARTYKUL: if ($del) { Artykuly::DeleteArtykul($gid); } else { $ret = WebServiceWeb::WS()->GetArtykuly($gid); GaleriePozycje::IndeksujGaleriePozycjeDlaArtykulu($gid); } break; case self::SITE_ELEMENT_ARKUSZ_CSS: if ($del) { ArkuszeSkrypty::DeleteArkuszSkrypt($gid, ArkuszeSkrypty::ARKUSZ_RODZAJ_CSS); } else { $ret = WebServiceWeb::WS()->GetArkuszeSkrypty(ArkuszeSkrypty::ARKUSZ_RODZAJ_CSS, $gid); } break; case self::SITE_ELEMENT_ARKUSZ_JS: if ($del) { ArkuszeSkrypty::DeleteArkuszSkrypt($gid, ArkuszeSkrypty::ARKUSZ_RODZAJ_JS); } else { $ret = WebServiceWeb::WS()->GetArkuszeSkrypty(ArkuszeSkrypty::ARKUSZ_RODZAJ_JS, $gid); } break; case self::SITE_ELEMENT_BANER: if ($del) { Banery::DeleteBaner($gid); } else { $ret = WebServiceWeb::WS()->GetBanery($gid); } break; case self::SITE_ELEMENT_GRAFIKA: $pfn = base64_decode($gid); if ($del) { Grafiki::DeleteGrafike($gid); } else { if ($force) { Grafiki::DeleteGrafike($gid); } } $ret = WebServiceWeb::WS()->GetGrafiki($gid); break; case self::SITE_ELEMENT_GALERIA: if ($del) { Galerie::DeleteGaleria($gid); } else { $ret = WebServiceWeb::WS()->GetGalerie($gid); GaleriePozycje::IndeksujGaleriePozycjeDlaGalerii($gid); } break; case self::SITE_ELEMENT_GALERIA_POZYCJA: if ($del) { GaleriePozycje::DeleteGaleriaPozycja($gid); } break; case self::SITE_ELEMENT_OSOBA: if ($del) { Osoby::DeleteOsoba($gid); } else { $ret = WebServiceWeb::WS()->GetOsoby($gid); } break; default: break; } WebServiceWeb::WS()->Logout(); return "Element: {$element}, GID: {$gid}, ret: {$ret}"; } catch (Exception $ex) { Errors::LogError("WebAPI:SynchronizeSiteElement", $ex->getMessage()); return "ERROR"; } }