function restoreAction() { $backupFile = new UploadedFile("backupFile"); if (!$backupFile->wasUploaded()) { return; } $gzipMode = $this->request->fileType == "gzip"; $fileName = $backupFile->getTempName(); $fp = $gzipMode ? gzopen($fileName, "r") : fopen($fileName, "r"); $inString = false; $query = ""; while (!feof($fp)) { $line = $gzipMode ? gzgets($fp) : fgets($fp); if (!$inString) { $isCommentLine = false; foreach (array("#", "--") as $commentTag) { if (strpos($line, $commentTag) === 0) { $isCommentLine = true; } } if ($isCommentLine || trim($line) == "") { continue; } } $deslashedLine = str_replace('\\', '', $line); if ((substr_count($deslashedLine, "'") - substr_count($deslashedLine, "\\'")) % 2) { $inString = !$inString; } $query .= $line; if (substr_compare(rtrim($line), ";", -1) == 0 && !$inString) { $this->database->sqlQuery($query); $query = ""; } } }
protected function beforeInit() { $this->data = $this->request->getArray(array("subject", "text", "mailsPerMinute", "newsletterType", 'fromEmail')); $message = $this->customMessage->findByPk("newsletterFooter"); $this->data['newsletterFooterDescription'] = $message->description; if ($this->data['newsletterType'] == 'csv') { $csvFile = new UploadedFile('csvFile'); if ($csvFile->wasUploaded()) { $this->data['emails'] = array_values(file($csvFile->getTempName(), FILE_IGNORE_NEW_LINES)); } else { $this->data['emails'] = array(); } } }
/** * Sets a new logo image by given temp file * * @param CUploadedFile $file */ public function setNew(UploadedFile $file) { $this->delete(); move_uploaded_file($file->getTempName(), $this->getPath()); ImageConverter::Resize($this->getPath(), $this->getPath(), array('height' => $this->height, 'width' => 0, 'mode' => 'max', 'transparent' => $file->getExtensionName() == 'png' && ImageConverter::checkTransparent($this->getPath()))); }
function importNewsletterEmailAction() { $csvFile = new UploadedFile("csvFile"); try { $csvFile->validate(); $fileName = $csvFile->getTempName(); $buff = file_get_contents($fileName); $this->newsletterEmail->del(new Criteria()); foreach (preg_split("#[\r\n]+#", $buff) as $email) { $email = trim($email); if (empty($email)) { continue; } $newsletterEmail = new NewsletterEmailRecord(); $newsletterEmail->email = $email; $newsletterEmail->active = "1"; $newsletterEmail->save(); } } catch (Exception $e) { } $this->redirect($this->moduleLink("newsletterEmail")); }