Beispiel #1
0
 public static function save(Application_Model_O_Destination $obj, $extra = '')
 {
     if (!$obj->getModifiedFields()) {
         return $obj;
     }
     foreach ($obj->getModifiedFields() as $key => $value) {
         $field = self::$fields[strtolower($key)];
         if ($field) {
             $data[$field] = $value;
         }
     }
     if (!$obj->getId()) {
         $obj->setId(self::getDbTable()->insert($data, $extra));
         $obj->setNew(false);
     } else {
         self::getDbTable()->update($data, array('id = ?' => $obj->getId()));
     }
     return $obj;
 }
 public function asyncajaxAction()
 {
     $this->getResponse()->setHeader('Content-Type', 'application/json');
     $this->_helper->viewRenderer->setNoRender(true);
     $this->_helper->layout()->disableLayout();
     $params = $this->_getAllParams();
     //echo "<pre>";var_dump($params);exit;
     //     	unset($params['controller']);
     //     	unset($params['action']);
     //     	unset($params['module']);
     $dest = new Application_Model_O_Destination();
     $validate = new Yy_Validate_Value();
     if ($validate->isValid($params['id'])) {
         $dest->setId($params['id']);
     } else {
         $dest->setCtime(date('Y-m-d H:i:s'));
     }
     if ($validate->isValid($params['city'])) {
         $dest->setCity($params['city']);
     }
     if ($validate->isValid($params['type'])) {
         $dest->setType($params['type']);
     }
     if ($validate->isValid($params['longitude'])) {
         $dest->setLongitude($params['longitude']);
     }
     if ($validate->isValid($params['latitude'])) {
         $dest->setLatitude($params['latitude']);
     }
     if ($validate->isValid($params['sort'])) {
         $dest->setSort($params['sort']);
     }
     if ($validate->isValid($params['status'])) {
         $dest->setStatus($params['status']);
     }
     try {
         $dest->save();
         $id = $dest->getId();
         //保存行程图片
         $adapter = new Zend_File_Transfer_Adapter_Http();
         $wrdir = Yy_Utils::getWriteDir();
         $adapter->setDestination($wrdir);
         if (!$adapter->receive()) {
             $messages = $adapter->getMessages();
             //echo implode("\n", $messages);
         }
         $filename = $adapter->getFileName();
         if (is_string($filename)) {
             $handle = fopen($filename, 'rb');
             $img = addslashes(fread($handle, filesize($filename)));
             fclose($handle);
             Application_Model_M_Destination::updateImage($id, $img);
         }
         $url = '/destination/view?id=' . $id . '&from=add';
         $this->redirect($url);
     } catch (Zend_Db_Exception $e) {
         $this->redirect('/error?message=' . $e->getMessage());
     }
 }