Ejemplo n.º 1
0
 private function createView()
 {
     $this->oView->addData('titre', Language::translate('RANKS_ADMIN_TABLE_TITLE'));
     $oTable = new TableGenerator();
     $oTable->setId(md5('ranks'));
     $oTable->addColumn(Language::translate('RANKS_ADMIN_TABLE_NAME'));
     $oTable->addColumn(Language::translate('RANKS_ADMIN_TABLE_DEFAULT'));
     $oTable->addColumn('');
     $aRanks = Rank::getRanks();
     foreach ($aRanks as $oRank) {
         if ($oRank->isDefault()) {
             $sType = 'success';
             $sText = Language::translate('RANKS_ADMIN_TABLE_YES');
         } else {
             $sType = 'danger';
             $sText = Language::translate('RANKS_ADMIN_TABLE_NO');
         }
         $oLabel = new View('label');
         $oLabel->addData('text', $sText);
         $oLabel->addData('type', $sType);
         $oLabel->create();
         $oTable->addLine(array($oRank->getName(), $oLabel->getCode(), $this->createEditPopup($oRank)));
     }
     $oTable->setBottom($this->createAddPopup());
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->Create();
 }
 /**
  * create the content of upcoming dates
  * @return string html-content
  * @global Options determine how many days before event should contact be shown?
  */
 function innerCreate()
 {
     global $options, $CONFIG_DATELIST_NAME_SPEC;
     $contacts = $this->contactList->getContacts();
     $dates = $this->contactList->getDates();
     $data = array();
     $time = getdate();
     if (!isset($CONFIG_DATELIST_NAME_SPEC)) {
         $spec = null;
     } else {
         $spec = $CONFIG_DATELIST_NAME_SPEC;
     }
     foreach ($contacts as $k => $c) {
         $data[] = array('display_name' => $c->generateFullName('html', $spec), 'type' => $dates[$k]['type'], 'time' => date('M j', strtotime('1975-' . $dates[$k]['month'] . '-' . $dates[$k]['day'])) . ($dates[$k]['year'] != '0000' ? ', ' . $dates[$k]['year'] : ''), 'age' => intval($time['year'] - $dates[$k]['year']) . 'y', 'daysAway' => $dates[$k]['daysAway'] > 0 ? $dates[$k]['daysAway'] . 'd' : 'today');
     }
     $tGen = new TableGenerator('changed-list');
     $cont = '<table class="changed-list">';
     $cont .= '<caption>Upcoming dates (Next ' . $options->getOption('bdayInterval') . ' days)</caption>';
     if (count($data) > 0) {
         $cont .= $tGen->generateBody($data, array('display_name', 'type', 'time', 'age', 'daysAway'));
     } else {
         $cont .= '<tr class="noentry"><td>Nothing upcoming</td></tr>';
     }
     $cont .= '</table>';
     return HTMLHelper::createNestedDivBoxModel('changed-list', $cont);
 }
Ejemplo n.º 3
0
 public function procede()
 {
     if (!$this->oRequest->existParam('key')) {
         throw new Error('Vous devez renseigner la clé.', 3003);
     }
     if ($this->oRequest->getParam('key', 'string') != Config::get('ingestkey')) {
         throw new Error('La clé est invalide.', 3003);
     }
     //Ajoute du titre
     $this->oView->addData('titre', 'Analyse des releases');
     //On récupère les 30 dernières releases
     $oMysqli = Database::getInstance();
     //Traitement de la requête
     $sSqlRequest = "SELECT r.*, \r\n                        (SELECT GROUP_CONCAT(t.id_regex ORDER BY t.id_regex SEPARATOR ';') FROM tks_tags t WHERE t.id_release = r.id) AS tags,\r\n                        (SELECT GROUP_CONCAT(f.date ORDER BY f.date SEPARATOR ';') FROM tks_torrents f WHERE f.id_release = r.id) AS dates\t\r\n                        FROM tks_releases r \r\n                        WHERE r.id_categorie = '0' \r\n                        ORDER BY r.id DESC \r\n                        LIMIT 10";
     $oResults = $oMysqli->query($sSqlRequest);
     $oTable = new TableGenerator();
     $oTable->setId(md5('Scrapper'));
     $oTable->addColumn('Release');
     $oTable->addColumn('Catégorie');
     $oTable->addColumn('ID Fiche');
     $aCategories = Categorie::getCategoriesSelect();
     while ($aResult = $oResults->fetch_assoc()) {
         $oScrapper = new Scrapper($aResult['name'], $aResult['id']);
         $oScrapper->procede();
         $oTable->addLine(array($aResult['name'], $aCategories[$oScrapper->getCategorie()], $oScrapper->getFiche()));
     }
     $oTable->setBottom('');
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->Create();
 }
