Joostina CMS / CMF v2.* API
  • Docs
  • Package
  • Class
  • Tree
  • Todo
Overview

Packages

  • Components
    • Acls
      • Models
        • Admin
        • Site
    • BlogCategory
      • Models
        • Admin
        • Site
    • Blogs
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Coder
      • Controllers
        • Admin
      • Models
        • Admin
    • Comments
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • CommentsCounter
      • Models
        • Admin
        • Site
    • Mainpage
      • Controllers
        • Site
    • News
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Pages
      • Controllers
        • Admin
        • Site
      • Models
        • Site
    • Search
      • Controllers
        • Site
    • Site
      • Controllers
        • Admin
        • Site
    • Sitemap
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
    • Test
      • Controllers
        • Site
    • Torrents
      • Controllers
        • Site
    • Users
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
  • Compression
  • Core
    • Libraries
      • Arhive
      • Array
      • Attached
      • Autoadmin
      • Autoloader
      • Benchmark
      • Breadcrumbs
      • Cache
      • Config
      • Cookie
      • Csrf
      • Database
        • Drivers
          • Interfaces
      • Datetime
      • Debug
      • Editor
      • Events
      • File
      • Filter
      • Flashmessage
      • Folder
      • Hit
      • Html
      • Image
      • Inflector
      • Inputfilter
      • Libraries
      • Mail
      • Module
      • Nestedset
      • Pager
      • Pages
      • Params
      • Randomizer
      • Request
      • RobotLoader
      • Route
      • Security
      • Session
      • Static
      • String
      • Text
      • Trash
      • Validate
  • Email
  • Extra
    • Libraries
      • Basket
  • Joostina
    • Controller
    • Core
    • Document
  • JSMin
  • Libraries
    • Extra
      • Basket
        • Models
          • Site
  • None
  • Plugins
    • Autoadmin
    • Editor
    • Sitemap
  • SimpleMail
  • Vendors
    • Libraries
      • Email

