Deletes the given file if it exists.
public static deleteFileIfExists ( string $pathToFile ) : boolean | ||
$pathToFile | string | |
return | boolean | true in case of success or if file does not exist, false otherwise. It might fail in case the file is not writeable. |
private static function deleteIfLastModifiedBefore14August2014($path) { $modifiedTime = filemtime($path); if ($modifiedTime && $modifiedTime < 1408000000) { Filesystem::deleteFileIfExists($path); } }
public function destroy() { Filesystem::deleteFileIfExists($this->tmpFile); }
public function finishProcess() { Filesystem::deleteFileIfExists($this->pidFile); }
public function download() { Piwik::checkUserHasSuperUserAccess(); $this->dieIfPluginsAdminIsDisabled(); $pluginName = new PluginName(); $pluginName = $pluginName->getPluginName(); Nonce::checkNonce($pluginName); $filename = $pluginName . '.zip'; try { $pathToPlugin = $this->marketplaceApi->download($pluginName); ProxyHttp::serverStaticFile($pathToPlugin, 'application/zip', $expire = 0, $start = false, $end = false, $filename); } catch (Exception $e) { Common::sendResponseCode(500); Log::warning('Could not download file . ' . $e->getMessage()); } if (!empty($pathToPlugin)) { Filesystem::deleteFileIfExists($pathToPlugin); } }
public function sendReport($idReport, $period = false, $date = false, $force = false) { Piwik::checkUserIsNotAnonymous(); $reports = $this->getReports($idSite = false, false, $idReport); $report = reset($reports); if ($report['period'] == 'never') { $report['period'] = 'day'; } if (!empty($period)) { $report['period'] = $period; } if (empty($date)) { $date = Date::now()->subPeriod(1, $report['period'])->toString(); } $language = \Piwik\Plugins\LanguagesManager\API::getInstance()->getLanguageForUser($report['login']); // generate report list($outputFilename, $prettyDate, $reportSubject, $reportTitle, $additionalFiles) = $this->generateReport($idReport, $date, $language, self::OUTPUT_SAVE_ON_DISK, $report['period']); if (!file_exists($outputFilename)) { throw new Exception("The report file wasn't found in {$outputFilename}"); } $contents = file_get_contents($outputFilename); if (empty($contents)) { Log::warning("Scheduled report file '%s' exists but is empty!", $outputFilename); } /** * Triggered when sending scheduled reports. * * Plugins that provide new scheduled report transport mediums should use this event to * send the scheduled report. * * @param string $reportType A string ID describing how the report is sent, eg, * `'sms'` or `'email'`. * @param array $report An array describing the scheduled report that is being * generated. * @param string $contents The contents of the scheduled report that was generated * and now should be sent. * @param string $filename The path to the file where the scheduled report has * been saved. * @param string $prettyDate A prettified date string for the data within the * scheduled report. * @param string $reportSubject A string describing what's in the scheduled * report. * @param string $reportTitle The scheduled report's given title (given by a Piwik user). * @param array $additionalFiles The list of additional files that should be * sent with this report. * @param \Piwik\Period $period The period for which the report has been generated. * @param boolean $force A report can only be sent once per period. Setting this to true * will force to send the report even if it has already been sent. */ Piwik::postEvent(self::SEND_REPORT_EVENT, array($report['type'], $report, $contents, $filename = basename($outputFilename), $prettyDate, $reportSubject, $reportTitle, $additionalFiles, \Piwik\Period\Factory::build($report['period'], $date), $force)); // Update flag in DB $now = Date::now()->getDatetime(); $this->getModel()->updateReport($report['idreport'], array('ts_last_sent' => $now)); if (!Development::isEnabled()) { @chmod($outputFilename, 0600); Filesystem::deleteFileIfExists($outputFilename); } }
public function download($pluginOrThemeName) { @ignore_user_abort(true); SettingsServer::setMaxExecutionTime(0); $downloadUrl = $this->getDownloadUrl($pluginOrThemeName); if (empty($downloadUrl)) { return false; } // in the beginning we allowed to specify a download path but this way we make sure security is always taken // care of and we always generate a random download filename. $target = $this->getRandomTmpPluginDownloadFilename(); Filesystem::deleteFileIfExists($target); $success = $this->service->download($downloadUrl, $target, static::HTTP_REQUEST_TIMEOUT); if ($success) { return $target; } return false; }
/** * @param $targetTmpFile */ private function removeFileIfExists($targetTmpFile) { Filesystem::deleteFileIfExists($targetTmpFile); }