当前位置: 首页>>代码示例>>PHP>>正文


PHP IOHelper::getFolderName方法代码示例

本文整理汇总了PHP中IOHelper::getFolderName方法的典型用法代码示例。如果您正苦于以下问题:PHP IOHelper::getFolderName方法的具体用法?PHP IOHelper::getFolderName怎么用?PHP IOHelper::getFolderName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IOHelper的用法示例。


在下文中一共展示了IOHelper::getFolderName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: render

 /**
  * @param $view
  * @param $data
  *
  * @return mixed
  */
 protected function render($view, $data)
 {
     if (!craft()->isConsole() && !craft()->request->isResourceRequest() && !craft()->request->isAjaxRequest() && craft()->config->get('devMode') && in_array(HeaderHelper::getMimeType(), array('text/html', 'application/xhtml+xml'))) {
         if (($userAgent = craft()->request->getUserAgent()) !== null && preg_match('/msie [5-9]/i', $userAgent)) {
             echo '<script type="text/javascript">';
             echo IOHelper::getFileContents(IOHelper::getFolderName(__FILE__) . '/../vendors/console-normalizer/normalizeconsole.min.js');
             echo "</script>\n";
         } else {
             $viewFile = craft()->path->getCpTemplatesPath() . 'logging/' . $view . '-firebug.php';
             include craft()->findLocalizedFile($viewFile, 'en');
         }
     }
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:19,代码来源:WebLogRoute.php

示例2: getAlerts

 /**
  * @param string|null $path
  * @param bool        $fetch
  *
  * @return array
  */
 public static function getAlerts($path = null, $fetch = false)
 {
     $alerts = array();
     $user = craft()->userSession->getUser();
     if (!$user) {
         return $alerts;
     }
     if (craft()->updates->isUpdateInfoCached() || $fetch) {
         // Fetch the updates regardless of whether we're on the Updates page or not, because the other alerts are
         // relying on cached Elliott info
         $updateModel = craft()->updates->getUpdates();
         // Get the license key status
         $licenseKeyStatus = craft()->et->getLicenseKeyStatus();
         // Invalid license?
         if ($licenseKeyStatus == LicenseKeyStatus::Invalid) {
             $alerts[] = Craft::t('Your license key is invalid.');
         } else {
             if (craft()->hasWrongEdition()) {
                 $alerts[] = Craft::t('You’re running Craft {edition} with a Craft {licensedEdition} license.', array('edition' => craft()->getEditionName(), 'licensedEdition' => craft()->getLicensedEditionName())) . ' <a class="go edition-resolution">' . Craft::t('Resolve') . '</a>';
             }
         }
         if ($path != 'updates' && $user->can('performUpdates')) {
             if (!empty($updateModel->app->releases)) {
                 if (craft()->updates->criticalCraftUpdateAvailable($updateModel->app->releases)) {
                     $alerts[] = Craft::t('There’s a critical Craft update available.') . ' <a class="go nowrap" href="' . UrlHelper::getUrl('updates') . '">' . Craft::t('Go to Updates') . '</a>';
                 }
             }
         }
         // Domain mismatch?
         if ($licenseKeyStatus == LicenseKeyStatus::Mismatched) {
             $licensedDomain = craft()->et->getLicensedDomain();
             $licenseKeyPath = craft()->path->getLicenseKeyPath();
             $licenseKeyFile = IOHelper::getFolderName($licenseKeyPath, false) . '/' . IOHelper::getFileName($licenseKeyPath);
             $message = Craft::t('The license located at {file} belongs to {domain}.', array('file' => $licenseKeyFile, 'domain' => '<a href="http://' . $licensedDomain . '" target="_blank">' . $licensedDomain . '</a>'));
             // Can they actually do something about it?
             if ($user->admin) {
                 $action = '<a class="go domain-mismatch">' . Craft::t('Transfer it to this domain') . '</a>';
             } else {
                 $action = Craft::t('Please notify one of your site’s admins.');
             }
             $alerts[] = $message . ' ' . $action;
         }
     }
     $allPluginAlerts = craft()->plugins->call('getCpAlerts', array($path, $fetch), true);
     foreach ($allPluginAlerts as $pluginAlerts) {
         $alerts = array_merge($alerts, $pluginAlerts);
     }
     return $alerts;
 }
开发者ID:amite,项目名称:arc-va,代码行数:55,代码来源:CpHelper.php

示例3: getManifest

 /**
  * Returns the revisioning manifest model.
  *
  * @return RevManifestModel|null
  */
 public function getManifest()
 {
     $status = craft()->config->get('revManifest');
     if (!$this->_manifest && $status !== false) {
         $manifestPath = craft()->config->get('revManifestPath');
         if (!$manifestPath) {
             $manifestPath = craft()->config->get('revManifestPath', 'revmanifest');
         }
         if (!file_exists($manifestPath)) {
             Craft::log(Craft::t('(Rev Manifest) The manifest file “{file}” doesn\'t exists.', array('file' => $manifestPath)), LogLevel::Error);
             return null;
         }
         $manifest = json_decode(file_get_contents($manifestPath), true);
         if (!$manifest) {
             Craft::log(Craft::t('(Rev Manifest) There was a problem reading the manifest file “{file}”.', array('file' => $manifestPath)), LogLevel::Error);
             return null;
         }
         $this->_manifest = new RevManifestModel();
         $this->_manifest->manifest = $manifest;
         $this->_manifest->manifestFolder = IOHelper::getFolderName($manifestPath);
     }
     return $this->_manifest;
 }
开发者ID:carlcs,项目名称:craft-revmanifest,代码行数:28,代码来源:RevManifestService.php

示例4: getAlerts

 /**
  * @param string|null $path
  * @param bool        $fetch
  *
  * @return array
  */
 public static function getAlerts($path = null, $fetch = false)
 {
     $alerts = array();
     $user = craft()->userSession->getUser();
     if (!$user) {
         return $alerts;
     }
     if (craft()->updates->isUpdateInfoCached() || $fetch) {
         // Fetch the updates regardless of whether we're on the Updates page or not, because the other alerts are
         // relying on cached Elliott info
         $updateModel = craft()->updates->getUpdates();
         if ($path != 'updates' && $user->can('performUpdates')) {
             if (!empty($updateModel->app->releases)) {
                 if (craft()->updates->criticalCraftUpdateAvailable($updateModel->app->releases)) {
                     $alerts[] = Craft::t('There’s a critical Craft update available.') . ' <a class="go nowrap" href="' . UrlHelper::getUrl('updates') . '">' . Craft::t('Go to Updates') . '</a>';
                 }
             }
         }
         // Domain mismatch?
         $licenseKeyStatus = craft()->et->getLicenseKeyStatus();
         if ($licenseKeyStatus == LicenseKeyStatus::MismatchedDomain) {
             $licensedDomain = craft()->et->getLicensedDomain();
             $licenseKeyPath = craft()->path->getLicenseKeyPath();
             $licenseKeyFile = IOHelper::getFolderName($licenseKeyPath, false) . '/' . IOHelper::getFileName($licenseKeyPath);
             $message = Craft::t('The license located at {file} belongs to {domain}.', array('file' => $licenseKeyFile, 'domain' => '<a href="http://' . $licensedDomain . '" target="_blank">' . $licensedDomain . '</a>'));
             // Can they actually do something about it?
             if ($user->admin) {
                 $action = '<a class="domain-mismatch">' . Craft::t('Transfer it to this domain?') . '</a>';
             } else {
                 $action = Craft::t('Please notify one of your site’s admins.');
             }
             $alerts[] = $message . ' ' . $action;
         }
     }
     return $alerts;
 }
开发者ID:scisahaha,项目名称:generator-craft,代码行数:42,代码来源:CpHelper.php

示例5: getPlugins

 /**
  * Returns all the plugins.
  *
  * @param bool $enabledOnly Whether to only return plugins that are installed and enabled. Defaults to `true`.
  *
  * @return BasePlugin[] The plugins.
  */
 public function getPlugins($enabledOnly = true)
 {
     if ($enabledOnly) {
         return $this->_enabledPlugins;
     } else {
         if (!isset($this->_allPlugins)) {
             $this->_allPlugins = array();
             // Find all of the plugins in the plugins folder
             $pluginsPath = craft()->path->getPluginsPath();
             $pluginFolderContents = IOHelper::getFolderContents($pluginsPath, false);
             if ($pluginFolderContents) {
                 foreach ($pluginFolderContents as $pluginFolderContent) {
                     // Make sure it's actually a folder.
                     if (IOHelper::folderExists($pluginFolderContent)) {
                         $pluginFolderContent = IOHelper::normalizePathSeparators($pluginFolderContent);
                         $pluginFolderName = mb_strtolower(IOHelper::getFolderName($pluginFolderContent, false));
                         $pluginFilePath = IOHelper::getFolderContents($pluginFolderContent, false, ".*Plugin\\.php");
                         if (is_array($pluginFilePath) && count($pluginFilePath) > 0) {
                             $pluginFileName = IOHelper::getFileName($pluginFilePath[0], false);
                             // Chop off the "Plugin" suffix
                             $handle = mb_substr($pluginFileName, 0, mb_strlen($pluginFileName) - 6);
                             $lcHandle = mb_strtolower($handle);
                             // Validate that the lowercase plugin class handle is the same as the folder name
                             // and that we haven't already loaded a plugin with the same handle but different casing
                             if ($lcHandle === $pluginFolderName && !isset($this->_allPlugins[$lcHandle])) {
                                 $plugin = $this->getPlugin($handle, false);
                                 if ($plugin) {
                                     $this->_allPlugins[$lcHandle] = $plugin;
                                     $names[] = $plugin->getName();
                                 }
                             }
                         }
                     }
                 }
                 if (!empty($names)) {
                     // Sort plugins by name
                     array_multisort($names, $this->_allPlugins);
                 }
             }
         }
         return $this->_allPlugins;
     }
 }
开发者ID:kant312,项目名称:sop,代码行数:50,代码来源:PluginsService.php

示例6: _validateManifestPathsWritable

 /**
  * Checks to see if the files that we are about to update are writable by Craft.
  *
  * @param string $unzipFolder
  * @param string $handle
  *
  * @return bool
  */
 private function _validateManifestPathsWritable($unzipFolder, $handle)
 {
     $manifestData = UpdateHelper::getManifestData($unzipFolder, $handle);
     $writableErrors = array();
     foreach ($manifestData as $row) {
         if (UpdateHelper::isManifestVersionInfoLine($row)) {
             continue;
         }
         $rowData = explode(';', $row);
         $filePath = IOHelper::normalizePathSeparators(($handle == 'craft' ? craft()->path->getAppPath() : craft()->path->getPluginsPath() . $handle . '/') . $rowData[0]);
         if (UpdateHelper::isManifestLineAFolder($filePath)) {
             $filePath = UpdateHelper::cleanManifestFolderLine($filePath);
         }
         // Check to see if the file/folder we need to update is writable.
         if (IOHelper::fileExists($filePath) || IOHelper::folderExists($filePath)) {
             if (!IOHelper::isWritable($filePath)) {
                 $writableErrors[] = $filePath;
             }
         } else {
             if (($folderPath = IOHelper::folderExists(IOHelper::getFolderName($filePath))) == true) {
                 if (!IOHelper::isWritable($folderPath)) {
                     $writableErrors[] = $filePath;
                 }
             }
         }
     }
     return $writableErrors;
 }
开发者ID:codeforamerica,项目名称:oakland-beta,代码行数:36,代码来源:Updater.php

示例7: _normalizeCssUrl

 /**
  * @param $match
  *
  * @return string
  */
 private function _normalizeCssUrl($match)
 {
     // Ignore root-relative, absolute, and data: URLs
     if (preg_match('/^(\\/|https?:\\/\\/|data:)/', $match[3])) {
         return $match[0];
     }
     // Clean up any relative folders at the beginning of the CSS URL
     $requestFolder = IOHelper::getFolderName(craft()->request->getPath());
     $requestFolderParts = array_filter(explode('/', $requestFolder));
     $cssUrlParts = array_filter(explode('/', $match[3]));
     while (isset($cssUrlParts[0]) && $cssUrlParts[0] == '..' && $requestFolderParts) {
         array_pop($requestFolderParts);
         array_shift($cssUrlParts);
     }
     $pathParts = array_merge($requestFolderParts, $cssUrlParts);
     $path = implode('/', $pathParts);
     $url = UrlHelper::getUrl($path);
     // Is this going to be a resource URL?
     $rootResourceUrl = UrlHelper::getUrl(craft()->config->getResourceTrigger()) . '/';
     $rootResourceUrlLength = strlen($rootResourceUrl);
     if (strncmp($rootResourceUrl, $url, $rootResourceUrlLength) === 0) {
         // Isolate the relative resource path
         $resourcePath = substr($url, $rootResourceUrlLength);
         // Give UrlHelper a chance to add the timestamp
         $url = UrlHelper::getResourceUrl($resourcePath);
     }
     // Return the normalized CSS URL declaration
     return $match[1] . $url . $match[4];
 }
开发者ID:JamesGibsonUK,项目名称:gibsonlearn,代码行数:34,代码来源:ResourcesService.php

示例8: unzip

 /**
  * @param $srcZip
  * @param $destFolder
  * @return bool
  */
 public function unzip($srcZip, $destFolder)
 {
     $zip = new \PclZip($srcZip);
     $tempDestFolders = null;
     // check to see if it's a valid archive.
     if (($zipFiles = $zip->extract(PCLZIP_OPT_EXTRACT_AS_STRING)) == false) {
         Craft::log('Tried to unzip ' . $srcZip . ', but PclZip thinks it is not a valid zip archive.', LogLevel::Error);
         return false;
     }
     if (count($zipFiles) == 0) {
         Craft::log($srcZip . ' appears to be an empty zip archive.', LogLevel::Error);
         return false;
     }
     // find out which directories we need to create in the destination.
     foreach ($zipFiles as $zipFile) {
         if (substr($zipFile['filename'], 0, 9) === '__MACOSX/') {
             continue;
         }
         $folderName = IOHelper::getFolderName($zipFile['filename']);
         if ($folderName == './') {
             $tempDestFolders[] = $destFolder . '/';
         } else {
             $tempDestFolders[] = $destFolder . '/' . rtrim(IOHelper::getFolderName($zipFile['filename']), '/');
         }
     }
     $tempDestFolders = array_unique($tempDestFolders);
     $finalDestFolders = array();
     foreach ($tempDestFolders as $tempDestFolder) {
         // Skip over the working directory
         if (rtrim($destFolder, '/') == rtrim($tempDestFolder, '/')) {
             continue;
         }
         // Make sure the current directory is within the working directory
         if (strpos($tempDestFolder, $destFolder) === false) {
             continue;
         }
         $finalDestFolders[] = $tempDestFolder;
     }
     asort($finalDestFolders);
     // Create the destination directories.
     foreach ($finalDestFolders as $finalDestFolder) {
         if (!IOHelper::folderExists($finalDestFolder)) {
             if (!IOHelper::createFolder($finalDestFolder)) {
                 Craft::log('Could not create folder ' . $finalDestFolder . ' while unzipping: ' . $srcZip, LogLevel::Error);
                 return false;
             }
         }
     }
     unset($finalDestFolders);
     // Extract the files from the zip
     foreach ($zipFiles as $zipFile) {
         // folders have already been created.
         if ($zipFile['folder']) {
             continue;
         }
         if (substr($zipFile['filename'], 0, 9) === '__MACOSX/') {
             continue;
         }
         $destFile = $destFolder . '/' . $zipFile['filename'];
         if (!IOHelper::writeToFile($destFile, $zipFile['content'], true, true)) {
             Craft::log('Could not copy the file ' . $destFile . ' while unziping: ' . $srcZip, LogLevel::Error);
             return false;
         }
     }
     return true;
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:71,代码来源:PclZip.php

示例9: _isConfigFolderWritable

 /**
  * @return bool
  */
 private function _isConfigFolderWritable()
 {
     return IOHelper::isWritable(IOHelper::getFolderName(craft()->path->getLicenseKeyPath()));
 }
开发者ID:webremote,项目名称:craft_boilerplate,代码行数:7,代码来源:Et.php

示例10: _normalizeCssUrl

 /**
  * @access private
  * @param $match
  * @return string
  */
 private function _normalizeCssUrl($match)
 {
     // ignore root-relative, absolute, and data: URLs
     if (preg_match('/^(\\/|https?:\\/\\/|data:)/', $match[3])) {
         return $match[0];
     }
     $url = IOHelper::getFolderName(craft()->request->getPath()) . $match[3];
     // Make sure this is a resource URL
     $resourceTrigger = craft()->config->get('resourceTrigger');
     $resourceTriggerPos = strpos($url, $resourceTrigger);
     if ($resourceTriggerPos !== false) {
         // Give UrlHelper a chance to add the timestamp
         $path = substr($url, $resourceTriggerPos + strlen($resourceTrigger));
         $url = UrlHelper::getResourceUrl($path);
     }
     return $match[1] . $url . $match[4];
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:22,代码来源:ResourcesService.php

示例11: getFolderName

 /**
  * @param bool $fullPath
  * @return mixed
  */
 public function getFolderName($fullPath = true)
 {
     if ($fullPath) {
         if (!$this->_fullFolderName) {
             $this->_fullFolderName = IOHelper::getFolderName($this->getRealPath(), $fullPath);
         }
         return $this->_fullFolderName;
     } else {
         if (!$this->_folderNameOnly) {
             $this->_folderNameOnly = IOHelper::getFolderName($this->getRealPath(), $fullPath);
         }
         return $this->_folderNameOnly;
     }
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:18,代码来源:BaseIO.php

示例12: _autoGuessImageQuality

	/**
	 * @param     $tempFileName
	 * @param     $originalSize
	 * @param     $extension
	 * @param     $minQuality
	 * @param     $maxQuality
	 * @param int $step
	 *
	 * @return bool
	 */
	private function _autoGuessImageQuality($tempFileName, $originalSize, $extension, $minQuality, $maxQuality, $step = 0)
	{
		// Give ourselves some extra time.
		@set_time_limit(30);

		if ($step == 0)
		{
			$tempFileName = IOHelper::getFolderName($tempFileName).IOHelper::getFileName($tempFileName, false).'-temp.'.$extension;
		}

		// Find our target quality by splitting the min and max qualities
		$midQuality = (int)ceil($minQuality + (($maxQuality - $minQuality) / 2));

		// Set the min and max acceptable ranges. .10 means anything between 90% and 110% of the original file size is acceptable.
		$acceptableRange = .10;

		clearstatcache();

		// Generate a new temp image and get it's file size.
		$this->_image->save($tempFileName, $this->_getSaveOptions($midQuality, $extension));
		$newFileSize = IOHelper::getFileSize($tempFileName);

		// If we're on step 10 OR we're within our acceptable range threshold OR midQuality = maxQuality (1 == 1),
		// let's use the current image.
		if ($step == 10 || abs(1 - $originalSize / $newFileSize) < $acceptableRange || $midQuality == $maxQuality)
		{
			clearstatcache();

			// Generate one last time.
			$this->_image->save($tempFileName, $this->_getSaveOptions($midQuality));
			return true;
		}

		$step++;

		if ($newFileSize > $originalSize)
		{
			return $this->_autoGuessImageQuality($tempFileName, $originalSize, $extension, $minQuality, $midQuality, $step);
		}
		// Too much.
		else
		{
			return $this->_autoGuessImageQuality($tempFileName, $originalSize, $extension, $midQuality, $maxQuality, $step);
		}
	}
开发者ID:harish94,项目名称:Craft-Release,代码行数:55,代码来源:Image.php

示例13: setValue

 /**
  * Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.
  *
  * @param  string  $key    The key identifying the value to be cached
  * @param  string  $value  The value to be cached
  * @param  integer $expire The number of seconds in which the cached value will expire. 0 means never expire.
  * @return boolean true    If the value is successfully stored into cache, false otherwise
  */
 protected function setValue($key, $value, $expire)
 {
     if (!$this->_gced && mt_rand(0, 1000000) < $this->getGCProbability()) {
         $this->gc();
         $this->_gced = true;
     }
     if ($expire <= 0) {
         $expire = 31536000;
         // 1 year
     }
     $expire += time();
     $cacheFile = $this->getCacheFile($key);
     if ($this->directoryLevel > 0) {
         IOHelper::createFolder(IOHelper::getFolderName($cacheFile), IOHelper::getWritableFolderPermissions());
     }
     if ($this->_originalKey == 'useWriteFileLock') {
         if (IOHelper::writeToFile($cacheFile, $value, true, false, true) !== false) {
             IOHelper::changePermissions($cacheFile, IOHelper::getWritableFilePermissions());
             return IOHelper::touch($cacheFile, $expire);
         } else {
             return false;
         }
     } else {
         if (IOHelper::writeToFile($cacheFile, $value) !== false) {
             IOHelper::changePermissions($cacheFile, IOHelper::getWritableFilePermissions());
             return IOHelper::touch($cacheFile, $expire);
         } else {
             return false;
         }
     }
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:39,代码来源:FileCache.php

示例14: actionSendSupportRequest

 /**
  * Creates a new support ticket for the GetHelp widget.
  *
  * @return null
  */
 public function actionSendSupportRequest()
 {
     $this->requirePostRequest();
     craft()->config->maxPowerCaptain();
     $success = false;
     $errors = array();
     $zipFile = null;
     $tempFolder = null;
     $widgetId = craft()->request->getPost('widgetId');
     $namespace = craft()->request->getPost('namespace');
     $namespace = $namespace ? $namespace . '.' : '';
     $getHelpModel = new GetHelpModel();
     $getHelpModel->fromEmail = craft()->request->getPost($namespace . 'fromEmail');
     $getHelpModel->message = trim(craft()->request->getPost($namespace . 'message'));
     $getHelpModel->attachLogs = (bool) craft()->request->getPost($namespace . 'attachLogs');
     $getHelpModel->attachDbBackup = (bool) craft()->request->getPost($namespace . 'attachDbBackup');
     $getHelpModel->attachTemplates = (bool) craft()->request->getPost($namespace . 'attachTemplates');
     $getHelpModel->attachment = UploadedFile::getInstanceByName($namespace . 'attachAdditionalFile');
     if ($getHelpModel->validate()) {
         $user = craft()->userSession->getUser();
         // Add some extra info about this install
         $message = $getHelpModel->message . "\n\n" . "------------------------------\n\n" . 'Craft ' . craft()->getEditionName() . ' ' . craft()->getVersion() . '.' . craft()->getBuild();
         $plugins = craft()->plugins->getPlugins();
         if ($plugins) {
             $pluginNames = array();
             foreach ($plugins as $plugin) {
                 $pluginNames[] = $plugin->getName() . ' ' . $plugin->getVersion() . ' (' . $plugin->getDeveloper() . ')';
             }
             $message .= "\nPlugins: " . implode(', ', $pluginNames);
         }
         $requestParamDefaults = array('sFirstName' => $user->getFriendlyName(), 'sLastName' => $user->lastName ? $user->lastName : 'Doe', 'sEmail' => $getHelpModel->fromEmail, 'tNote' => $message);
         $requestParams = $requestParamDefaults;
         $hsParams = array('helpSpotApiURL' => 'https://support.pixelandtonic.com/api/index.php');
         try {
             if ($getHelpModel->attachLogs || $getHelpModel->attachDbBackup) {
                 if (!$zipFile) {
                     $zipFile = $this->_createZip();
                 }
                 if ($getHelpModel->attachLogs && IOHelper::folderExists(craft()->path->getLogPath())) {
                     // Grab it all.
                     $logFolderContents = IOHelper::getFolderContents(craft()->path->getLogPath());
                     foreach ($logFolderContents as $file) {
                         // Make sure it's a file.
                         if (IOHelper::fileExists($file)) {
                             Zip::add($zipFile, $file, craft()->path->getStoragePath());
                         }
                     }
                 }
                 if ($getHelpModel->attachDbBackup && IOHelper::folderExists(craft()->path->getDbBackupPath())) {
                     // Make a fresh database backup of the current schema/data. We want all data from all tables
                     // for debugging.
                     craft()->db->backup();
                     $backups = IOHelper::getLastModifiedFiles(craft()->path->getDbBackupPath(), 3);
                     foreach ($backups as $backup) {
                         if (IOHelper::getExtension($backup) == 'sql') {
                             Zip::add($zipFile, $backup, craft()->path->getStoragePath());
                         }
                     }
                 }
             }
             if ($getHelpModel->attachment) {
                 // If we don't have a zip file yet, create one now.
                 if (!$zipFile) {
                     $zipFile = $this->_createZip();
                 }
                 $tempFolder = craft()->path->getTempPath() . StringHelper::UUID() . '/';
                 if (!IOHelper::folderExists($tempFolder)) {
                     IOHelper::createFolder($tempFolder);
                 }
                 $tempFile = $tempFolder . $getHelpModel->attachment->getName();
                 $getHelpModel->attachment->saveAs($tempFile);
                 // Make sure it actually saved.
                 if (IOHelper::fileExists($tempFile)) {
                     Zip::add($zipFile, $tempFile, $tempFolder);
                 }
             }
             if ($getHelpModel->attachTemplates) {
                 // If we don't have a zip file yet, create one now.
                 if (!$zipFile) {
                     $zipFile = $this->_createZip();
                 }
                 if (IOHelper::folderExists(craft()->path->getLogPath())) {
                     // Grab it all.
                     $templateFolderContents = IOHelper::getFolderContents(craft()->path->getSiteTemplatesPath());
                     foreach ($templateFolderContents as $file) {
                         // Make sure it's a file.
                         if (IOHelper::fileExists($file)) {
                             $templateFolderName = IOHelper::getFolderName(craft()->path->getSiteTemplatesPath(), false);
                             $siteTemplatePath = craft()->path->getSiteTemplatesPath();
                             $tempPath = substr($siteTemplatePath, 0, strlen($siteTemplatePath) - strlen($templateFolderName) - 1);
                             Zip::add($zipFile, $file, $tempPath);
                         }
                     }
                 }
             }
//.........这里部分代码省略.........
开发者ID:jmstan,项目名称:craft-website,代码行数:101,代码来源:DashboardController.php

示例15: getAlerts

 /**
  * @static
  * @param bool $fetch
  * @return array
  */
 public static function getAlerts($path = null, $fetch = false)
 {
     $alerts = array();
     $user = craft()->userSession->getUser();
     if (!$user) {
         return $alerts;
     }
     if (craft()->updates->isUpdateInfoCached() || $fetch) {
         // Fetch the updates regardless of whether we're on the Updates page or not,
         // because the other alerts are relying on cached Elliott info
         $updateModel = craft()->updates->getUpdates();
         if ($path != 'updates' && $user->can('performUpdates')) {
             if (!empty($updateModel->app->releases)) {
                 if (craft()->updates->criticalCraftUpdateAvailable($updateModel->app->releases)) {
                     $alerts[] = Craft::t('There’s a critical Craft update available.') . ' <a class="go" href="' . UrlHelper::getUrl('updates') . '">' . Craft::t('Go to Updates') . '</a>';
                 }
             }
         }
         // Domain mismatch?
         $licenseKeyStatus = craft()->et->getLicenseKeyStatus();
         if ($licenseKeyStatus == LicenseKeyStatus::MismatchedDomain) {
             $licensedDomain = craft()->et->getLicensedDomain();
             $licenseKeyPath = craft()->path->getLicenseKeyPath();
             $licenseKeyFile = IOHelper::getFolderName($licenseKeyPath, false) . '/' . IOHelper::getFileName($licenseKeyPath);
             $message = Craft::t('The license located at {file} belongs to {domain}.', array('file' => $licenseKeyFile, 'domain' => '<a href="http://' . $licensedDomain . '" target="_blank">' . $licensedDomain . '</a>'));
             // Can they actually do something about it?
             if ($user->admin) {
                 $action = '<a class="domain-mismatch">' . Craft::t('Transfer it to this domain?') . '</a>';
             } else {
                 $action = Craft::t('Please notify one of your site’s admins.');
             }
             $alerts[] = $message . ' ' . $action;
         }
         // Unlicensed packages?
         if ($path != 'settings/packages') {
             $licensedPackages = craft()->et->getLicensedPackages();
             $packageTrials = craft()->et->getPackageTrials();
             // Could be false if not cached
             if (is_array($licensedPackages)) {
                 // Look for any unlicensed licenses
                 $unlicensedPackages = array();
                 foreach (Craft::getPackages() as $package) {
                     if (!in_array($package, $licensedPackages)) {
                         // Make sure it's not in trial
                         if (!is_array($packageTrials) || !in_array($package, array_keys($packageTrials))) {
                             $unlicensedPackages[] = $package;
                         }
                     }
                 }
                 if ($unlicensedPackages) {
                     if (count($unlicensedPackages) == 1) {
                         $message = Craft::t('The {package} package is installed, but it’s not licensed.', array('package' => Craft::t($unlicensedPackages[0])));
                     } else {
                         $message = Craft::t('You have multiple unlicensed packages installed.');
                     }
                     // Can they actually do something about it?
                     if ($user->admin) {
                         $action = '<a class="go" href="' . UrlHelper::getUrl('settings/packages') . '">' . Craft::t('Manage packages') . '</a>';
                     } else {
                         $action = Craft::t('Please notify one of your site’s admins.');
                     }
                     $alerts[] = $message . ' ' . $action;
                 }
             }
             if ($packageTrials && $user->admin && !$user->hasShunned('packageTrialAlert')) {
                 $expiringTrials = array();
                 $currentTime = DateTimeHelper::currentUTCDateTime();
                 $nextWeek = $currentTime->add(new DateInterval('P1W'))->getTimestamp();
                 // See if there are any package trials that expire in less than a week
                 foreach (Craft::getPackages() as $package) {
                     if (!empty($packageTrials[$package])) {
                         if ($packageTrials[$package] < $nextWeek) {
                             $expiringTrials[] = $package;
                         }
                     }
                 }
                 if ($expiringTrials) {
                     if (count($expiringTrials) == 1) {
                         $message = Craft::t('Your {package} trial is expiring soon.', array('package' => Craft::t($expiringTrials[0])));
                     } else {
                         $message = Craft::t('You have multiple package trials expiring soon.');
                     }
                     $action1 = '<a class="shun:packageTrialAlert">' . Craft::t('Remind me later') . '</a>';
                     $action2 = '<a class="go" href="' . UrlHelper::getUrl('settings/packages') . '">' . Craft::t('manage packages') . '</a>';
                     $alerts[] = $message . ' ' . $action1 . ' ' . Craft::t('or') . ' ' . $action2;
                 }
             }
         }
     }
     return $alerts;
 }
开发者ID:kentonquatman,项目名称:portfolio,代码行数:96,代码来源:CpHelper.php


注:本文中的IOHelper::getFolderName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。