Overview

Namespaces

  • webfilesframework
    • codegeneration
      • general
      • php
    • core
      • datastore
        • functions
          • filter
          • sorting
        • types
          • database
            • resultHandler
          • directory
          • googlecalendar
          • mail
          • remote
      • datasystem
        • database
        • file
          • format
            • media
              • image
                • handler
          • system
            • dropbox
      • datatypes
        • time
      • time
    • io
      • form
        • formItem
        • validation
        • webfile
      • request

Classes

  • webfilesframework\codegeneration\general\MAbstractClass
  • webfilesframework\codegeneration\general\MAbstractClassAttribute
  • webfilesframework\codegeneration\general\MAbstractClassMethod
  • webfilesframework\codegeneration\general\MAbstractClassMethodParameter
  • webfilesframework\codegeneration\general\MAbstractCodeItem
  • webfilesframework\codegeneration\MCodeItemFactory
  • webfilesframework\codegeneration\MProgrammingLanguage
  • webfilesframework\codegeneration\MWebfileClassGeneration
  • webfilesframework\codegeneration\php\MPhpClassAttribute
  • webfilesframework\codegeneration\php\MPhpClassMethod
  • webfilesframework\codegeneration\php\MPhpClassMethodParameter
  • webfilesframework\codegeneration\php\MPhpWebfileClass
  • webfilesframework\core\datastore\functions\filter\MSubstringFiltering
  • webfilesframework\core\datastore\functions\sorting\MAscendingSorting
  • webfilesframework\core\datastore\functions\sorting\MDescendingSorting
  • webfilesframework\core\datastore\MAbstractCachableDatastore
  • webfilesframework\core\datastore\MAbstractDatastore
  • webfilesframework\core\datastore\MCombinedDatastore
  • webfilesframework\core\datastore\MDatastoreFactory
  • webfilesframework\core\datastore\MDatastoreTransfer
  • webfilesframework\core\datastore\types\database\MDatabaseDatastore
  • webfilesframework\core\datastore\types\database\MSampleWebfile
  • webfilesframework\core\datastore\types\database\resultHandler\MMysqlResultHandler
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastore
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreMetainformation
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreWebfile
  • webfilesframework\core\datastore\types\googlecalendar\MEvent
  • webfilesframework\core\datastore\types\googlecalendar\MGoogleCalendarDatastore
  • webfilesframework\core\datastore\types\mail\MImapDatastore
  • webfilesframework\core\datastore\types\mail\MMail
  • webfilesframework\core\datastore\types\mail\MMailAccount
  • webfilesframework\core\datastore\types\remote\MRemoteDatastore
  • webfilesframework\core\datastore\types\remote\MRemoteDatastoreEndpoint
  • webfilesframework\core\datasystem\database\MDatabaseConnection
  • webfilesframework\core\datasystem\database\MDatabaseDatatypes
  • webfilesframework\core\datasystem\database\MDatabaseTable
  • webfilesframework\core\datasystem\database\MDatabaseTableColumn
  • webfilesframework\core\datasystem\file\format\media\image\handler\MAbstractImageLibraryHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MGdHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MImageMagickHandler
  • webfilesframework\core\datasystem\file\format\media\image\MImage
  • webfilesframework\core\datasystem\file\format\media\image\MQrCodeImage
  • webfilesframework\core\datasystem\file\format\media\MYoutubeVideo
  • webfilesframework\core\datasystem\file\format\MWebfile
  • webfilesframework\core\datasystem\file\format\MWebfileStream
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxAccount
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxDirectory
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxFile
  • webfilesframework\core\datasystem\file\system\MDirectory
  • webfilesframework\core\datasystem\file\system\MFile
  • webfilesframework\core\datatypes\time\MTimestampHelper
  • webfilesframework\core\time\MTimespan
  • webfilesframework\core\time\MWeekday
  • webfilesframework\io\form\formItem\MAbstractFormItem
  • webfilesframework\io\form\formItem\MCheckboxesFormItem
  • webfilesframework\io\form\formItem\MDateFormItem
  • webfilesframework\io\form\formItem\MDateTimeFormItem
  • webfilesframework\io\form\formItem\MDropdownMenueFormItem
  • webfilesframework\io\form\formItem\MHiddenFormItem
  • webfilesframework\io\form\formItem\MHtmlTextareaFormItem
  • webfilesframework\io\form\formItem\MPasswordFormItem
  • webfilesframework\io\form\formItem\MTextareaFormItem
  • webfilesframework\io\form\formItem\MTextfieldFormItem
  • webfilesframework\io\form\formItem\MTimeFormItem
  • webfilesframework\io\form\formItem\MWeekdayFormItem
  • webfilesframework\io\form\MForm
  • webfilesframework\io\form\MFormItemFactory
  • webfilesframework\io\form\validation\MValidator
  • webfilesframework\io\form\webfile\MWebfileFormHandler
  • webfilesframework\io\form\webfile\MWebfileFormVisualizer
  • webfilesframework\io\request\MAbstractHttpRequest
  • webfilesframework\io\request\MGetHttpRequest
  • webfilesframework\io\request\MPostHttpRequest
  • webfilesframework\io\request\MUrl

