$v) { $where[] = "$k = '$v'"; } $where = implode(" AND " , $where); try { $db = Zend_Db_Table::getDefaultAdapter(); $select = $this->getDbTable()->select() ->from($this->_dbTable) ->where($where) ->order('order'); if(is_array($order)) { foreach ($order as $k => $v) $a[] = "$k $v"; $select->order($a); } $stmt = $select->query(); $result = $stmt->fetchAll(); if(!$array) { $entries = array(); foreach ($result as $row) { $entry = new Application_Model_BootMenuEntries($row); $entry->setID($row['bootmenuentriesID']); $entries[] = $entry; } return $entries; } else { return $result; } } catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } public function setDbTable($dbTable) { if (is_string($dbTable)) { $dbTable = new $dbTable(); } if (!$dbTable instanceof Zend_Db_Table_Abstract) { throw new Exception('Invalid table data gateway provided'); } $this->_dbTable = $dbTable; return $this; } public function getDbTable() { if (null === $this->_dbTable) { $this->setDbTable('Application_Model_DbTable_BootMenuEntries'); } return $this->_dbTable; } public function save(Application_Model_BootMenuEntries $botmenuentries) { $data = array('bootmenuentriesID' => $botmenuentries->getID(), 'bootosID' => $botmenuentries->getBootosID() , 'bootmenuID' => $botmenuentries->getBootmenuID() , 'configID' => $botmenuentries->getConfigID() , 'title' => $botmenuentries->getTitle() , 'kcl' => $botmenuentries->getKcl(), 'kclappend' => $botmenuentries->getKclappend() , 'order' => $botmenuentries->getOrder() ); if (null === ($id = $botmenuentries->getID()) ) { unset($data['bootmenuentriesID']); $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('bootmenuentriesID = ?' => $id)); } } public function order(Application_Model_BootMenuEntries $botmenuentries) { $db = Zend_Db_Table::getDefaultAdapter(); $stmt = $db->query("UPDATE pbs_bootmenuentries SET `order` = `order` + 1 WHERE `order` >= ". $botmenuentries->getOrder() . " AND `bootmenuID` = " . $botmenuentries->getBootmenuID()); } public function orderremove(Application_Model_BootMenuEntries $botmenuentries) { $db = Zend_Db_Table::getDefaultAdapter(); $stmt = $db->query("UPDATE pbs_bootmenuentries SET `order` = `order` - 1 WHERE `order` > ". $botmenuentries->getOrder() . " AND `bootmenuID` = " . $botmenuentries->getBootmenuID()); } public function orderbefore(Application_Model_BootMenuEntries $botmenuentries, $oldval) { $db = Zend_Db_Table::getDefaultAdapter(); print_a($botmenuentries, $oldval); $stmt = $db->query("UPDATE pbs_bootmenuentries SET `order` = `order` + 1 WHERE `order` >= ". $botmenuentries->getOrder() . " AND `order` < " . $oldval . " AND `bootmenuID` = " . $botmenuentries->getBootmenuID()); } public function orderafter(Application_Model_BootMenuEntries $botmenuentries, $oldval) { $db = Zend_Db_Table::getDefaultAdapter(); print_a($botmenuentries, $oldval); $stmt = $db->query("UPDATE pbs_bootmenuentries SET `order` = `order` - 1 WHERE `order` <= ". $botmenuentries->getOrder() . " AND `order` > " . $oldval . " AND `bootmenuID` = " . $botmenuentries->getBootmenuID()); } public function delete(Application_Model_BootMenuEntries $botmenuentries) { if (null === ($id = $botmenuentries->getID()) ) { return; } else { $this->getDbTable()->delete(array('bootmenuentriesID = ?' => $id)); } } public function find($id, Application_Model_BootMenuEntries $botmenuentries = null) { $result = $this->getDbTable()->find($id); if (0 == count($result)) { return; } $row = $result->current(); if($botmenuentries == null) { $botmenuentries = new Application_Model_BootMenuEntries(); $botmenuentries->setID($row->bootmenuentriesID) ->setBootosID($row->bootosID) ->setBootmenuID($row->bootmenuID) ->setTitle($row->title) ->setConfigID($row->configID) ->setKcl($row->kcl) ->setKclappend($row->kclappend) ->setOrder($row->order); return $botmenuentries; } else { $botmenuentries->setID($row->bootmenuentriesID) ->setBootosID($row->bootosID) ->setBootmenuID($row->bootmenuID) ->setTitle($row->title) ->setConfigID($row->configID) ->setKcl($row->kcl) ->setKclappend($row->kclappend) ->setOrder($row->order); } } public function fetchAll() { $resultSet = $this->getDbTable()->fetchAll(); $entries = array(); foreach ($resultSet as $row) { $entry = new Application_Model_BootMenuEntries(); $entry->setID($row->bootmenuentriesID)->setBootosID($row->bootosID)->setBootmenuID($row->bootmenuID)->setTitle($row->title)->setConfigID($row->configID)->setKcl($row->kcl)->setKclappend($row->kclappend)->setOrder($row->order); $entries[] = $entry; } return $entries; } public function compare(Application_Model_BootMenuEntries $v1, Application_Model_BootMenuEntries $v2) { $vv1 = $v1->toArray(); $vv2 = $v2->toArray(); return array_diff($vv1, $vv2); } }