public function save() { $success = parent::save(); if ($success && isset($this->tempFile)) { $extension = $this->getExtension(); // save original $original = $this->name . "." . $extension; $path = $this->getPath(null, true); $this->logger->log("moving " . $this->tempFile["tmp_name"] . " to " . $path); $success = move_uploaded_file($this->tempFile["tmp_name"], $path); if ($success && $this->isImage()) { $thumbs = array(array('width' => 200, 'suffix' => 'small'), array('width' => 500, 'suffix' => 'med')); foreach ($thumbs as $thumb) { $thumb_path = $this->getPath($thumb['suffix'], true); $this->logger->log("thumbnailing " . $this->tempFile["tmp_name"] . " to " . $thumb_path); $image = new Imagick($path); $image->scaleImage($thumb['width'], 0); $image->writeImage($thumb_path); $image->destroy(); } } else { if (!$success) { $this->errorMessage = "Oops! We had trouble moving the file. Please try again later."; $success = false; } } } else { $this->status = "Sorry, there was an error with the file: " . $this->tempFile["error"]; $success = false; } return $success; }
function save() { if (empty($this->Creator)) { $this->Creator = $_SESSION['User']; } return parent::save(); }
/** * Save record to the database. * * @return integer Id of the record. */ public function save() { if ($this->isNewRecord()) { // new record $this->changeCreateTime(); } else { $this->changeUpdateTime(); } return parent::save(); }
public function save($validate = true) { $this->logger->clear(); // validation $valid = !$validate || $this->validate(); // get a user_id, either by adding new user or fetching id of existing if ($valid) { $user = new User(null, $this->db); $user->email = $this->email; $user->name = $this->username; if (!is_null($user->email) && !empty($user->email)) { $user->loadFromEmail(); } else { if (!is_null($user->name) && !empty($user->name)) { $user->loadFromName(); } } if ($this->isImport) { $user->implied = 1; } if ($user->id) { $this->logger->log("user found..."); } else { $user->ip = $_SERVER['REMOTE_ADDR']; } $success = $user->save(); $this->user_id = $user->id; if (is_null($this->user_id)) { $valid = false; } } if ($valid && isset($this->imageUpload) && !empty($this->imageUpload["name"]) && $this->imageUpload["error"] == 0) { $this->logger->log("saving image..."); $image = new Media(null, $this->db); $image->name = time(); $image->mime_type = $this->imageUpload['type']; $image->tempFile = $this->imageUpload; if ($image->validate()) { if ($image->save()) { $this->logger->log("image saved..."); } else { $this->status = $image->errorMessage; $valid = false; $this->logger->log("error saving image..."); } } else { $this->status = $image->errorMessage; $valid = false; } } if ($valid && isset($this->audioUpload) && !empty($this->audioUpload["name"]) && $this->audioUpload["error"] == 0) { $this->logger->log("saving audio..."); $audio = new Media(null, $this->db); $audio->name = time(); $audio->mime_type = $this->audioUpload['type']; $audio->tempFile = $this->audioUpload; if ($audio->validate()) { if ($audio->save()) { $this->logger->log("audio saved..."); } else { $this->status = $audio->errorMessage; $valid = false; $this->logger->log("error saving audio..."); } } else { $this->status = $audio->errorMessage; $valid = false; $this->logger->log("error validating audio..."); } } $get_location = curl_init(); curl_setopt($get_location, CURLOPT_URL, "http://freegeoip.net/json/" . $_SERVER['REMOTE_ADDR']); curl_setopt($get_location, CURLOPT_RETURNTRANSFER, 1); $location = curl_exec($get_location); $location = json_decode($location); // import dream if ($valid) { $date = DateTime::createFromFormat($this->dateFormat, $this->date, new DateTimeZone($this->timezone)); $this->occur_date = $date->format('Y-m-d'); if ($location) { $this->city = $location->city; $this->country = $location->country_name; $this->latitude = $location->latitude; $this->longitude = $location->longitude; } else { $this->latitude = "0"; $this->longitude = "0"; } $success = parent::save(); if ($success) { $this->status = "Dream added!"; } else { if (isset($this->errorMessage)) { $this->status = $this->errorMessage; } else { $this->status = "Error updating dream"; } $valid = false; } } if (isset($image)) { if (!is_null($this->id) && !empty($this->id)) { $image->dream_id = $this->id; $image->save(); } else { $image->delete(); } $this->logger->log($image->logger->log); } if (isset($audio)) { if (!is_null($this->id) && !empty($this->id)) { $audio->dream_id = $this->id; $audio->save(); } else { $audio->delete(); } $this->logger->log($audio->logger->log); } $tags = array(); // add dream tags if ($valid && $this->useAlchemy) { $kb = strlen($this->description) / 1024; if ($kb <= 150) { $alchemy = new AlchemyAPI($this->alchemyApiKey); $params = array(); $params['maxRetrieve'] = 20; $params['keywordExtractMode'] = 'strict'; $params['sentiment'] = 1; $params['showSourceText'] = 0; try { $result = $alchemy->keywords('text', $this->description, $params); $this->logger->log("alchemy " . $result['status'] . ", " . (isset($result['keywords']) ? count($result['keywords']) : 0) . " keywords, " . $this->description); } catch (Exception $e) { $this->logger->log("alchemy, " . $result['status'] . ", " . $result['statusInfo']); } if (isset($result) && $result['status'] == "OK") { foreach ($result['keywords'] as $keyword) { $tag = stripslashes($keyword['text']); $tag = preg_replace("/^\\W|\\W\$|\\./", "", $tag); $tag = strtolower(trim($tag)); $tag = $this->db->real_escape_string($tag); // get tag_id $sql = "SELECT id FROM `tags` WHERE tag='" . $tag . "'"; $result2 = $this->db->query($sql); if ($this->db->affected_rows > 0) { $tag_row = $result2->fetch_assoc(); $tag_id = $tag_row['id']; } else { $sql = "INSERT INTO `tags` (tag,alchemy) VALUES ('" . $tag . "','1')"; $this->db->query($sql); $tag_id = $this->db->insert_id; } if ($tag_id) { $sentiment = $keyword['sentiment']; $sql = "INSERT INTO `dream_tags` (dream_id,tag_id,sentiment_type,sentiment_score) VALUES ('" . $this->id . "','" . $tag_id . "','" . $sentiment['type'] . "','" . (isset($sentiment['score']) ? $sentiment['score'] : 0) . "')"; $this->db->query($sql); } $tags[] = $tag; } } } else { $this->logger->log("Dream " . $this->id . " to big to process" . $kb); } } if ($valid && $this->postToTumblr && $this->tumblrPostEmail != null) { $to = $this->tumblrPostEmail; $subject = isset($this->title) ? $this->title : "untitled"; $body = $this->description; $body .= "\n\nDreamt on " . $this->date . " by a " . $this->age . " year old " . ($this->gender == "male" ? "man" : "woman") . " in " . $location->city; $body .= "\n\nhttp://artefactsofthecollectiveunconscious.net/browse.php?did=" . $this->id; $tagline = ''; foreach ($tags as $tag) { $tagline .= "#" . $tag . " "; } $body .= "\n\n" . $tagline; mail($to, $subject, $body); } if ($valid) { foreach ($this->feelings as $feeling_id) { if ($feeling_id) { $sql = "INSERT INTO `dream_feelings` (dream_id,feeling_id) VALUES ('" . $this->id . "','" . $feeling_id . "')"; $result = $this->db->query($sql); } } } if ($valid) { $this->init(); } return $valid; }
public function save() { $rtn = parent::save(); // create extra relationship for wechat_account_user if not existed if ($rtn) { $user = MySiteUser::getCurrentUser(); $wechat_account_user = WechatAccountUser::findbyCombo($this->getAccountId(), $user->getId()); if (!$wechat_account_user) { $wechat_account_user = new WechatAccountUser(); $wechat_account_user->setAccountId($this->getAccountId()); $wechat_account_user->setUserId($user->getId()); $wechat_account_user->save(); } } return $rtn; }