@@ -41,7 +41,7 @@ class DirectoryChecker
4141 *
4242 * @return bool|string
4343 */
44- public static function getDirectoryStatus ($ path , $ mode = 0777 , $ redirectFile = null )
44+ public static function getDirectoryStatus ($ path , int $ mode = 0777 , $ redirectFile = null )
4545 {
4646 $ pathIcon16 = \Xmf \Module \Admin::iconUrl ('' , '16 ' );
4747
@@ -99,12 +99,16 @@ public static function getDirectoryStatus($path, $mode = 0777, $redirectFile = n
9999 *
100100 * @return bool
101101 */
102- public static function createDirectory ($ target , $ mode = 0777 )
102+ public static function createDirectory ($ target , int $ mode = 0777 )
103103 {
104104 $ target = \str_replace ('.. ' , '' , $ target );
105105
106106 // https://www.php.net/manual/en/function.mkdir.php
107- return \is_dir ($ target ) || (self ::createDirectory (\dirname ($ target ), $ mode ) && !\mkdir ($ target , $ mode ) && !\is_dir ($ target ));
107+ return \is_dir ($ target )
108+ || (
109+ self ::createDirectory (\dirname ($ target ), $ mode )
110+ && (\mkdir ($ target , $ mode ) || \is_dir ($ target ))
111+ );
108112 }
109113
110114 /**
@@ -113,7 +117,7 @@ public static function createDirectory($target, $mode = 0777)
113117 *
114118 * @return bool
115119 */
116- public static function setDirectoryPermissions ($ target , $ mode = 0777 )
120+ public static function setDirectoryPermissions ($ target , int $ mode = 0777 )
117121 {
118122 $ target = \str_replace ('.. ' , '' , $ target );
119123
@@ -134,26 +138,23 @@ public static function dirExists($dir_path)
134138$ op = Request::getString ('op ' , '' , 'POST ' );
135139switch ($ op ) {
136140 case 'createdir ' :
137- if (\Xmf \Request::hasVar ('path ' , 'POST ' )) {
138- $ path = $ _POST ['path ' ];
139- }
140- if (\Xmf \Request::hasVar ('redirect ' , 'POST ' )) {
141- $ redirect = $ _POST ['redirect ' ];
141+ if (!\Xmf \Request::hasVar ('path ' , 'POST ' ) || !\Xmf \Request::hasVar ('redirect ' , 'POST ' )) {
142+ break ;
142143 }
144+ $ path = \Xmf \Request::getString ('path ' ,'' , 'POST ' );
145+ $ redirect = \Xmf \Request::getString ('redirect ' ,'' , 'POST ' );
143146 $ msg = DirectoryChecker::createDirectory ($ path ) ? \constant ('CO_ ' . $ moduleDirNameUpper . '_ ' . 'DC_DIRCREATED ' ) : \constant ('CO_ ' . $ moduleDirNameUpper . '_ ' . 'DC_DIRNOTCREATED ' );
144147 \redirect_header ($ redirect , 2 , $ msg . ': ' . $ path );
145148 break ;
146149 case 'setdirperm ' :
147- if (\Xmf \Request::hasVar ('path ' , 'POST ' )) {
148- $ path = $ _POST ['path ' ];
149- }
150- if (\Xmf \Request::hasVar ('redirect ' , 'POST ' )) {
151- $ redirect = $ _POST ['redirect ' ];
152- }
153- if (\Xmf \Request::hasVar ('mode ' , 'POST ' )) {
154- $ mode = $ _POST ['mode ' ];
150+ if (!\Xmf \Request::hasVar ('path ' , 'POST ' ) || !\Xmf \Request::hasVar ('redirect ' , 'POST ' ) || !\Xmf \Request::hasVar ('mode ' , 'POST ' )) {
151+ break ;
155152 }
153+ $ path = \Xmf \Request::getString ('path ' ,'' , 'POST ' );
154+ $ redirect = \Xmf \Request::getString ('redirect ' ,'' , 'POST ' );
155+ $ mode = \Xmf \Request::getInt ('mode ' ,0 , 'POST ' );
156156 $ msg = DirectoryChecker::setDirectoryPermissions ($ path , $ mode ) ? \constant ('CO_ ' . $ moduleDirNameUpper . '_ ' . 'DC_PERMSET ' ) : \constant ('CO_ ' . $ moduleDirNameUpper . '_ ' . 'DC_PERMNOTSET ' );
157+
157158 \redirect_header ($ redirect , 2 , $ msg . ': ' . $ path );
158159 break ;
159160}
0 commit comments