Exemple #1
0
 public function getRequestedPageDirectory()
 {
     if ($this->requestedFileDirectory != null) {
         return $this->requestedFileDirectory;
     }
     $requestedFile = $this->getRequestedPage();
     return $this->requestedFileDirectory = IO\Path::getDirectory($requestedFile);
 }
Exemple #2
0
 /**
  * Loads language messages for specified file
  *
  * @param string $file
  * @param string $language
  * @return array
  */
 public static function loadLanguageFile($file, $language = null)
 {
     if ($language === null) {
         $language = self::getCurrentLang();
     }
     if (!isset(self::$messages[$language])) {
         self::$messages[$language] = array();
     }
     //first time call only for lang
     if (self::$customMessages === null) {
         self::$customMessages = self::loadCustomMessages($language);
     }
     $path = Path::getDirectory($file);
     static $langDirCache = array();
     if (isset($langDirCache[$path])) {
         $langDir = $langDirCache[$path];
         $fileName = substr($file, strlen($langDir) - 5);
     } else {
         //let's find language folder
         $langDir = $fileName = "";
         $filePath = $file;
         while (($slashPos = strrpos($filePath, "/")) !== false) {
             $filePath = substr($filePath, 0, $slashPos);
             if (is_dir($filePath . "/lang")) {
                 $langDir = $filePath . "/lang";
                 $fileName = substr($file, $slashPos);
                 $langDirCache[$path] = $langDir;
                 break;
             }
         }
     }
     $mess = array();
     if ($langDir != "") {
         //load messages for default lang first
         $defaultLang = self::getDefaultLang($language);
         if ($defaultLang != $language) {
             $langFile = $langDir . "/" . $defaultLang . $fileName;
             if (file_exists($langFile)) {
                 $mess = self::includeFile($langFile);
             }
         }
         //then load messages for specified lang
         $langFile = $langDir . "/" . $language . $fileName;
         if (file_exists($langFile)) {
             $mess = array_merge($mess, self::includeFile($langFile));
         }
         foreach ($mess as $key => $val) {
             self::$messages[$language][$key] = $val;
         }
     }
     return $mess;
 }
Exemple #3
0
 public function getDirectoryName()
 {
     return Path::getDirectory($this->path);
 }
Exemple #4
0
 /**
  * Downloads and saves a file.
  *
  * @param string $url URI to download
  * @param string $filePath Absolute file path
  * @return bool
  */
 public function download($url, $filePath)
 {
     $dir = IO\Path::getDirectory($filePath);
     IO\Directory::createDirectory($dir);
     $file = new IO\File($filePath);
     $handler = $file->open("w+");
     if ($handler !== false) {
         $this->setOutputStream($handler);
         $res = $this->query(self::HTTP_GET, $url);
         fclose($handler);
         return $res;
     }
     return false;
 }