/**
  * Set Views (pH Views) Statistics with a verification session to avoid duplication in the number of page views.
  *
  * @static
  * @param integer $iId
  * @param string $sTable
  * @return void
  */
 public static function setView($iId, $sTable)
 {
     $oSession = new \PH7\Framework\Session\Session();
     $sSessionName = 'pHV' . $iId . $sTable;
     if (!$oSession->exists($sSessionName)) {
         Mvc\Model\Statistic::setView($iId, $sTable);
         $oSession->set($sSessionName, 1);
     }
     unset($oSession);
 }
 public static function display()
 {
     if (isset($_POST['submit_update_ads'])) {
         if (\PFBC\Form::isValid($_POST['submit_update_ads'])) {
             new UpdateAdsFormProcess();
         }
         Framework\Url\HeaderUrl::redirect();
     }
     $oPage = new Page();
     $oAdsModel = new AdsCoreModel();
     $sTable = AdsCore::getTable();
     $sCSRFToken = (new Framework\Security\CSRF\Token())->generate('ads');
     $oPage->getTotalPages($oAdsModel->total($sTable), 10);
     $oAds = $oAdsModel->get(null, $oPage->getFirstItem(), $oPage->getNbItemsByPage(), $sTable);
     unset($oPage, $oAdsModel);
     $oSysVar = new SysVar();
     foreach ($oAds as $oRow) {
         $oForm = new \PFBC\Form('form_update_ads', 500);
         $oForm->configure(array('action' => ''));
         $oForm->addElement(new \PFBC\Element\Hidden('submit_update_ads', 'form_update_ads'));
         $oForm->addElement(new \PFBC\Element\Token('update_ads'));
         // Begin ads div tags
         $oForm->addElement(new \PFBC\Element\HTMLExternal('<div id="ad_' . $oRow->adsId . '">'));
         $oForm->addElement(new \PFBC\Element\Hidden('id_ads', $oRow->adsId));
         $oForm->addElement(new \PFBC\Element\Textbox(t('Title:'), 'title', array('value' => $oRow->name, 'required' => 1, 'validation' => new \PFBC\Validation\Str(2, 40))));
         $oForm->addElement(new \PFBC\Element\HTMLExternal('<p>' . t('Preview Ads:') . '</p>'));
         $oForm->addElement(new \PFBC\Element\HTMLExternal('<div class="border">' . $oSysVar->parse($oRow->code) . '</div>'));
         // ID textarea form was generated with "mt_rand" because it is faster than "uniqid"
         // See also this discussion we asked: http://stackoverflow.com/questions/9152600/uniqid-versus-mt-rand-php-function
         $oForm->addElement(new \PFBC\Element\Textarea(t('Advertisement:'), 'code', array('id' => mt_rand(), 'value' => $oSysVar->parse($oRow->code), 'required' => 1)));
         // mt_rand() function for generate an ID different if it causes problems in the display.
         $oForm->addElement(new \PFBC\Element\Button(t('Update'), 'submit', array('id' => mt_rand())));
         $oForm->addElement(new \PFBC\Element\HTMLExternal(t('Views: %0%', Framework\Mvc\Model\Statistic::getView($oRow->adsId, $sTable)) . ' | <a class="medium_button" href="javascript:void(0)" onclick="ads(\'delete\',' . $oRow->adsId . ',\'' . $sCSRFToken . '\')">' . t('Delete') . '</a> | '));
         if ($oRow->active == 1) {
             $oForm->addElement(new \PFBC\Element\HTMLExternal('<a class="medium_button" href="javascript:void(0)" onclick="ads(\'deactivate\',' . $oRow->adsId . ',\'' . $sCSRFToken . '\')">' . t('Deactivate') . '</a>'));
         } else {
             $oForm->addElement(new \PFBC\Element\HTMLExternal('<a class="medium_button" href="javascript:void(0)" onclick="ads(\'activate\',' . $oRow->adsId . ',\'' . $sCSRFToken . '\')">' . t('Activate') . '</a>'));
         }
         // End ads div tags
         $oForm->addElement(new \PFBC\Element\HTMLExternal('</div>'));
         $oForm->render();
     }
 }