/** * Retourne tous les trackers * * @return array */ public static function getTrackers() { $oMysqli = Database::getInstance(); $oResults = $oMysqli->query("SELECT t.*, (SELECT COUNT(*) FROM tks_passkey AS p WHERE t.id = p.id_tracker) AS nb_passkey \r\n FROM tks_trackers as t "); $aResults = array(); while ($aResult = $oResults->fetch_assoc()) { $oTracker = new Tracker($aResult['name'], $aResult['id']); $oTracker->setLink($aResult['link']); $oTracker->setDirectLink($aResult['directlink']); $oTracker->setNbPasskeys($aResult['nb_passkey']); $aResults[$aResult['id']] = $oTracker; } return $aResults; }
public function procede() { try { if ($this->oRequest->existParam('name')) { if ($this->oRequest->existParam('edit')) { $oTracker = new Tracker($this->oRequest->getParam('name', 'string'), $this->oRequest->getParam('edit', 'int')); } else { $oTracker = new Tracker($this->oRequest->getParam('name', 'string')); } if ($this->oRequest->existParam('link')) { $oTracker->setLink($this->oRequest->getParam('link', 'string')); } if ($this->oRequest->existParam('directlink')) { $oTracker->setDirectLink($this->oRequest->getParam('directlink', 'string')); } if ($this->oRequest->existParam('edit')) { //Suppression if ($this->oRequest->existParam('delete') && $this->oRequest->getParam('delete', 'boolean')) { $oTracker->delete(); Logger::log('admin', 'Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été supprimé par ' . $this->oCurrentUser->getLogin()); $this->oView->addAlert('Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été supprimé.', 'success'); } else { //Edit $oTracker->update(); Logger::log('admin', 'Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été modifié par ' . $this->oCurrentUser->getLogin()); $this->oView->addAlert('Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été modifié.', 'success'); } } else { $oTracker->store(); Logger::log('admin', 'Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été ajouté par ' . $this->oCurrentUser->getLogin()); $this->oView->addAlert('Le Tracker ' . $this->oRequest->getParam('name', 'string') . ' a été ajouté.', 'success'); } } elseif ($this->oRequest->existParam('import')) { $sFile = './trackers/' . $this->oRequest->getParam('import', 'string') . '.xml'; $oRssDoc = simpleXML_load_file($sFile); if (!$oRssDoc) { throw new Error('Impossible d\'ouvrir le fichier de configuration pour ' . $this->oRequest->getParam('import', 'string') . '.', 1132); } //Traitement des items $oRssTracker = $oRssDoc->Tracker; $oRssFlux = $oRssDoc->RSS; $oTracker = new Tracker($oRssTracker->Name); $oTracker->setLink(str_replace('&', '&', $oRssTracker->Link)); $oTracker->setDirectLink(str_replace('&', '&', $oRssTracker->DirectLink)); $oTracker->store(); if ($oRssFlux->ForceDate === 'true') { $bForceDate = true; } else { $bForceDate = false; } $oFlux = new Rss($oTracker->getId(), str_replace('&', '&', $oRssFlux->Flux), str_replace('&', '&', $oRssFlux->Mask), $bForceDate, 0, $oRssFlux->Encoding); $oFlux->store(); Logger::log('admin', 'Le Tracker ' . $this->oRequest->getParam('import', 'string') . ' a été ajouté par ' . $this->oCurrentUser->getLogin()); $this->oView->addAlert('Le Tracker ' . $this->oRequest->getParam('import', 'string') . ' a été ajouté.', 'success'); } } catch (Exception $ex) { $this->oView->addAlert($ex, 'danger'); } finally { $this->createView(); } }