/**
  * 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;
             }
         }
     }
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 /**
  * 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("&#xC;", "", $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;
     }
 }
Example #5
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";
     }
 }