public function actionAddAuthor() { $attributes = $_POST['Authors']; $attributes['author_creation_date'] = date('Y-m-d H:i:s'); $authors_model = new Authors(); $authors_model->attributes = $attributes; if ($authors_model->validate()) { if ($authors_model->save(false)) { Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Автор Добавлен'); $this->redirect(array('library/tabs&tab_id=authors')); } } }
public function actionAdd() { $author = new Authors(); if (isset($_POST['Authors'])) { $author->attributes = $_POST['Authors']; if ($author->validate()) { $author->save(); $this->actionIndex(); return true; } } $this->render('edit', array('model' => $author)); }
/** * Replace entries in database with new data from GitHub API * * This method will query the GitHub API for a list of recent commits. If the query is * successful, the existing commits in the database will be removed and replaced with the * updated data. * * @return boolean Success or failure of the flush */ public function flush() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.github.com/repos/nodejs/node/commits'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_VERBOSE, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Example PHP Challenge'); $result = curl_exec($curl); $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($httpcode != 200) { return false; } else { $headersize = curl_getinfo($curl, CURLINFO_HEADER_SIZE); $result = substr($result, $headersize); $this->deleteAll(); $commits = json_decode($result); $commits = array_slice($commits, 0, 25); foreach ($commits as $commit) { $model = new Commits(); if (!($author = Authors::model()->findByPK($commit->author->id))) { $author = new Authors(); $author->id = $commit->author->id; $author->login = $commit->author->login; $author->avatar_url = $commit->author->avatar_url; $author->url = $commit->author->html_url; $author->save(); } if (!($committer = Authors::model()->findByPK($commit->committer->id))) { $committer = new Authors(); $committer->id = $commit->committer->id; $committer->login = $commit->committer->login; $committer->avatar_url = $commit->committer->avatar_url; $committer->url = $commit->committer->html_url; $committer->save(); } $model->hash = substr($commit->sha, 0, 6); $model->url = $commit->html_url; $model->message = $commit->commit->message; $model->author_id = $author->id; $model->committer_id = $committer->id; $model->modified = date('Y-m-d H:i:s'); $model->save(); } return true; } }
function admin_authors_new() { $author = new Authors(); if (isset($_POST['update'])) { foreach ($_POST['update'] as $k => $v) { $author->{$k} = $v; } $author->save(); render('research_authors'); } render(); }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aMeta !== null) { if ($this->aMeta->isModified() || $this->aMeta->isNew()) { $affectedRows += $this->aMeta->save($con); } $this->setMeta($this->aMeta); } if ($this->aParts !== null) { if ($this->aParts->isModified() || $this->aParts->isNew()) { $affectedRows += $this->aParts->save($con); } $this->setParts($this->aParts); } if ($this->aAuthors !== null) { if ($this->aAuthors->isModified() || $this->aAuthors->isNew()) { $affectedRows += $this->aAuthors->save($con); } $this->setAuthors($this->aAuthors); } if ($this->isNew()) { $this->modifiedColumns[] = PhotosPeer::ID; } // If this object has been modified, then save it to the database. if ($this->isModified()) { if ($this->isNew()) { $pk = PhotosPeer::doInsert($this, $con); $affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which // should always be true here (even though technically // BasePeer::doInsert() can insert multiple rows). $this->setId($pk); //[IMV] update autoincrement primary key $this->setNew(false); } else { $affectedRows += PhotosPeer::doUpdate($this, $con); } $this->resetModified(); // [HL] After being saved an object is no longer 'modified' } $this->alreadyInSave = false; } return $affectedRows; }
public function testDeleteEntry() { $author = new Authors(); $author->name = "Chuck Norris"; $author->save(); $author->delete(); try { $author2 = new Authors(1); $this->fail("Must throw a NoPrimaryKeySqlException"); } catch (NoPrimaryKeySqlException $e) { $this->pass(); } }