Exemple #1
0
 public function procede()
 {
     try {
         if ($this->oRequest->existParam('url')) {
             if (!$this->oRequest->existParam('tracker')) {
                 throw new Error('FRAMEWORK_ERROR_RSS_TRACKER', 3);
             }
             if (!$this->oRequest->existParam('mask')) {
                 throw new Error('FRAMEWORK_ERROR_RSS_MASK', 3);
             }
             if (!$this->oRequest->existParam('encoding')) {
                 throw new Error('FRAMEWORK_ERROR_RSS_ENCODE', 3);
             }
             if ($this->oRequest->existParam('edit')) {
                 $oRss = new Rss($this->oRequest->getParam('tracker', 'int'), $this->oRequest->getParam('url', 'string'), $this->oRequest->getParam('mask', 'string'), $this->oRequest->getParam('forcedate', 'boolean'), 0, $this->oRequest->getParam('encoding', 'string'), $this->oRequest->getParam('edit', 'int'));
                 //Delete
                 if ($this->oRequest->existParam('delete') && $this->oRequest->getParam('delete', 'boolean')) {
                     $oRss->delete();
                     Logger::log('admin', Language::translate('RSS_ADMIN_RSS_DELLOG') . $oRss->getUrl() . ' [' . $this->oCurrentUser->getLogin() . ']');
                     $this->oView->addAlert(Language::translate('RSS_ADMIN_RSS_DEL'), 'success');
                 } else {
                     //Edit
                     $oRss->update();
                     Logger::log('admin', Language::translate('RSS_ADMIN_RSS_UPDATELOG') . $oRss->getUrl() . ' a été modifié par ' . $this->oCurrentUser->getLogin());
                     $this->oView->addAlert(Language::translate('RSS_ADMIN_RSS_UPDATE'), 'success');
                 }
             } else {
                 $oRss = new Rss($this->oRequest->getParam('tracker', 'int'), $this->oRequest->getParam('url', 'string'), $this->oRequest->getParam('mask', 'string'), $this->oRequest->getParam('forcedate', 'boolean'), 0, $this->oRequest->getParam('encoding', 'string'));
                 $oRss->store();
                 Logger::log('admin', Language::translate('RSS_ADMIN_RSS_ADDLOG') . $oRss->getUrl() . ' a été ajouté par ' . $this->oCurrentUser->getLogin());
                 $this->oView->addAlert(Language::translate('RSS_ADMIN_RSS_ADD'), 'success');
             }
         }
     } catch (Exception $ex) {
         $this->oView->addAlert($ex, 'danger');
     } finally {
         $this->createView();
     }
 }
 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();
     }
 }