Classes

  • joosFolder
  1: <?php defined('_JOOS_CORE') or exit();
  2: 
  3: /**
  4:  * Работа с каталогами файловой системы
  5:  *
  6:  * @version    1.0
  7:  * @package    Core\Libraries
  8:  * @subpackage Folder
  9:  * @category   Libraries
 10:  * @author     Joostina Team <info@joostina.ru>
 11:  * @copyright  (C) 2007-2012 Joostina Team
 12:  * @license    MIT License http://www.opensource.org/licenses/mit-license.php
 13:  * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
 14:  *
 15:  * */
 16: class joosFolder
 17: {
 18:     /**
 19:      * Проверка существования каталога
 20:      *
 21:      * @param string $location полный путь к каталогу
 22:      *
 23:      * @return bool наличие указанного каталога
 24:      */
 25:     public static function exists($location)
 26:     {
 27:         $location = (string) $location;
 28: 
 29:         return (bool) (file_exists($location) && is_dir($location));
 30:     }
 31: 
 32:     /**
 33:      * Проверка прав доступа на чтение содержимого каталога
 34:      *
 35:      * @param string $location полный путь к каталогу
 36:      *
 37:      * @return bool результат проверки доступа на запись в указанный каталог
 38:      */
 39:     public static function is_readable($location)
 40:     {
 41:         return (bool) is_readable($location);
 42:     }
 43: 
 44:     /**
 45:      * Проверка прав доступа к каталогу на запись
 46:      *
 47:      * @param string $location полный путь к каталогу
 48:      *
 49:      * @return bool результат проверки доступа на запись в указанный каталог
 50:      */
 51:     public static function is_writable($location)
 52:     {
 53:         return (bool) is_writable($location);
 54:     }
 55: 
 56:     /**
 57:      * Создание каталога с требуемыми правами доступа
 58:      *
 59:      * @param string $location полный путь к каталогу
 60:      * @param int    $chmod    права доступа в соответсвии с условиями работы стандартной php функции chmod
 61:      *
 62:      * @return bool результат создания каталога
 63:      */
 64:     public static function create($location, $chmod = 0755)
 65:     {
 66:         return (!self::exists($location)) ? mkdir((string) $location, $chmod, true) : true;
 67:     }
 68: 
 69:     /**
 70:      * Удаление каталога со всеми вложенными файлами и подкаталогами
 71:      *
 72:      * @param string $location полный путь к каталогу
 73:      *
 74:      * @return bool результат полного удаления каталога и вложенных файлов и каталогов
 75:      */
 76:     public static function delete($location)
 77:     {
 78:         if (is_dir($location) && file_exists($location)) {
 79:             foreach (glob($location . '/*') as $file) {
 80:                 if (!(is_dir($file) ? joosFolder::delete($file) : joosFile::delete($file))) {
 81:                     return false;
 82:                 }
 83: 
 84:             }
 85: 
 86:             return rmdir($location);
 87:         }
 88: 
 89:         return false;
 90:     }
 91: 
 92:     /**
 93:      * Очистка каталога от вложенных файлов и подкаталогов
 94:      *
 95:      * @param string $location полный путь к каталогу
 96:      *
 97:      * @return bool результат очистка каталога
 98:      */
 99:     public static function clear($location)
100:     {
101:         /*
102:           $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($location),
103:           RecursiveIteratorIterator::CHILD_FIRST);
104:           foreach ($iterator as $path) {
105:           if ($path->isDir()) {
106:           $location = $path->__toString();
107:           self::delete($location);
108:           } else {
109:           $filename = $path->__toString();
110:           if (joosFile::is_exists($filename)) {
111:           joosFile::delete($filename);
112:           }
113:           }
114:           }
115:          */
116: 
117:         return (bool) 1;
118:     }
119: 
120:     /**
121:      * Переименование/перемещение каталога
122:      * На перемещенный каталог устанавливаются требуемые права доступа
123:      *
124:      * @param string $location_from полный путь к каталогу со старым именем
125:      * @param string $location_to   полный путь к каталогу с новым именем
126:      * @param int    $chmod         права доступа в соответсвии с условиями работы стандартной php функции chmod
127:      *
128:      * @return bool результат переименования каталога
129:      */
130:     public static function rename($location_from, $location_to, $chmod = false)
131:     {
132:         return (bool) 1;
133:     }
134: 
135:     /**
136:      * Копирование каталога со всеми вложенными файлами и подкаталогами
137:      * Содержимое копируется в создаваемый каталог, на него так же можно сразу установить требуемые права доступа
138:      *
139:      * @param string $location_from полный путь к каталогу - источнику
140:      * @param string $location_to   полный путь к каталогу - получателю
141:      * @param int    $chmod         права доступа в соответсвии с условиями работы стандартной php функции chmod
142:      *
143:      * @return bool результат капорования каталога
144:      */
145:     public static function copy($location_from, $location_to, $chmod = false)
146:     {
147:         return (bool) 1;
148:     }
149: 
150:     /**
151:      * Смена прав доступа к каталогу с возможностью расстановки прав рекурсивно
152:      *
153:      * @param string $location  полный путь к каталогу
154:      * @param int    $chmod     права доступа в соответсвии с условиями работы стандартной php функции chmod
155:      * @param bool   $recursive флаг установки прав доступа рекурсивно внутрь, по умолчанию права ставятся без рекурсии
156:      *
157:      * @return bool результат смены прав доступа
158:      */
159:     public static function set_chmod($location, $chmod, $recursive = false)
160:     {
161:         return (bool) 1;
162:     }
163: 
164:     /**
165:      * Подсчет размера занимаемого каталогом со всеми вложенными файлами и подкаталогами
166:      *
167:      * @param string $location полный путь к каталогу
168:      *
169:      * @return int размер каталога в байтах
170:      */
171:     public static function get_size($location)
172:     {
173:         return (int) 1;
174:     }
175: 
176:     /**
177:      * Получение списка файлов и подкаталогов каталога, с возможностью рекурсивного вывода вложенных подкаталогов
178:      *
179:      * @param string $location полный путь к каталогу
180:      * @param array  $params   массив параметров вывода списка файлов - расширение, только файлы/каталоги, включая-исключая расширения, рекурсия внутрь
181:      *
182:      * @return array массив вложенных файлов и каталогов
183:      */
184:     public static function get_file_list($location, array $params = array())
185:     {
186:         return array();
187:     }
188: 
189:     /**
190:      * Создание безопасного имени для каталога
191:      * Работает по принципу joosFile::get_safe_name, но из названия дополнительно удаляются точки
192:      *
193:      * @param string $location полный путь к каталогу
194:      *
195:      * @return string безопасное имя для каталога
196:      */
197:     public static function get_safe_name($location)
198:     {
199:         $location = str_replace('.', '-', $location);
200: 
201:         return joosFile::make_safe_name($location);
202:     }
203: 
204: }
205: 
206: /**
207:  * Обработчик ошибок для библиотеки joosFolder
208:  */
209: class joosFolderLibrariesException extends joosException
210: {
211: }
212: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team