Ejemplo n.º 4
0
 /**
  * Créer la vue de la page
  */
 private function createView()
 {
     //Affichage des utilisateurs
     $this->oView->addData('titre', 'Administration des invitations');
     //Construction du tableau
     $oTable = new TableGenerator();
     $oTable->setId(md5('Administration des invitations'));
     $oTable->addColumn('Parrain');
     $oTable->addColumn('Code');
     $oTable->addColumn('Filleul');
     $oTable->addColumn('');
     $aInvites = Invites::getInvites();
     foreach ($aInvites as $oInvite) {
         //Affichage du type
         if ($oInvite->getFilleulId() === 0) {
             $sType = 'danger';
             $sText = 'Aucun';
             $oLabel = new View('label');
             $oLabel->addData('text', $sText);
             $oLabel->addData('type', $sType);
             $oLabel->create();
             $sFilleul = $oLabel->getCode();
         } else {
             $sFilleul = $oInvite->getFilleulLogin();
         }
         $oTable->addLine(array($oInvite->getParrainLogin(), $oInvite->getCode(), $sFilleul, $this->createEditPopup($oInvite)));
     }
     $oTable->setBottom($this->createAddPopup());
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->create();
 }
 /**
  * create the content of recently changed
  * @return string html-content
  * @global Options determine how many days after change the contact should still be shown
  * @param boolean $compact whether list should be displayed with imported link and user who changed contact
  */
 function innerCreate()
 {
     global $db, $CONFIG_DB_PREFIX, $CONFIG_ADMIN_REQUEST_INTERFACE, $CONFIG_ADMIN_REQUEST_BREAKS;
     $db->query("SELECT * FROM `{$CONFIG_DB_PREFIX}AdministrativeRequests` AS request WHERE dateProcessed IS NULL OR ( DATE_ADD(dateProcessed, INTERVAL 14 DAY) >= NOW() )", 'AdministrativeRequest');
     //. TABLE_PROPERTIES . " AS prop
     //WHERE contact.id=prop.id AND prop.label=" . $db->escape($this->featureLabel) . '
     //ORDER BY prop.value ' . ($this->ascending ? 'ASC' : 'DESC') . ($this->limit > 0 ? ' LIMIT '.$this->limit : ''));
     $fields = array('contactId', 'dateAdded', 'requesterId', 'dateProcessed', 'whoProcessedId');
     foreach ($CONFIG_ADMIN_REQUEST_INTERFACE as $k => $v) {
         if (substr($k, 0, 4) != 'html' && $k != 'submit') {
             // not for DB!
             $fields[] = $k;
         }
     }
     $data = array();
     $i = 0;
     while ($c = $db->next('AdministrativeRequest')) {
         $data[$i] = $c;
         if (empty($data[$i]['dateProcessed'])) {
             $id = $data[$i]['requestId'];
             $data[$i]['dateProcessed'] = "<a href='todo?mode=done&id={$id}'>set done</a>";
         }
         if (!empty($data[$i]['whoProcessedId'])) {
             $contact = Contact::newContact($data[$i]['whoProcessedId']);
             $data[$i]['whoProcessedId'] = '<a href="../contact/contact.php?id=' . $contact->contact['id'] . '">' . $contact->contact['lastname'] . (!empty($contact->contact['firstname']) ? ', ' . $contact->contact['firstname'] : '') . '</a>';
         }
         $contact = Contact::newContact($data[$i]['contactId']);
         $data[$i]['contactId'] = '<a href="../contact/contact.php?id=' . $contact->contact['id'] . '">' . $contact->contact['lastname'] . (!empty($contact->contact['firstname']) ? ', ' . $contact->contact['firstname'] : '') . '</a>';
         $contact = Contact::newContact($data[$i]['requesterId']);
         $data[$i]['requesterId'] = '<a href="../contact/contact.php?id=' . $contact->contact['id'] . '">' . $contact->contact['lastname'] . (!empty($contact->contact['firstname']) ? ', ' . $contact->contact['firstname'] : '') . '</a>';
         $i++;
     }
     $cont = '<style>.parr-list { margin: 20px auto 20px auto; width: 90%; } .parr-list th { border: 1px solid; } .parr-list td { border: 1px solid  #AAA; } td.parr-list-tdblank { border: none; } </style>';
     $tGen = new TableGenerator('parr-list', $fields, $CONFIG_ADMIN_REQUEST_BREAKS);
     $cont .= $tGen->generateTable($data, $fields);
     $cont .= '<div><a href="' . Navigation::previousPageUrl() . '">return</a></div><br>';
     return $cont;
 }
