Exemplo n.º 1
0
 public static function getTreeStructure($offlinePages = true, $selected, $spacer = '   ', $parentId = 0, $lvl = 0, $select = false)
 {
     $extraWhere = '';
     if (!$offlinePages) {
         $extraWhere = ' AND online = 1';
     }
     if ($select === false) {
         $select = formSelect::factory('structure', $selected);
     }
     $sql = sql::factory();
     $sql->query('SELECT id, name, online FROM ' . sql::table('structure') . ' WHERE parent_id = ' . $parentId . $extraWhere . ' ORDER BY sort')->result();
     while ($sql->isNext()) {
         if ($offlinePages) {
             $style = $sql->get('online') == 1 ? 'page-online' : 'page-offline';
         } else {
             $style = '';
         }
         $name = $sql->get('name');
         for ($i = 1; $i <= $lvl; $i++) {
             $name = $spacer . $name;
         }
         $select->add($sql->get('id'), $name, ['class' => $style]);
         if ($sql->num('SELECT id FROM ' . sql::table('structure') . ' WHERE parent_id = ' . $sql->get('id') . $extraWhere)) {
             self::getTreeStructure($offlinePages, $selected, $spacer, $sql->get('id'), $lvl + 1, $select);
         }
         $sql->next();
     }
     return $select;
 }
Exemplo n.º 2
0
 public function getTemplates($name, $selected = null)
 {
     $select = formSelect::factory($name, $selected);
     foreach ($this->get('templates', ['Default' => 'index.php']) as $name => $file) {
         $select->add($file, $name);
     }
     return $select;
 }
Exemplo n.º 3
0
 function fixedFields($form)
 {
     global $_sec;
     $clientSection = ap::getClientSection($_sec->getId());
     $md = $clientSection->getXML()->getElementById($this->getId());
     if ($clientSection->getXML()->evaluate('string(./form[1]/@dbSave)', $md) && ($dbConnect = $clientSection->getXML()->evaluate('string(./form[1]/@dbConnect)', $md)) && ($dbTable = $clientSection->getXML()->evaluate('string(./form[1]/@dbTable)', $md)) && ($ff = $form->appendField(formSelect::create('uri', 'Database field name:', '/@uri')))) {
         $ff->addOption('', '...');
         $mysql = new mysql($dbConnect);
         $q = 'SHOW COLUMNS FROM ' . $mysql->getTableName($dbTable);
         $rs = $mysql->query($q);
         while ($res = mysql_fetch_assoc($rs)) {
             if (!$res['Extra']) {
                 $ff->addOption($res['Field'], $res['Field']);
             }
         }
     }
 }