Interfaces

  • webfilesframework\core\datastore\functions\MIDatastoreFunction
  • webfilesframework\core\datastore\MISingleDatasourceDatastore
  • webfilesframework\core\datastore\types\database\resultHandler\MIResultHandler
  • webfilesframework\core\datastore\types\googlecalendar\MISecretStore

Exceptions

  • webfilesframework\core\datastore\MDatastoreException
  • webfilesframework\core\datastore\types\database\MDatabaseDatastoreException
  • webfilesframework\MWebfilesFrameworkException
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace webfilesframework\core\datasystem\file\system;
  4: 
  5: 
  6: /**
  7:  * Encapsulates the access on directories.
  8:  *
  9:  * @author     Sebastian Monzel < mail@sebastianmonzel.de >
 10:  * @since      0.1.7
 11:  */
 12: class MDirectory extends MFile
 13: {
 14: 
 15:     protected $m_sPath;
 16: 
 17:     public function __construct($p_sPath)
 18:     {
 19:         parent::__construct($p_sPath);
 20:         $this->m_sPath = $p_sPath;
 21:     }
 22: 
 23: 
 24:     /**
 25:      * Returns the names of all files in the directory as an array.
 26:      * @return array array with file objects
 27:      * @throws \Exception
 28:      */
 29:     public function getFiles()
 30:     {
 31: 
 32:         $filenames = array();
 33: 
 34:         if ( ! $this->exists() ) {
 35:             throw new \Exception("file '" . $this->m_sPath . "' does not exist.");
 36:         }
 37: 
 38:         $filewebfiles = array();
 39: 
 40:         if ($oDirectoryHandle = opendir($this->m_sPath)) {
 41:             while (false !== ($filename = readdir($oDirectoryHandle))) {
 42:                 if ($filename != "." && $filename != ".." && (!is_dir($this->m_sPath . "/" . $filename))) {
 43:                     array_push($filenames, $filename);
 44:                 }
 45:             }
 46:             asort($filenames);
 47: 
 48:             foreach ($filenames as $filename) {
 49:                 $filewebfile = new MFile($this->getPath() . "/" . $filename);
 50:                 array_push($filewebfiles, $filewebfile);
 51:             }
 52:         }
 53:         return $filewebfiles;
 54:     }
 55: 
 56:     /**
 57:      * @param $count
 58:      *
 59:      * @return array
 60:      * @throws \Exception
 61:      */
 62:     public function getLatestFiles($count)
 63:     {
 64: 
 65:         $filesArray = $this->getFiles();
 66:         $latestFilesArray = array_slice($filesArray, $count * -1);
 67:         return $latestFilesArray;
 68:     }
 69: 
 70:     /**
 71:      * Returns the names of all files in the directory as an array.
 72:      * @return array with filenames
 73:      * @throws \Exception
 74:      */
 75:     public function getFileNames()
 76:     {
 77: 
 78:         $filesArray = $this->getFiles();
 79:         $filenamesArray = array();
 80: 
 81:         foreach ($filesArray as $file) {
 82:             $sFileName = $file->getName();
 83:             array_push($filenamesArray, $sFileName);
 84:         }
 85:         sort($filenamesArray);
 86:         return $filenamesArray;
 87:     }
 88: 
 89:     /**
 90:      * Returns the subdirectories of the current directory.
 91:      *
 92:      * @return array list of directories
 93:      */
 94:     public function getSubdirectories()
 95:     {
 96:         $directories = array();
 97:         if ($directoryHandle = opendir($this->m_sPath)) {
 98:             while (false !== ($sFileName = readdir($directoryHandle))) {
 99:                 if (
100:                     $sFileName != "."
101:                         && $sFileName != ".."
102:                         && (is_dir($this->m_sPath . "/" . $sFileName))) {
103: 
104:                     array_push($directories, $sFileName);
105:                 }
106:             }
107:         }
108:         sort($directories);
109:         return $directories;
110:     }
111: 
112:     /**
113:      * Creates the present directory.
114:      */
115:     public function create()
116:     {
117:         mkdir($this->m_sPath, 0700, TRUE);
118:     }
119: 
120:     /**
121:      * Creates a subdirectory in the present directory.
122:      * @param $p_sName
123:      * @return MDirectory
124:      */
125:     public function createSubDirectoryIfNotExists($p_sName)
126:     {
127: 
128:         $subdirectoryPath = $this->m_sPath . "/" . $p_sName;
129: 
130:         $subdirectory = new MDirectory($subdirectoryPath);
131: 
132:         if (!$subdirectory->exists()) {
133:             mkdir($subdirectoryPath);
134:         }
135: 
136:         return $subdirectory;
137:     }
138: 
139:     /**
140:      * Returns the manually defined name of the folder.
141:      * @return String folderName
142:      */
143:     public function getPath()
144:     {
145:         return $this->m_sPath;
146:     }
147: 
148:     /**
149:      * Checks if the present directory exists or not.
150:      *
151:      * @return boolean Returns if the present directory exists or not.
152:      */
153:     public function exists()
154:     {
155:         return file_exists($this->m_sPath);
156:     }
157: 
158:     public function isWritable()
159:     {
160:         return is_writable($this->m_sPath);
161:     }
162: 
163: }
164: 
API documentation generated by ApiGen