Ejemplo n.º 6
0
 /**
  * Create view
  */
 private function createView()
 {
     $this->oView->addData('titre', Language::translate('PERMISSIONS_ADMIN_TABLE_TITLE'));
     $oTable = new TableGenerator();
     $oTable->setId(md5('Access'));
     $aRanks = Rank::getRanks();
     $oTable->addColumn('');
     foreach ($aRanks as $oRank) {
         $oTable->addColumn($oRank->getName());
     }
     $aModules = Permission::getModules();
     foreach ($aModules as $iId => $sName) {
         $aBuffer = array();
         $aBuffer[] = $sName;
         foreach ($aRanks as $oRank) {
             if ($oRank->checkAccess($sName)) {
                 $sIcon = 'fa-check';
                 $sStyle = 'success';
                 $sNewValue = 'false';
             } else {
                 $sIcon = 'fa-times';
                 $sStyle = 'danger';
                 $sNewValue = 'true';
             }
             $oLabel = new View('minibutton');
             $oLabel->addData('icon', $sIcon);
             $oLabel->addData('style', $sStyle);
             $oLabel->addData('link', 'index.php?p=adminpermissions&m=' . $iId . '&r=' . $oRank->getId() . '&v=' . $sNewValue);
             $oLabel->create();
             $aBuffer[] = $oLabel->getCode();
         }
         $oTable->addLine($aBuffer);
     }
     $oTable->setBottom('');
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->Create();
 }
 /**
  * create the content of recently changed
  * @return string html-content
  * @global Options determine how many days after change the contact should still be shown
  */
 function innerCreate()
 {
     global $options;
     global $db;
     $db->query('SELECT *
         FROM ' . TABLE_CONTACT . ' AS contact, ' . TABLE_PROPERTIES . " AS prop \r\n            WHERE contact.id=prop.id AND prop.label=" . $db->escape($this->featureLabel) . '
         ORDER BY prop.value ' . ($this->ascending ? 'ASC' : 'DESC') . ($this->limit > 0 ? ' LIMIT ' . $this->limit : ''));
     $data = array();
     while ($c = $db->next()) {
         $data[] = array('display_name' => $c['lastname'] . ', ' . $c['firstname'], 'feature' => $c['value']);
     }
     $tGen = new TableGenerator('changed-list');
     $cont = '<table class="changed-list">';
     $cont .= '<caption>Ranklist';
     $cont .= '</caption>';
     if (count($data) > 0) {
         $cont .= $tGen->generateBody($data, array('display_name', 'feature'));
     } else {
         $cont .= '<tr class="noentry"><td>Not found</td></tr>';
     }
     $cont .= '</table>';
     return $cont;
 }
 /**
  * create the content of recently changed
  * @return string html-content
  * @param boolean $compact whether list should be displayed with imported link and user who changed contact
  * @global Options determine how many days after change the contact should still be shown
  * @global CONFIG_LIST_NAME_SPEC
  */
 function innerCreate()
 {
     global $options, $CONFIG_CHANGEDLIST_NAME_SPEC;
     $contacts = $this->contactList->getContacts();
     $data = array();
     foreach ($contacts as $c) {
         $who = new User(intval($c->contact['whoModified']));
         if (!isset($CONFIG_CHANGEDLIST_NAME_SPEC)) {
             $spec = null;
         } else {
             $spec = $CONFIG_CHANGEDLIST_NAME_SPEC;
         }
         $data[] = array('display_name' => $c->generateFullName('html', $spec), 'chdate' => date('F j', strtotime($c->contact['lastUpdate'])), 'change' => $c->contact['lastModification'], 'reset' => '<a href="../admin/saveadmin.php?id=' . $c->contact['id'] . '&amp;mode=imported">imported</a>', 'who' => isset($who->contact['id']) ? '<a href="../contact/contact.php?id=' . $who->contact['id'] . '">' . $who->contact['lastname'] . (!empty($who->contact['firstname']) ? ', ' . $who->contact['firstname'] : '') . '</a>' : 'null');
     }
     $tGen = new TableGenerator('changed-list');
     $cont = '<table class="changed-list">';
     $cont .= '<caption>Recently changed (past ' . $options->getOption('bdayInterval') . ' days)';
     if (!$this->expanded) {
         $cont .= '&nbsp;<a href="../contact/changedlist.php">expand</a>';
     }
     $cont .= '</caption>';
     if (count($data) > 0) {
         if ($_SESSION['user']->isAtLeast('admin') && $this->expanded) {
             $cont .= $tGen->generateBody($data, array('display_name', 'chdate', 'change', 'reset', 'who'));
         } else {
             $cont .= $tGen->generateBody($data, array('display_name', 'chdate', 'change'));
         }
     } else {
         $cont .= '<tr class="noentry"><td>Nothing changed</td></tr>';
     }
     $cont .= '</table>';
     if ($this->expanded) {
         $cont .= '<div><a href="' . Navigation::previousPageUrl() . '">return</a></div><br>';
     }
     return HTMLHelper::createNestedDivBoxModel('changed-list', $cont);
 }
Ejemplo n.º 9
0
 private function createView()
 {
     //Display keys
     $this->oView->addData('titre', Language::translate('API_ADMIN_TABLE_TITLE'));
     $oTable = new TableGenerator();
     $oTable->setId(md5('API'));
     $oTable->addColumn(Language::translate('API_ADMIN_TABLE_KEY'));
     $oTable->addColumn(Language::translate('API_ADMIN_TABLE_TYPE'));
     $oTable->addColumn('');
     $aKeys = ApiKey::getAllKeys();
     foreach ($aKeys as $oApiKey) {
         $oTable->addLine(array($oApiKey->getUserLogin(), $oApiKey->getKey(), $this->createAccessLabel($oApiKey), $this->createEditPopup($oApiKey)));
     }
     $oTable->setBottom($this->createAddPopup());
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->Create();
 }
Ejemplo n.º 10
0
 /**
  * Create View
  */
 private function createView()
 {
     $this->oView->addData('titre', Language::translate('PARSER_ADMIN_TABLE_TITLE'));
     $oTable = new TableGenerator();
     $oTable->setId(md5('Parser'));
     $oTable->addColumn(Language::translate('PARSER_ADMIN_TABLE_TAG'));
     $oTable->addColumn(Language::translate('PARSER_ADMIN_TABLE_REGEX'));
     $oTable->addColumn(Language::translate('PARSER_ADMIN_TABLE_CATEGORIE'));
     $oTable->addColumn('');
     $aRegex = Regex::getAllRegex();
     $aCategories = Categorie::getCategoriesSelect();
     $aCategories[0] = Language::translate('PARSER_ADMIN_TABLE_NONE');
     foreach ($aRegex as $oRegex) {
         $oTable->addLine(array($oRegex->getName(), $oRegex->getRegex(), $aCategories[$oRegex->getCategorie()], $this->createEditPopup($oRegex, $aCategories)));
     }
     $oTable->setBottom($this->createAddPopup($aCategories));
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->create();
 }
Ejemplo n.º 11
0
 private function createView()
 {
     $this->oView->addData('titre', Language::translate('RSS_ADMIN_TABLE_TITLE'));
     $oTable = new TableGenerator();
     $oTable->setId(md5('rss'));
     $oTable->addColumn(Language::translate('RSS_ADMIN_TABLE_TRACKER'));
     $oTable->addColumn(Language::translate('RSS_ADMIN_TABLE_URL'));
     $oTable->addColumn(Language::translate('RSS_ADMIN_TABLE_ENCODE'));
     $oTable->addColumn(Language::translate('RSS_ADMIN_TABLE_DATE'));
     $oTable->addColumn(Language::translate('RSS_ADMIN_TABLE_MASK'));
     $oTable->addColumn('');
     $aRss = Rss::getFlux();
     $aTrackers = Tracker::getTrackersSelect();
     $aCategories = Categorie::getCategoriesSelect();
     foreach ($aRss as $oRss) {
         $oTable->addLine(array($aTrackers[$oRss->getTrackerId()], $this->createUrlPopup($oRss), $oRss->getEncoding(), $oRss->isForcedate() ? Language::translate('RSS_ADMIN_TABLE_SERVER') : Language::translate('RSS_ADMIN_TABLE_RSS'), $this->createMaskPopup($oRss), $this->createEditPopup($oRss, $aTrackers, $aCategories)));
     }
     $oTable->setBottom($this->createAddPopup($aTrackers, $aCategories));
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->create();
 }
 /**
  * create the table containing the contacts
  *
  * @uses Contact
  * @return string html-content
  * @uses TableGenerator
  */
 function createTable()
 {
     // create big table
     $contacts = $this->contactList->getContacts();
     $mailtohref = '';
     // email link
     $data = array();
     $htmlId = 0;
     foreach ($contacts as $c) {
         if ($this->expand) {
             $p = Page::newPage('PageContact', $c);
             $data[] = array('cont' => $p->innerCreate(), 'css_class' => 'list-expanded-card', 'group_n' => $groupNormalizer->normalize(mb_substr($c->contact['lastname'], 0, 1)));
             continue;
         }
         // fetch first email ...
         $mails = $c->getValueGroup('email');
         $e = EmailHelper::sendEmailHref($c->rawEmail($mails[0]));
         $mailtohref .= $e . ',';
         $r = $c->generateListRowArray();
         //$r[] = "<input type='checkbox' checked=1 name='$e' id='cx$htmlId' onchange='generateMailto();'/>";
         $data[] = $r;
         $htmlId++;
     }
     $tGen = new TableGenerator('contact-list');
     $cont = '<table class="contact-list">';
     //$cont .= '<caption>' . $this->contactList->getGroupCaption() . '</caption>';
     if (count($data) > 0) {
         if ($this->expand) {
             $cont .= $tGen->generateBody($data, array('cont'), 'css_class', $this->isSorted ? 'group_n' : null);
         } else {
             $cont .= $tGen->generateBody($data, range(0, count($data[0]) - 3), 'css_class', $this->isSorted ? 'group_n' : null);
         }
     } else {
         $cont .= '<tr class="noentry"><td>No Entries.</td></tr>';
     }
     $cont .= '</table>';
     //$this->nav->addEntry('mailtoSelected','mail to selected',"mailto:$mailtohref");
     return $cont;
 }
Ejemplo n.º 13
0
 /**
  * Créer la vue pour la page
  */
 private function createView()
 {
     //Affichage des utilisateurs
     $this->oView->addData('titre', 'Administration des utilisateurs');
     //Construction du tableau
     $oTable = new TableGenerator();
     $oTable->setId(md5('Administration des utilisateurs'));
     $oTable->addColumn('Identifiant');
     $oTable->addColumn('Email');
     $oTable->addColumn('Rang');
     $oTable->addColumn('');
     $aUsers = User::getUsers();
     $aRanks = Rank::getRanksSelect();
     foreach ($aUsers as $oUser) {
         $oTable->addLine(array($oUser->getLogin(), $oUser->getMail(), $oUser->getRank()->getName(), $this->createEditPopup($oUser, $aRanks)));
     }
     $oTable->setBottom($this->createAddPopup($aRanks));
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     //Popup d'ajout
     $this->oView->Create();
 }
 /**
  * create the content of recently changed
  * @return string html-content
  * @global Options determine how many days after change the contact should still be shown
  * @param boolean $compact whether list should be displayed with imported link and user who changed contact
  */
 function innerCreate()
 {
     global $options;
     global $db;
     $db->query('SELECT *
         FROM ' . TABLE_CONTACT . ' AS contact, ' . TABLE_GROUPS . ' AS groups, ' . TABLE_GROUPLIST . ' AS grouplist  
         WHERE ( certState="issued" OR  certState="used" ) AND ( DATE_ADD(certLastUsed, INTERVAL 3 MONTH) < NOW() OR certLastUsed IS NULL ) AND contact.id=groups.id AND groups.groupid=grouplist.groupid
         ORDER BY groupname, certLastUsed DESC', 1);
     $mailto = '';
     $currentGroup = null;
     $data = array();
     $neverUsed = 0;
     while (1) {
         $c = $db->next(1);
         if ($currentGroup != $c['groupname'] || $c == null) {
             if ($currentGroup != null) {
                 $subject = htmlentities($options->getOption('adminEmailSubject') . ': Security Certificate Expiration Notice');
                 $body = str_replace("\n", '%0A', htmlentities($options->getOption('adminEmailFooter')));
                 $data[] = array('display_name' => "Expired: <a href='mailto:?bcc={$mailto}&subject=" . $subject . '&body=' . $body . "'>mailto expired</a>", 'certLastUsed' => '&nbsp;', 'certState' => '&nbsp;', 'groupname' => $currentGroup);
                 $mailto = '';
             }
             if ($c == null) {
                 break;
             }
             $currentGroup = $c['groupname'];
         }
         $data[] = array('display_name' => '<a href="../../contact/contact.php?id=' . $c['id'] . '">' . $c['lastname'] . ', ' . $c['firstname'] . '</a>', 'certLastUsed' => $c['certLastUsed'], 'certState' => $c['certState'], 'groupname' => $c['groupname']);
         if ($c['certState'] == 'issued') {
             // never used
             $neverUsed++;
         }
         $co = new Contact($c['id']);
         $mailto .= $co->getFirstEmail() . ',';
     }
     // START OUTPUT
     $cont = '<div>&nbsp;</div>';
     $db->query('SELECT MAX(certLastUsed) AS number 
         FROM ' . TABLE_CONTACT . ' AS contact 
         WHERE certState="issued" OR  certState="used"');
     $r = $db->next();
     $cont .= '<div>Newest update: ' . $r['number'] . '</div><br>';
     $db->query('SELECT COUNT(*) AS number 
         FROM ' . TABLE_CONTACT . ' AS contact 
         WHERE certState="issued" OR  certState="used"');
     $r = $db->next();
     $cont .= '<div>Certificates (issued or used): ' . $r['number'] . '</div><br>';
     $db->query('SELECT COUNT(*) AS number 
         FROM ' . TABLE_CONTACT . ' AS contact 
         WHERE certState="used" AND DATE_ADD(certLastUsed, INTERVAL 3 MONTH) >= NOW()');
     $r = $db->next();
     $cont .= '<div>Certificates used within last 3 month: ' . $r['number'] . '</div><br>';
     $cont .= '<div>Unused certificates (entries in this list): ' . count($data) . ' (multi grouped entries listed multiple times)</div><br>';
     $cont .= '<div>Never used (issued): ' . $neverUsed . '</div><br>';
     // generate Table
     $tGen = new TableGenerator('changed-list');
     $cont .= '<table class="changed-list">';
     $cont .= '<caption>Unused Certificates (unused >3 month)</caption>';
     if (count($data) > 0) {
         $cont .= $tGen->generateBody($data, array('display_name', 'certLastUsed', 'certState'), '', 'groupname', false);
     } else {
         $cont .= '<tr class="noentry"><td>Not found</td></tr>';
     }
     $cont .= '</table>';
     $cont .= '<div><a href="gencerts.php">return</a></div><br>';
     return $cont;
 }
 function genHTML($cssClass, $header, $data, $arr, $class = '')
 {
     $cont = '<a name="' . $this->tableName . '"></a>';
     $cont .= '<form method="post" action="' . $_SERVER['PHP_SELF'] . ($this->get ? '?' . $this->get : '') . "#" . $this->tableName . '">';
     // consider if this should be an inline style or better be placed in a stylesheet
     if ($this->saved > 0) {
         $cont .= '<div style="padding: 3px; border: #3399FF 1px solid; border-color: ; background-color: #99FF99;">Successfully saved<b> ' . $this->saved . ' (' . $this->processed . ')</b></div>';
     }
     $cont .= '<input type="hidden" name="' . $this->tableName . '[confirmer]" value="' . $this->tableName . '" />';
     $cont .= '<table>';
     $tableGen = new TableGenerator($cssClass, $header, $this->rowFolding);
     $cont .= $tableGen->generateTable($data, $arr, $class);
     $cont .= '</table>';
     $cont .= '<button id="TableEditorSubmitButton" type="submit">save</button>';
     $cont .= '</form>';
     return $cont;
 }
Ejemplo n.º 16
0
 private function createReleasesTable($sType)
 {
     $oSearch = new Search($this->oCurrentUser);
     $oSearch->searchWithIdFiche($this->oFiche->getId(), $sType);
     $aReleases = $oSearch->getReleaseTable();
     if (count($aReleases) != 0) {
         $oFinalTable = new TableGenerator();
         $oFinalTable->setId('releases');
         $oFinalTable->addColumn('Tags');
         $oFinalTable->addColumn('Release');
         $oFinalTable->addColumn('Lien');
         $aTrackers = Tracker::getTrackers();
         $aCategories = Categorie::getCategories();
         foreach ($aReleases as $iIdRelease => $aRelease) {
             //Affichage de la catégorie
             $oCatView = new View('label');
             $oCatView->addData('type', 'primary');
             if ($aRelease['categorie'] != 0) {
                 $oCatView->addData('text', $aCategories[$aRelease['categorie']]->getName());
             } else {
                 $oCatView->addData('text', 'Non scrappé');
             }
             $oCatView->create();
             $sTags = $oCatView->getCode() . '&nbsp;';
             //Affichage des TAGS :
             foreach ($aRelease['tags'] as $iTagId => $sTagName) {
                 if ($iTagId != NULL) {
                     $oTagView = new View('label');
                     $oTagView->addData('type', 'info');
                     $oTagView->addData('text', $sTagName);
                     $oTagView->create();
                     $sTags .= $oTagView->getCode() . '&nbsp;';
                 }
             }
             //Affichage de la source :
             $oOriginView = new View('label');
             $oOriginView->addData('text', $aRelease['origin']);
             if ($aRelease['origin'] == 'Scene') {
                 $oOriginView->addData('type', 'success');
             } else {
                 $oOriginView->addData('type', 'danger');
             }
             $oOriginView->create();
             $sTags .= $oOriginView->getCode();
             //Création de la popup Tracker
             $oPopup = new View('releasepopup');
             $oPopup->addData('id', $iIdRelease);
             $oPopup->addData('tracker', $aTrackers[$aRelease["first_tracker"]]->getName());
             $oPopup->addData('nbtracker', count($aRelease['torrents']));
             $oPopup->addData('title', $aRelease['release']);
             //Affichage des liens
             $aTableLinks = array();
             foreach ($aRelease['torrents'] as $aTorrent) {
                 $sButtons = '';
                 if (isset($aTorrent['fichelink'])) {
                     $oFicheButton = new View('minibutton');
                     $oFicheButton->addData('link', $aTorrent['fichelink']);
                     $oFicheButton->addData('icon', 'fa-search-plus');
                     $oFicheButton->addData('style', 'primary');
                     $oFicheButton->create();
                     $sButtons .= $oFicheButton->getCode() . '&nbsp;';
                 }
                 if (isset($aTorrent['directlink'])) {
                     $oDirectButton = new View('minibutton');
                     $oDirectButton->addData('link', $aTorrent['directlink']);
                     $oDirectButton->addData('icon', 'fa-download');
                     $oDirectButton->addData('style', 'success');
                     $oDirectButton->create();
                     $sButtons .= $oDirectButton->getCode() . '&nbsp;';
                     $oRssButton = new View('miniajaxbutton');
                     $oRssButton->addData('tid', $aTorrent['torrentid']);
                     $oRssButton->addData('icon', 'fa-rss-square');
                     $oRssButton->addData('style', 'warning');
                     $oRssButton->create();
                     $sButtons .= $oRssButton->getCode() . '&nbsp;';
                 }
                 $aTableLinks[] = array($aTrackers[$aTorrent['tracker']]->getName(), $aTorrent['delay'], $sButtons);
             }
             $oTable = new View('torrentlist');
             $oTable->addData('titre', $aRelease['release']);
             $oTable->addData('tabledatas', $aTableLinks);
             $oTable->addData('bottom', $aRelease['first']);
             $oTable->create();
             $oPopup->addData('content', $oTable->getCode());
             $oPopup->create();
             //Affichage du lien de modération
             if ($this->oCurrentUser->checkAccess('modrelease')) {
                 $sFicheLink = '<a href="index.php?p=modrelease&id=' . $aRelease['release_id'] . '" style="color: black;">' . $aRelease['release'] . '</a>';
             } else {
                 $sFicheLink = $aRelease['release'];
             }
             $oFinalTable->addLine(array($sTags, $sFicheLink, $oPopup->getCode()));
         }
         $oFinalTable->create();
         $this->oView->addData('releases', $oFinalTable->getCode());
     } else {
         $this->oView->addData('releases', 'Aucune release trouvée :(');
     }
 }
Ejemplo n.º 17
0
 private function createView()
 {
     //Affichage des Trackers
     $this->oView->addData('titre', 'Signalements des membres');
     //Construction du tableau
     $oTable = new TableGenerator();
     $oTable->setId(md5('Signalements'));
     $oTable->addColumn('Date');
     $oTable->addColumn('Utilisateur');
     $oTable->addColumn('Fiche');
     $oTable->addColumn('Commentaire');
     $oTable->addColumn('');
     $aFiches = Fiche::getSignaledFiche();
     if ($aFiches != false) {
         foreach ($aFiches as $aFiche) {
             $oClearButton = new View('minibutton');
             $oClearButton->addData('link', 'index.php?p=modwarnings&type=' . $aFiche['type'] . '&id=' . $aFiche['id_fiche']);
             $oClearButton->addData('icon', 'fa-check');
             $oClearButton->addData('style', 'success');
             $oClearButton->create();
             $sLink = '<a href="index.php?p=fichedetail&type=' . $aFiche['type'] . '&id=' . $aFiche['id_fiche'] . '">[' . $aFiche['type'] . '] ' . $aFiche['id_fiche'] . '</a>';
             $oTable->addLine(array($aFiche['date'], $aFiche['login_user'], $sLink, $this->createCommentPopup($aFiche), $oClearButton->getCode()));
         }
     } else {
         $oTable->setBottom('Aucun signalement');
     }
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->create();
 }
Ejemplo n.º 18
0
 /**
  * Créer la page
  */
 private function createView()
 {
     //Affichage des passkeys
     $this->oView->addData('pk_titre', 'Mes passkeys');
     //Construction du tableau
     $oTable = new TableGenerator();
     $oTable->setId(md5('Mes passkeys'));
     $oTable->addColumn('Tracker');
     $oTable->addColumn('Passkey');
     $oTable->addColumn('');
     $aPasskeys = Passkey::getUserPasskeys($this->oCurrentUser->getId());
     $aTrackers = Tracker::getTrackersSelect();
     foreach ($aPasskeys as $oPasskey) {
         $oTable->addLine(array($oPasskey->getTrackerName(), $oPasskey->getPasskey(), $this->createPkEditPopup($oPasskey)));
     }
     $oTable->setBottom($this->createPkAddPopup($aTrackers));
     $oTable->create();
     $this->oView->addData('pk_content', $oTable->getCode());
     //Affichage RSS
     $oPurgeButton = new View('minibutton');
     $oPurgeButton->addData('link', 'index.php?p=profil&a=purge');
     $oPurgeButton->addData('icon', 'fa-trash-o');
     $oPurgeButton->addData('style', 'danger');
     $oPurgeButton->create();
     $this->oView->addData('rss_titre', 'Mes flux RSS');
     $this->oView->addData('rss_link', Config::get('installdir') . 'rss.php?cat=autoget&pk=' . $this->oCurrentUser->getPasskey());
     $this->oView->addData('rss_purge', $oPurgeButton->getCode());
     $aFlux = array();
     $aFlux[] = array("name" => "Général", "link" => Config::get('installdir') . 'rss.php?pk=' . $this->oCurrentUser->getPasskey());
     $aCategories = Categorie::getCategories();
     foreach ($aCategories as $oCategorie) {
         $aFlux[] = array("name" => $oCategorie->getName(), "link" => Config::get('installdir') . 'rss.php?cat=' . $oCategorie->getId() . '&pk=' . $this->oCurrentUser->getPasskey());
     }
     $this->oView->addData('rss_flux', $aFlux);
     $this->oView->addData('rss_passkey', $this->oCurrentUser->getPasskey());
     $this->oView->Create();
 }
Ejemplo n.º 19
0
 private function createView()
 {
     //Affichage des Trackers
     $this->oView->addData('titre', 'Administration des Trackers');
     //Construction du tableau
     $oTable = new TableGenerator();
     $oTable->setId(md5('Administration des Trackers'));
     $oTable->addColumn('Nom');
     $oTable->addColumn('Passkey');
     $oTable->addColumn('Lien de la fiche');
     $oTable->addColumn('Lien de téléchargement');
     $oTable->addColumn('');
     $aTrackers = Tracker::getTrackers();
     foreach ($aTrackers as $oTracker) {
         $oTable->addLine(array($oTracker->getName(), $oTracker->getNbPasskeys() == 0 ? 'Aucun' : $oTracker->getNbPasskeys() . ' passkeys', $this->createLinkPopup($oTracker), $this->createDirectLinkPopup($oTracker), $this->createEditPopup($oTracker)));
     }
     //Popup d'ajout
     $oTable->setBottom($this->createAddPopup() . '&nbsp;' . $this->createImportPopup());
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->create();
 }
 /**
  * create the table containing the contacts
  *
  * @uses Contact
  * @return string html-content
  * @global GroupNormalizer used to modify the contact names, in order to get them correctly grouped
  * @uses TableGenerator
  */
 function createTable()
 {
     global $groupNormalizer;
     // create big table
     $contacts = $this->contactList->getContacts();
     $data = array();
     foreach ($contacts as $c) {
         if ($this->expand) {
             $p = Page::newPage('PageContact', $c);
             $data[] = array('cont' => $p->innerCreate(), 'css_class' => 'list-expanded-card', 'group_n' => $groupNormalizer->normalize(mb_substr($c->contact['lastname'], 0, 1)));
             continue;
         }
         $data[] = $c->generateListRowArray();
     }
     $tGen = new TableGenerator('contact-list');
     $cont = '<table class="contact-list">';
     $cont .= '<caption>' . $this->contactList->getGroupCaption() . '</caption>';
     if (count($data) > 0) {
         if ($this->expand) {
             $cont .= $tGen->generateBody($data, array('cont'), 'css_class', 'group_n');
         } else {
             $cont .= $tGen->generateBody($data, range(0, count($data[0]) - 3), 'css_class', 'group_n');
         }
     } else {
         $cont .= '<tr class="noentry"><td>No Entries.</td></tr>';
     }
     $cont .= '</table>';
     return HTMLHelper::createNestedDivBoxModel('contact-list', $cont);
 }
 /**
  * create the form needed for user management
  * @return string html-content
  * @global DB used for database access
  * @global CONFIG_USER_ACCOUNT_EXPIRED_MAIL email subject and content (mailto:) for expired account message
  * @global CONFIG_USER_ACCOUNT_EXPIRED_INTERVAL SQL interval for DATE_ADD e.g. "1 MONTH" to check account expiration
  */
 function createUserManagementForm()
 {
     global $db, $CONFIG_USER_ACCOUNT_EXPIRED_MAIL, $CONFIG_USER_ACCOUNT_EXPIRED_INTERVAL;
     $cont = '<fieldset class="options-options">';
     $cont .= '<legend>User list</legend>';
     if (empty($CONFIG_USER_ACCOUNT_EXPIRED_INTERVAL)) {
         $CONFIG_USER_ACCOUNT_EXPIRED_INTERVAL = '1 MONTH';
     }
     $db->query("SELECT *, DATE_ADD(lastLogin, INTERVAL {$CONFIG_USER_ACCOUNT_EXPIRED_INTERVAL})<NOW() AS expiredLogin FROM " . TABLE_USERS . ' AS users LEFT JOIN ' . TABLE_CONTACT . ' AS contact ON users.id = contact.id ORDER BY usertype');
     $data = array();
     // collect user types in array for mailto link
     $users = array();
     $managers = array();
     $admins = array();
     while ($r = $db->next()) {
         $email = $r['firstname'] . ' ' . $r['lastname'] . ' <' . $r['reg_email'] . '>';
         $baseHref = '../contact/contact.php?id=' . $r['id'] . '&noxslt=1';
         // no stylesheet display
         $editHref = $baseHref . '&mode=edit';
         if (isset($r['lastname'])) {
             $name = '<a href="' . $baseHref . '">' . $r['lastname'] . ', ' . $r['firstname'] . '</a>&nbsp;(<a href="' . $editHref . '">edit</a>, ' . EmailHelper::sendEmailLink($email, $r['reg_email']) . ')';
         } else {
             $name = EmailHelper::sendEmailLink($email, $email);
         }
         $data[] = array('name' => $name, 'lastLogin' => $r['lastLogin'], 'loginExpired' => $r['expiredLogin'] ? "<a href='mailto:{$email}{$CONFIG_USER_ACCOUNT_EXPIRED_MAIL}'>[!]</a>" : '', 'type' => $r['usertype'], 'delete' => '<a href="javascript:deleteUser(' . $r['userid'] . ')">delete</a>');
         switch ($r['usertype']) {
             case 'admin':
                 $admins[] = $email;
                 break;
             case 'manager':
                 $managers[] = $email;
                 break;
             case 'user':
                 $users[] = $email;
                 break;
         }
     }
     $tableGen = new TableGenerator('admin-users');
     $cont .= $tableGen->generateTable($data, null, '', 'type', false);
     //group by type
     $cont .= '<div><br> Send email to: ' . EmailHelper::sendEmailLink($admins, 'administrators') . '&nbsp;&nbsp;&nbsp;&nbsp;';
     $cont .= EmailHelper::sendEmailLink($managers, 'managers') . '&nbsp;&nbsp;&nbsp;&nbsp;';
     $cont .= EmailHelper::sendEmailLink($users, 'users') . '&nbsp;&nbsp;&nbsp;&nbsp;';
     $cont .= EmailHelper::sendEmailLink(array_merge($managers, $users), 'users and managers') . '&nbsp;&nbsp;&nbsp;&nbsp;';
     $cont .= EmailHelper::sendEmailLink(array_merge($admins, $managers, $users), 'all') . '&nbsp;&nbsp;&nbsp;&nbsp; </div>';
     $cont .= '</fieldset>';
     return $cont;
 }
Ejemplo n.º 22
0
 public function procede()
 {
     if (!$this->oRequest->existParam('key')) {
         throw new Error('Vous devez renseigner la clé.', 3003);
     }
     if ($this->oRequest->getParam('key', 'string') != Config::get('ingestkey')) {
         throw new Error('La clé est invalide.', 3003);
     }
     //Ajoute du titre
     $this->oView->addData('titre', 'Analyse des flux RSS');
     //On récupère les éléments pour les statistiques
     $iNbReleases = Release::getCount();
     $iNbTorrents = Torrent::getCount();
     $iStartTime = time();
     //Traitement des Trackers
     $aTrackers = Tracker::getTrackers();
     //Ajout des flux
     $aRssList = Rss::getFlux();
     foreach ($aRssList as $oRss) {
         $aTrackers[$oRss->getTrackerId()]->addFlux($oRss);
     }
     //Parsage des flux
     $aResults = array();
     foreach ($aTrackers as $oTracker) {
         $aResults = array_merge($aResults, $oTracker->parseRss());
     }
     //Traitement des résultats
     $oTable = new TableGenerator();
     $oTable->setId(md5('Ingest'));
     $oTable->addColumn('Tags');
     $oTable->addColumn('Tracker');
     $oTable->addColumn('Release');
     foreach ($aResults as $oResult) {
         if (is_string($oResult)) {
             Logger::log('ingest', $oResult);
             $this->oView->addAlert($oResult, 'danger');
         } else {
             $oResult->store();
             $sTags = '';
             foreach ($oResult->getTags() as $oTag) {
                 $oTagView = new View('label');
                 $oTagView->addData('type', 'info');
                 $oTagView->addData('text', $oTag->getName());
                 $oTagView->create();
                 $sTags .= $oTagView->getCode() . '&nbsp;';
             }
             $oTable->addLine(array($sTags, $aTrackers[$oResult->getTracker()]->getName(), $oResult->getReleaseName()));
         }
     }
     //Statistiques
     $iNewReleases = Release::getCount() - $iNbReleases;
     $iNewTorrents = Torrent::getCount() - $iNbTorrents;
     Stats::storeIngestStats($iNewReleases, $iNewTorrents, date("Y-m-j G:i:s", $iStartTime));
     //Enregistrement de la dernière date de vérification
     Rss::updateLastCheck(date("Y-m-j G:i:s", $iStartTime));
     Logger::log('ingest', $iNewReleases . ' nouvelles releases et ' . $iNewTorrents . ' nouveaux torrents.');
     $oTable->setBottom($iNewReleases . ' nouvelles releases et ' . $iNewTorrents . ' nouveaux torrents.');
     $oTable->create();
     $this->oView->addData('content', $oTable->getCode());
     $this->oView->Create();
 }
Ejemplo n.º 23
0
 function passwordTable()
 {
     // font suitable for faxing
     $cont = "\n" . '<style type="text/css"> .sslca-fax { font-family: courier; font-size: 20px; border: solid 1px; } </style>';
     $tGen = new TableGenerator('', array('company' => 'Company', 'name' => 'Name', 'password' => 'Password'));
     $data = array();
     foreach ($this->data->getContacts() as $c) {
         $gr = $c->getValueGroup('groups');
         $gr = $gr[0]['groupname'];
         $data[] = array('company' => $gr, 'name' => $c->contact['firstname'] . ' ' . $c->contact['lastname'], 'password' => $c->contact['certPassword'], 'hint' => '[0,1,lion,OK]');
     }
     $cont .= "\n<table class='sslca-fax' width='80%'>";
     //$cont .= '<caption>Password List</caption>';
     //$cont .= $tGen->generateHead(array('name','password'));
     $cont .= $tGen->generateBody($data, array('name', 'password', 'hint'), 'sslca-fax', 'company', false);
     $cont .= '</table>';
     return $cont;
 }