コード例 #1
0
ファイル: Query.php プロジェクト: subashemphasize/test_site
 function __construct(Am_Table $table, $alias = 't')
 {
     $this->db = $table->getAdapter();
     $this->table = $table;
     $this->alias = $alias;
     $this->tableName = $table->getName();
     $this->keyField = $table->getKeyField();
 }
コード例 #2
0
ファイル: XmlParser.php プロジェクト: alexanderTsig/arabic
 public function __construct(Am_Table $table = null)
 {
     $this->table = $table;
     if (!empty($table->_importNested)) {
         foreach ($table->_importNested as $t) {
             $this->nested[] = new self($t);
         }
     }
     $this->id = $this->table ? $table->getName(true) : 'NULL';
 }
コード例 #3
0
 public function addFieldSelect($name, Am_Table $table, $title, array $options)
 {
     $fs = $this->form->addFieldset()->setLabel($title . ' Columns: ' . $table->getName(true));
     $sampleRows = $table->getAdapter()->select("SELECT * FROM ?#\n            LIMIT ?d,3", $table->getName(true), max($table->countBy() - 3, 0));
     $sample = "<div style='color: lightgray'>";
     foreach ($sampleRows as $r) {
         $sample .= nl2br(Am_Controller::escape(substr(print_r($r, true), 0, 1024))) . "\n";
     }
     $sample .= "</div>";
     $fs->addStatic()->setLabel('Sample Rows')->setContent($sample);
     $fields = $table->getFields(true);
     $fields = array_merge(array(''), $fields);
     foreach ($options as $k => $v) {
         $el = $fs->addSelect('field[' . $name . '][' . $k . ']')->setLabel($v)->loadOptions(array_combine($fields, $fields));
         if (!in_array($k, array('Am_Protect_SessionTable::FIELD_UID', 'Am_Protect_SessionTable::FIELD_IP', 'Am_Protect_SessionTable::FIELD_UA', 'Am_Protect_SessionTable::FIELD_CREATED', 'Am_Protect_SessionTable::FIELD_CHANGED'))) {
             $el->addRule('required');
         }
     }
 }
コード例 #4
0
ファイル: Abstract.php プロジェクト: alexanderTsig/arabic
 protected function _simpleSort(Am_Table $table, $item, $after, $before)
 {
     $after = $after ? $after['id'] : null;
     $before = $before ? $before['id'] : null;
     $id = $item['id'];
     $table_name = $table->getName();
     $pk = $table->getKeyField();
     $db = Am_Di::getInstance()->db;
     $item = $table->load($id);
     if ($before) {
         $beforeItem = $table->load($before);
         $sign = $beforeItem->sort_order > $item->sort_order ? '-' : '+';
         $newSortOrder = $beforeItem->sort_order > $item->sort_order ? $beforeItem->sort_order - 1 : $beforeItem->sort_order;
         $db->query("UPDATE {$table_name}\n                SET sort_order=sort_order{$sign}1 WHERE\n                sort_order BETWEEN ? AND ? AND {$pk}<>?", min($newSortOrder, $item->sort_order), max($newSortOrder, $item->sort_order), $id);
         $db->query("UPDATE {$table_name} SET sort_order=? WHERE {$pk}=?", $newSortOrder, $id);
     } elseif ($after) {
         $afterItem = $table->load($after);
         $sign = $afterItem->sort_order > $item->sort_order ? '-' : '+';
         $newSortOrder = $afterItem->sort_order > $item->sort_order ? $afterItem->sort_order : $afterItem->sort_order + 1;
         $db->query("UPDATE {$table_name}\n                SET sort_order=sort_order{$sign}1 WHERE\n                sort_order BETWEEN ? AND ? AND {$pk}<>?", min($newSortOrder, $item->sort_order), max($newSortOrder, $item->sort_order), $id);
         $db->query("UPDATE {$table_name} SET sort_order=? WHERE {$pk}=?", $newSortOrder, $id);
     }
 }