@@ -8,16 +8,19 @@ discard block |
||
| 8 | 8 | global $_PAGE; // page view state object. Usage $_PAGE['vs']['propertyname'] = $value; |
| 9 | 9 | |
| 10 | 10 | // Content manager wrapper class |
| 11 | -class ManagerAPI { |
|
| 11 | +class ManagerAPI |
|
| 12 | +{ |
|
| 12 | 13 | |
| 13 | 14 | var $action; // action directive |
| 14 | 15 | |
| 15 | - function __construct(){ |
|
| 16 | + function __construct() |
|
| 17 | + { |
|
| 16 | 18 | global $action; |
| 17 | 19 | $this->action = $action; // set action directive |
| 18 | 20 | } |
| 19 | 21 | |
| 20 | - function initPageViewState($id=0){ |
|
| 22 | + function initPageViewState($id=0) |
|
| 23 | + { |
|
| 21 | 24 | global $_PAGE; |
| 22 | 25 | $vsid = isset($_SESSION["mgrPageViewSID"]) ? $_SESSION["mgrPageViewSID"] : ''; |
| 23 | 26 | if($vsid!=$this->action) { |
@@ -28,33 +31,38 @@ discard block |
||
| 28 | 31 | } |
| 29 | 32 | |
| 30 | 33 | // save page view state - not really necessary, |
| 31 | - function savePageViewState($id=0){ |
|
| 34 | + function savePageViewState($id=0) |
|
| 35 | + { |
|
| 32 | 36 | global $_PAGE; |
| 33 | 37 | $_SESSION["mgrPageViewSDATA"] = $_PAGE['vs']; |
| 34 | 38 | $_SESSION["mgrPageViewSID"] = $id>0 ? $id:$this->action; |
| 35 | 39 | } |
| 36 | 40 | |
| 37 | 41 | // check for saved form |
| 38 | - function hasFormValues() { |
|
| 39 | - if(isset($_SESSION["mgrFormValueId"])) { |
|
| 42 | + function hasFormValues() |
|
| 43 | + { |
|
| 44 | + if(isset($_SESSION["mgrFormValueId"])) { |
|
| 40 | 45 | if($this->action==$_SESSION["mgrFormValueId"]) { |
| 41 | 46 | return true; |
| 42 | - } |
|
| 43 | - else { |
|
| 47 | + } else { |
|
| 44 | 48 | $this->clearSavedFormValues(); |
| 45 | 49 | } |
| 46 | 50 | } |
| 47 | 51 | return false; |
| 48 | 52 | } |
| 49 | 53 | // saved form post from $_POST |
| 50 | - function saveFormValues($id=0){ |
|
| 54 | + function saveFormValues($id=0) |
|
| 55 | + { |
|
| 51 | 56 | $_SESSION["mgrFormValues"] = $_POST; |
| 52 | 57 | $_SESSION["mgrFormValueId"] = $id>0 ? $id:$this->action; |
| 53 | 58 | } |
| 54 | 59 | // load saved form values into $_POST |
| 55 | - function loadFormValues(){ |
|
| 60 | + function loadFormValues() |
|
| 61 | + { |
|
| 56 | 62 | |
| 57 | - if(!$this->hasFormValues()) return false; |
|
| 63 | + if(!$this->hasFormValues()) { |
|
| 64 | + return false; |
|
| 65 | + } |
|
| 58 | 66 | |
| 59 | 67 | $p = $_SESSION["mgrFormValues"]; |
| 60 | 68 | $this->clearSavedFormValues(); |
@@ -64,31 +72,41 @@ discard block |
||
| 64 | 72 | return true; |
| 65 | 73 | } |
| 66 | 74 | // clear form post |
| 67 | - function clearSavedFormValues(){ |
|
| 75 | + function clearSavedFormValues() |
|
| 76 | + { |
|
| 68 | 77 | unset($_SESSION["mgrFormValues"]); |
| 69 | 78 | unset($_SESSION["mgrFormValueId"]); |
| 70 | 79 | } |
| 71 | 80 | |
| 72 | - function getHashType($db_value='') { // md5 | v1 | phpass |
|
| 81 | + function getHashType($db_value='') |
|
| 82 | + { |
|
| 83 | +// md5 | v1 | phpass |
|
| 73 | 84 | $c = substr($db_value,0,1); |
| 74 | - if($c==='$') return 'phpass'; |
|
| 75 | - elseif(strlen($db_value)===32) return 'md5'; |
|
| 76 | - elseif($c!=='$' && strpos($db_value,'>')!==false) return 'v1'; |
|
| 77 | - else return 'unknown'; |
|
| 85 | + if($c==='$') { |
|
| 86 | + return 'phpass'; |
|
| 87 | + } elseif(strlen($db_value)===32) { |
|
| 88 | + return 'md5'; |
|
| 89 | + } elseif($c!=='$' && strpos($db_value,'>')!==false) { |
|
| 90 | + return 'v1'; |
|
| 91 | + } else { |
|
| 92 | + return 'unknown'; |
|
| 93 | + } |
|
| 78 | 94 | } |
| 79 | 95 | |
| 80 | 96 | function genV1Hash($password, $seed='1') |
| 81 | - { // $seed is user_id basically |
|
| 97 | + { |
|
| 98 | +// $seed is user_id basically |
|
| 82 | 99 | global $modx; |
| 83 | 100 | |
| 84 | - if(isset($modx->config['pwd_hash_algo']) && !empty($modx->config['pwd_hash_algo'])) |
|
| 85 | - $algorithm = $modx->config['pwd_hash_algo']; |
|
| 86 | - else $algorithm = 'UNCRYPT'; |
|
| 101 | + if(isset($modx->config['pwd_hash_algo']) && !empty($modx->config['pwd_hash_algo'])) { |
|
| 102 | + $algorithm = $modx->config['pwd_hash_algo']; |
|
| 103 | + } else { |
|
| 104 | + $algorithm = 'UNCRYPT'; |
|
| 105 | + } |
|
| 87 | 106 | |
| 88 | 107 | $salt = md5($password . $seed); |
| 89 | 108 | |
| 90 | - switch($algorithm) |
|
| 91 | - { |
|
| 109 | + switch($algorithm) { |
|
| 92 | 110 | case 'BLOWFISH_Y': |
| 93 | 111 | $salt = '$2y$07$' . substr($salt,0,22); |
| 94 | 112 | break; |
@@ -106,11 +124,11 @@ discard block |
||
| 106 | 124 | break; |
| 107 | 125 | } |
| 108 | 126 | |
| 109 | - if($algorithm!=='UNCRYPT') |
|
| 110 | - { |
|
| 127 | + if($algorithm!=='UNCRYPT') { |
|
| 111 | 128 | $password = sha1($password) . crypt($password,$salt); |
| 129 | + } else { |
|
| 130 | + $password = sha1($salt.$password); |
|
| 112 | 131 | } |
| 113 | - else $password = sha1($salt.$password); |
|
| 114 | 132 | |
| 115 | 133 | $result = strtolower($algorithm) . '>' . md5($salt.$password) . substr(md5($salt),0,8); |
| 116 | 134 | |
@@ -124,9 +142,9 @@ discard block |
||
| 124 | 142 | $rs = $modx->db->select('password',$tbl_manager_users,"id='{$uid}'"); |
| 125 | 143 | $password = $modx->db->getValue($rs); |
| 126 | 144 | |
| 127 | - if(strpos($password,'>')===false) $algo = 'NOSALT'; |
|
| 128 | - else |
|
| 129 | - { |
|
| 145 | + if(strpos($password,'>')===false) { |
|
| 146 | + $algo = 'NOSALT'; |
|
| 147 | + } else { |
|
| 130 | 148 | $algo = substr($password,0,strpos($password,'>')); |
| 131 | 149 | } |
| 132 | 150 | return strtoupper($algo); |
@@ -135,27 +153,34 @@ discard block |
||
| 135 | 153 | function checkHashAlgorithm($algorithm='') |
| 136 | 154 | { |
| 137 | 155 | $result = false; |
| 138 | - if (!empty($algorithm)) |
|
| 139 | - { |
|
| 140 | - switch ($algorithm) |
|
| 141 | - { |
|
| 156 | + if (!empty($algorithm)) { |
|
| 157 | + switch ($algorithm) { |
|
| 142 | 158 | case 'BLOWFISH_Y': |
| 143 | - if (defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1) |
|
| 144 | - { |
|
| 145 | - if (version_compare('5.3.7', PHP_VERSION) <= 0) $result = true; |
|
| 159 | + if (defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1) { |
|
| 160 | + if (version_compare('5.3.7', PHP_VERSION) <= 0) { |
|
| 161 | + $result = true; |
|
| 162 | + } |
|
| 146 | 163 | } |
| 147 | 164 | break; |
| 148 | 165 | case 'BLOWFISH_A': |
| 149 | - if (defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1) $result = true; |
|
| 166 | + if (defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1) { |
|
| 167 | + $result = true; |
|
| 168 | + } |
|
| 150 | 169 | break; |
| 151 | 170 | case 'SHA512': |
| 152 | - if (defined('CRYPT_SHA512') && CRYPT_SHA512 == 1) $result = true; |
|
| 171 | + if (defined('CRYPT_SHA512') && CRYPT_SHA512 == 1) { |
|
| 172 | + $result = true; |
|
| 173 | + } |
|
| 153 | 174 | break; |
| 154 | 175 | case 'SHA256': |
| 155 | - if (defined('CRYPT_SHA256') && CRYPT_SHA256 == 1) $result = true; |
|
| 176 | + if (defined('CRYPT_SHA256') && CRYPT_SHA256 == 1) { |
|
| 177 | + $result = true; |
|
| 178 | + } |
|
| 156 | 179 | break; |
| 157 | 180 | case 'MD5': |
| 158 | - if (defined('CRYPT_MD5') && CRYPT_MD5 == 1 && PHP_VERSION != '5.3.7') $result = true; |
|
| 181 | + if (defined('CRYPT_MD5') && CRYPT_MD5 == 1 && PHP_VERSION != '5.3.7') { |
|
| 182 | + $result = true; |
|
| 183 | + } |
|
| 159 | 184 | break; |
| 160 | 185 | case 'UNCRYPT': |
| 161 | 186 | $result = true; |
@@ -165,20 +190,24 @@ discard block |
||
| 165 | 190 | return $result; |
| 166 | 191 | } |
| 167 | 192 | |
| 168 | - function getSystemChecksum($check_files) { |
|
| 193 | + function getSystemChecksum($check_files) |
|
| 194 | + { |
|
| 169 | 195 | $_ = array(); |
| 170 | 196 | $check_files = trim($check_files); |
| 171 | 197 | $check_files = explode("\n", $check_files); |
| 172 | 198 | foreach($check_files as $file) { |
| 173 | 199 | $file = trim($file); |
| 174 | 200 | $file = MODX_BASE_PATH . $file; |
| 175 | - if(!is_file($file)) continue; |
|
| 201 | + if(!is_file($file)) { |
|
| 202 | + continue; |
|
| 203 | + } |
|
| 176 | 204 | $_[$file]= md5_file($file); |
| 177 | 205 | } |
| 178 | 206 | return serialize($_); |
| 179 | 207 | } |
| 180 | 208 | |
| 181 | - function getModifiedSystemFilesList($check_files, $checksum) { |
|
| 209 | + function getModifiedSystemFilesList($check_files, $checksum) |
|
| 210 | + { |
|
| 182 | 211 | $_ = array(); |
| 183 | 212 | $check_files = trim($check_files); |
| 184 | 213 | $check_files = explode("\n", $check_files); |
@@ -186,41 +215,52 @@ discard block |
||
| 186 | 215 | foreach($check_files as $file) { |
| 187 | 216 | $file = trim($file); |
| 188 | 217 | $filePath = MODX_BASE_PATH . $file; |
| 189 | - if(!is_file($filePath)) continue; |
|
| 190 | - if(md5_file($filePath) != $checksum[$filePath]) $_[] = $file; |
|
| 218 | + if(!is_file($filePath)) { |
|
| 219 | + continue; |
|
| 220 | + } |
|
| 221 | + if(md5_file($filePath) != $checksum[$filePath]) { |
|
| 222 | + $_[] = $file; |
|
| 223 | + } |
|
| 191 | 224 | } |
| 192 | 225 | return $_; |
| 193 | 226 | } |
| 194 | 227 | |
| 195 | - function setSystemChecksum($checksum) { |
|
| 228 | + function setSystemChecksum($checksum) |
|
| 229 | + { |
|
| 196 | 230 | global $modx; |
| 197 | 231 | $tbl_system_settings = $modx->getFullTableName('system_settings'); |
| 198 | 232 | $sql = "REPLACE INTO {$tbl_system_settings} (setting_name, setting_value) VALUES ('sys_files_checksum','" . $modx->db->escape($checksum) . "')"; |
| 199 | 233 | $modx->db->query($sql); |
| 200 | 234 | } |
| 201 | 235 | |
| 202 | - function checkSystemChecksum() { |
|
| 236 | + function checkSystemChecksum() |
|
| 237 | + { |
|
| 203 | 238 | global $modx; |
| 204 | 239 | |
| 205 | - if(!isset($modx->config['check_files_onlogin']) || empty($modx->config['check_files_onlogin'])) return '0'; |
|
| 240 | + if(!isset($modx->config['check_files_onlogin']) || empty($modx->config['check_files_onlogin'])) { |
|
| 241 | + return '0'; |
|
| 242 | + } |
|
| 206 | 243 | |
| 207 | 244 | $current = $this->getSystemChecksum($modx->config['check_files_onlogin']); |
| 208 | - if(empty($current)) return '0'; |
|
| 245 | + if(empty($current)) { |
|
| 246 | + return '0'; |
|
| 247 | + } |
|
| 209 | 248 | |
| 210 | - if(!isset($modx->config['sys_files_checksum']) || empty($modx->config['sys_files_checksum'])) |
|
| 211 | - { |
|
| 249 | + if(!isset($modx->config['sys_files_checksum']) || empty($modx->config['sys_files_checksum'])) { |
|
| 212 | 250 | $this->setSystemChecksum($current); |
| 213 | 251 | return '0'; |
| 214 | 252 | } |
| 215 | - if($current===$modx->config['sys_files_checksum']) $result = '0'; |
|
| 216 | - else { |
|
| 253 | + if($current===$modx->config['sys_files_checksum']) { |
|
| 254 | + $result = '0'; |
|
| 255 | + } else { |
|
| 217 | 256 | $result = $this->getModifiedSystemFilesList($modx->config['check_files_onlogin'], $modx->config['sys_files_checksum']); |
| 218 | 257 | } |
| 219 | 258 | |
| 220 | 259 | return $result; |
| 221 | 260 | } |
| 222 | 261 | |
| 223 | - function getLastUserSetting($key=false) { |
|
| 262 | + function getLastUserSetting($key=false) |
|
| 263 | + { |
|
| 224 | 264 | global $modx; |
| 225 | 265 | |
| 226 | 266 | $rs = $modx->db->select('*', $modx->getFullTableName('user_settings'), "user = '{$_SESSION['mgrInternalKey']}'"); |
@@ -233,15 +273,21 @@ discard block |
||
| 233 | 273 | } |
| 234 | 274 | } |
| 235 | 275 | |
| 236 | - if(!$key) return $usersettings; |
|
| 237 | - else return isset($usersettings[$key]) ? $usersettings[$key] : NULL; |
|
| 276 | + if(!$key) { |
|
| 277 | + return $usersettings; |
|
| 278 | + } else { |
|
| 279 | + return isset($usersettings[$key]) ? $usersettings[$key] : NULL; |
|
| 280 | + } |
|
| 238 | 281 | } |
| 239 | 282 | |
| 240 | - function saveLastUserSetting($settings, $val='') { |
|
| 283 | + function saveLastUserSetting($settings, $val='') |
|
| 284 | + { |
|
| 241 | 285 | global $modx; |
| 242 | 286 | |
| 243 | 287 | if(!empty($settings)) { |
| 244 | - if(!is_array($settings)) $settings = array($settings=>$val); |
|
| 288 | + if(!is_array($settings)) { |
|
| 289 | + $settings = array($settings=>$val); |
|
| 290 | + } |
|
| 245 | 291 | |
| 246 | 292 | foreach ($settings as $key => $val) { |
| 247 | 293 | $f = array(); |
@@ -256,7 +302,8 @@ discard block |
||
| 256 | 302 | } |
| 257 | 303 | } |
| 258 | 304 | |
| 259 | - function loadDatePicker($path) { |
|
| 305 | + function loadDatePicker($path) |
|
| 306 | + { |
|
| 260 | 307 | global $modx; |
| 261 | 308 | include_once($path); |
| 262 | 309 | $dp = new DATEPICKER(); |
@@ -24,7 +24,8 @@ discard block |
||
| 24 | 24 | // Obviously, since this code is in the public domain, the above are not |
| 25 | 25 | // requirements (there can be none), but merely suggestions. |
| 26 | 26 | // |
| 27 | -class PasswordHash { |
|
| 27 | +class PasswordHash |
|
| 28 | +{ |
|
| 28 | 29 | var $itoa64; |
| 29 | 30 | var $iteration_count_log2; |
| 30 | 31 | var $portable_hashes; |
@@ -34,8 +35,9 @@ discard block |
||
| 34 | 35 | { |
| 35 | 36 | $this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; |
| 36 | 37 | |
| 37 | - if ($iteration_count_log2 < 4 || $iteration_count_log2 > 31) |
|
| 38 | - $iteration_count_log2 = 8; |
|
| 38 | + if ($iteration_count_log2 < 4 || $iteration_count_log2 > 31) { |
|
| 39 | + $iteration_count_log2 = 8; |
|
| 40 | + } |
|
| 39 | 41 | $this->iteration_count_log2 = $iteration_count_log2; |
| 40 | 42 | |
| 41 | 43 | $this->portable_hashes = $portable_hashes; |
@@ -73,16 +75,20 @@ discard block |
||
| 73 | 75 | do { |
| 74 | 76 | $value = ord($input[$i++]); |
| 75 | 77 | $output .= $this->itoa64[$value & 0x3f]; |
| 76 | - if ($i < $count) |
|
| 77 | - $value |= ord($input[$i]) << 8; |
|
| 78 | + if ($i < $count) { |
|
| 79 | + $value |= ord($input[$i]) << 8; |
|
| 80 | + } |
|
| 78 | 81 | $output .= $this->itoa64[($value >> 6) & 0x3f]; |
| 79 | - if ($i++ >= $count) |
|
| 80 | - break; |
|
| 81 | - if ($i < $count) |
|
| 82 | - $value |= ord($input[$i]) << 16; |
|
| 82 | + if ($i++ >= $count) { |
|
| 83 | + break; |
|
| 84 | + } |
|
| 85 | + if ($i < $count) { |
|
| 86 | + $value |= ord($input[$i]) << 16; |
|
| 87 | + } |
|
| 83 | 88 | $output .= $this->itoa64[($value >> 12) & 0x3f]; |
| 84 | - if ($i++ >= $count) |
|
| 85 | - break; |
|
| 89 | + if ($i++ >= $count) { |
|
| 90 | + break; |
|
| 91 | + } |
|
| 86 | 92 | $output .= $this->itoa64[($value >> 18) & 0x3f]; |
| 87 | 93 | } while ($i < $count); |
| 88 | 94 | |
@@ -101,23 +107,27 @@ discard block |
||
| 101 | 107 | function crypt_private($password, $setting) |
| 102 | 108 | { |
| 103 | 109 | $output = '*0'; |
| 104 | - if (substr($setting, 0, 2) == $output) |
|
| 105 | - $output = '*1'; |
|
| 110 | + if (substr($setting, 0, 2) == $output) { |
|
| 111 | + $output = '*1'; |
|
| 112 | + } |
|
| 106 | 113 | |
| 107 | 114 | $id = substr($setting, 0, 3); |
| 108 | 115 | // We use "$P$", phpBB3 uses "$H$" for the same thing |
| 109 | - if ($id != '$P$' && $id != '$H$') |
|
| 110 | - return $output; |
|
| 116 | + if ($id != '$P$' && $id != '$H$') { |
|
| 117 | + return $output; |
|
| 118 | + } |
|
| 111 | 119 | |
| 112 | 120 | $count_log2 = strpos($this->itoa64, $setting[3]); |
| 113 | - if ($count_log2 < 7 || $count_log2 > 30) |
|
| 114 | - return $output; |
|
| 121 | + if ($count_log2 < 7 || $count_log2 > 30) { |
|
| 122 | + return $output; |
|
| 123 | + } |
|
| 115 | 124 | |
| 116 | 125 | $count = 1 << $count_log2; |
| 117 | 126 | |
| 118 | 127 | $salt = substr($setting, 4, 8); |
| 119 | - if (strlen($salt) != 8) |
|
| 120 | - return $output; |
|
| 128 | + if (strlen($salt) != 8) { |
|
| 129 | + return $output; |
|
| 130 | + } |
|
| 121 | 131 | |
| 122 | 132 | // We're kind of forced to use MD5 here since it's the only |
| 123 | 133 | // cryptographic primitive available in all versions of PHP |
@@ -208,26 +218,31 @@ discard block |
||
| 208 | 218 | $random = $this->get_random_bytes(16); |
| 209 | 219 | $hash = |
| 210 | 220 | crypt($password, $this->gensalt_blowfish($random)); |
| 211 | - if (strlen($hash) == 60) |
|
| 212 | - return $hash; |
|
| 221 | + if (strlen($hash) == 60) { |
|
| 222 | + return $hash; |
|
| 223 | + } |
|
| 213 | 224 | } |
| 214 | 225 | |
| 215 | 226 | if (CRYPT_EXT_DES == 1 && !$this->portable_hashes) { |
| 216 | - if (strlen($random) < 3) |
|
| 217 | - $random = $this->get_random_bytes(3); |
|
| 227 | + if (strlen($random) < 3) { |
|
| 228 | + $random = $this->get_random_bytes(3); |
|
| 229 | + } |
|
| 218 | 230 | $hash = |
| 219 | 231 | crypt($password, $this->gensalt_extended($random)); |
| 220 | - if (strlen($hash) == 20) |
|
| 221 | - return $hash; |
|
| 232 | + if (strlen($hash) == 20) { |
|
| 233 | + return $hash; |
|
| 234 | + } |
|
| 222 | 235 | } |
| 223 | 236 | |
| 224 | - if (strlen($random) < 6) |
|
| 225 | - $random = $this->get_random_bytes(6); |
|
| 237 | + if (strlen($random) < 6) { |
|
| 238 | + $random = $this->get_random_bytes(6); |
|
| 239 | + } |
|
| 226 | 240 | $hash = |
| 227 | 241 | $this->crypt_private($password, |
| 228 | 242 | $this->gensalt_private($random)); |
| 229 | - if (strlen($hash) == 34) |
|
| 230 | - return $hash; |
|
| 243 | + if (strlen($hash) == 34) { |
|
| 244 | + return $hash; |
|
| 245 | + } |
|
| 231 | 246 | |
| 232 | 247 | // Returning '*' on error is safe here, but would _not_ be safe |
| 233 | 248 | // in a crypt(3)-like function used _both_ for generating new |
@@ -242,8 +257,9 @@ discard block |
||
| 242 | 257 | } |
| 243 | 258 | |
| 244 | 259 | $hash = $this->crypt_private($password, $stored_hash); |
| 245 | - if (substr($hash,0,1) === '*') |
|
| 246 | - $hash = crypt($password, $stored_hash); |
|
| 260 | + if (substr($hash,0,1) === '*') { |
|
| 261 | + $hash = crypt($password, $stored_hash); |
|
| 262 | + } |
|
| 247 | 263 | |
| 248 | 264 | return ($hash===$stored_hash) ? true : false; |
| 249 | 265 | } |
@@ -10,14 +10,17 @@ |
||
| 10 | 10 | { |
| 11 | 11 | global $modx; |
| 12 | 12 | |
| 13 | - if($str=='') return ''; |
|
| 13 | + if($str=='') { |
|
| 14 | + return ''; |
|
| 15 | + } |
|
| 14 | 16 | |
| 15 | - if($encode=='') $encode = $modx->config['modx_charset']; |
|
| 17 | + if($encode=='') { |
|
| 18 | + $encode = $modx->config['modx_charset']; |
|
| 19 | + } |
|
| 16 | 20 | |
| 17 | 21 | $ent_str = htmlspecialchars($str, $flags, $encode); |
| 18 | 22 | |
| 19 | - if(!empty($str) && empty($ent_str)) |
|
| 20 | - { |
|
| 23 | + if(!empty($str) && empty($ent_str)) { |
|
| 21 | 24 | $detect_order = implode(',', mb_detect_order()); |
| 22 | 25 | $ent_str = mb_convert_encoding($str, $encode, $detect_order); |
| 23 | 26 | } |
@@ -6,9 +6,9 @@ |
||
| 6 | 6 | * Time: 14:17 |
| 7 | 7 | */ |
| 8 | 8 | |
| 9 | -if (!include_once(MODX_MANAGER_PATH . 'includes/extenders/modxmailer.class.inc.php')){ |
|
| 9 | +if (!include_once(MODX_MANAGER_PATH . 'includes/extenders/modxmailer.class.inc.php')) { |
|
| 10 | 10 | return false; |
| 11 | -}else{ |
|
| 11 | +} else { |
|
| 12 | 12 | $this->mail = new MODxMailer; |
| 13 | 13 | $this->mail->init($this); |
| 14 | 14 | return true; |
@@ -1,19 +1,22 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | -if( ! function_exists('f_owc')){ |
|
| 2 | +if( ! function_exists('f_owc')) { |
|
| 3 | 3 | /** |
| 4 | 4 | * @param $path |
| 5 | 5 | * @param $data |
| 6 | 6 | * @param null|int $mode |
| 7 | 7 | */ |
| 8 | - function f_owc($path, $data, $mode = null){ |
|
| 8 | + function f_owc($path, $data, $mode = null) |
|
| 9 | + { |
|
| 9 | 10 | try { |
| 10 | 11 | // make an attempt to create the file |
| 11 | 12 | $hnd = fopen($path, 'w'); |
| 12 | 13 | fwrite($hnd, $data); |
| 13 | 14 | fclose($hnd); |
| 14 | 15 | |
| 15 | - if(null !== $mode) chmod($path, $mode); |
|
| 16 | - }catch(Exception $e){ |
|
| 16 | + if(null !== $mode) { |
|
| 17 | + chmod($path, $mode); |
|
| 18 | + } |
|
| 19 | + } catch(Exception $e) { |
|
| 17 | 20 | // Nothing, this is NOT normal |
| 18 | 21 | unset($e); |
| 19 | 22 | } |
@@ -21,7 +24,9 @@ discard block |
||
| 21 | 24 | } |
| 22 | 25 | |
| 23 | 26 | $installMode = isset($_POST['installmode']) ? (int)$_POST['installmode'] : 0; |
| 24 | -if( ! isset($_lang)) $_lang = array(); |
|
| 27 | +if( ! isset($_lang)) { |
|
| 28 | + $_lang = array(); |
|
| 29 | +} |
|
| 25 | 30 | |
| 26 | 31 | echo '<div class="stepcontainer"> |
| 27 | 32 | <ul class="progressbar"> |
@@ -57,7 +62,7 @@ discard block |
||
| 57 | 62 | // check if iconv is available |
| 58 | 63 | echo '<p>' . $_lang['checking_iconv']; |
| 59 | 64 | $iconv = (int) function_exists('iconv'); |
| 60 | -if ($iconv == '0'){ |
|
| 65 | +if ($iconv == '0') { |
|
| 61 | 66 | echo '<span class="notok">' . $_lang['failed'].'</span></p><p><strong>'.$_lang['checking_iconv_note'].'</strong></p>'; |
| 62 | 67 | $errors++; |
| 63 | 68 | } else { |
@@ -119,7 +124,7 @@ discard block |
||
| 119 | 124 | |
| 120 | 125 | // File Browser directories exists? |
| 121 | 126 | echo '<p>'.$_lang['checking_if_images_exist']; |
| 122 | -switch(true){ |
|
| 127 | +switch(true) { |
|
| 123 | 128 | case !file_exists("../assets/images"): |
| 124 | 129 | case !file_exists("../assets/files"): |
| 125 | 130 | case !file_exists("../assets/backup"): |
@@ -134,7 +139,7 @@ discard block |
||
| 134 | 139 | |
| 135 | 140 | // File Browser directories writable? |
| 136 | 141 | echo '<p>'.$_lang['checking_if_images_writable']; |
| 137 | -switch(true){ |
|
| 142 | +switch(true) { |
|
| 138 | 143 | case !is_writable("../assets/images"): |
| 139 | 144 | case !is_writable("../assets/files"): |
| 140 | 145 | case !is_writable("../assets/backup"): |
@@ -268,7 +273,7 @@ discard block |
||
| 268 | 273 | if ($conn) { |
| 269 | 274 | echo '<p>'. $_lang['checking_mysql_strict_mode']; |
| 270 | 275 | $mysqlmode = mysqli_query($conn, "SELECT @@global.sql_mode"); |
| 271 | - if (mysqli_num_rows($mysqlmode) > 0){ |
|
| 276 | + if (mysqli_num_rows($mysqlmode) > 0) { |
|
| 272 | 277 | $modes = mysqli_fetch_array($mysqlmode, MYSQLI_NUM); |
| 273 | 278 | //$modes = array("STRICT_TRANS_TABLES"); // for testing |
| 274 | 279 | // print_r($modes); |
@@ -305,9 +310,9 @@ discard block |
||
| 305 | 310 | echo '<p>'; |
| 306 | 311 | echo $_lang['setup_cannot_continue'] . ' '; |
| 307 | 312 | |
| 308 | - if($errors > 1){ |
|
| 313 | + if($errors > 1) { |
|
| 309 | 314 | echo $errors . " " . $_lang['errors'] . $_lang['please_correct_errors'] . $_lang['and_try_again_plural']; |
| 310 | - }else{ |
|
| 315 | + } else { |
|
| 311 | 316 | echo $_lang['error'] . $_lang['please_correct_error'] . $_lang['and_try_again']; |
| 312 | 317 | } |
| 313 | 318 | |
@@ -343,23 +348,35 @@ discard block |
||
| 343 | 348 | <input type="hidden" value="<?php echo $_POST['installdata'] ?>" name="installdata" /> |
| 344 | 349 | <?php |
| 345 | 350 | $templates = isset ($_POST['template']) ? $_POST['template'] : array (); |
| 346 | - foreach ($templates as $i => $template) echo '<input type="hidden" name="template[]" value="'.$template.'" />'; |
|
| 351 | + foreach ($templates as $i => $template) { |
|
| 352 | + echo '<input type="hidden" name="template[]" value="'.$template.'" />'; |
|
| 353 | + } |
|
| 347 | 354 | |
| 348 | 355 | $tvs = isset ($_POST['tv']) ? $_POST['tv'] : array (); |
| 349 | - foreach ($tvs as $i => $tv) echo '<input type="hidden" name="tv[]" value="'.$tv.'" />'; |
|
| 356 | + foreach ($tvs as $i => $tv) { |
|
| 357 | + echo '<input type="hidden" name="tv[]" value="'.$tv.'" />'; |
|
| 358 | + } |
|
| 350 | 359 | |
| 351 | 360 | $chunks = isset ($_POST['chunk']) ? $_POST['chunk'] : array (); |
| 352 | - foreach ($chunks as $i => $chunk) echo '<input type="hidden" name="chunk[]" value="'.$chunk.'" />'; |
|
| 361 | + foreach ($chunks as $i => $chunk) { |
|
| 362 | + echo '<input type="hidden" name="chunk[]" value="'.$chunk.'" />'; |
|
| 363 | + } |
|
| 353 | 364 | |
| 354 | 365 | $snippets = isset ($_POST['snippet']) ? $_POST['snippet'] : array (); |
| 355 | - foreach ($snippets as $i => $snippet) echo '<input type="hidden" name="snippet[]" value="'.$snippet.'" />'; |
|
| 366 | + foreach ($snippets as $i => $snippet) { |
|
| 367 | + echo '<input type="hidden" name="snippet[]" value="'.$snippet.'" />'; |
|
| 368 | + } |
|
| 356 | 369 | |
| 357 | 370 | $plugins = isset ($_POST['plugin']) ? $_POST['plugin'] : array (); |
| 358 | - foreach ($plugins as $i => $plugin) echo '<input type="hidden" name="plugin[]" value="'.$plugin.'" />'; |
|
| 371 | + foreach ($plugins as $i => $plugin) { |
|
| 372 | + echo '<input type="hidden" name="plugin[]" value="'.$plugin.'" />'; |
|
| 373 | + } |
|
| 359 | 374 | |
| 360 | 375 | $modules = isset ($_POST['module']) ? $_POST['module'] : array (); |
| 361 | - foreach ($modules as $i => $module) echo '<input type="hidden" name="module[]" value="'.$module.'" />'; |
|
| 362 | -?> |
|
| 376 | + foreach ($modules as $i => $module) { |
|
| 377 | + echo '<input type="hidden" name="module[]" value="'.$module.'" />'; |
|
| 378 | + } |
|
| 379 | + ?> |
|
| 363 | 380 | </div> |
| 364 | 381 | |
| 365 | 382 | <h2><?php echo $_lang['agree_to_terms'];?></h2> |
@@ -1,20 +1,22 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | // Determine upgradeability |
| 3 | 3 | $upgradeable = 0; |
| 4 | -if (is_file($base_path . MGR_DIR . '/includes/config.inc.php')) { // Include the file so we can test its validity |
|
| 4 | +if (is_file($base_path . MGR_DIR . '/includes/config.inc.php')) { |
|
| 5 | +// Include the file so we can test its validity |
|
| 5 | 6 | include $base_path . MGR_DIR . '/includes/config.inc.php'; |
| 6 | 7 | // We need to have all connection settings - tho prefix may be empty so we have to ignore it |
| 7 | 8 | if (isset($dbase)) { |
| 8 | - if (!$conn = @mysqli_connect($database_server, $database_user, $database_password)) |
|
| 9 | - $upgradeable = isset($_POST['installmode']) && $_POST['installmode'] == 'new' ? 0 : 2; |
|
| 10 | - elseif (!@mysqli_select_db($conn, trim($dbase, '`'))) |
|
| 11 | - $upgradeable = isset($_POST['installmode']) && $_POST['installmode'] == 'new' ? 0 : 2; |
|
| 12 | - else |
|
| 13 | - $upgradeable = 1; |
|
| 9 | + if (!$conn = @mysqli_connect($database_server, $database_user, $database_password)) { |
|
| 10 | + $upgradeable = isset($_POST['installmode']) && $_POST['installmode'] == 'new' ? 0 : 2; |
|
| 11 | + } elseif (!@mysqli_select_db($conn, trim($dbase, '`'))) { |
|
| 12 | + $upgradeable = isset($_POST['installmode']) && $_POST['installmode'] == 'new' ? 0 : 2; |
|
| 13 | + } else { |
|
| 14 | + $upgradeable = 1; |
|
| 15 | + } |
|
| 16 | + } else { |
|
| 17 | + $upgradeable = 2; |
|
| 18 | + } |
|
| 14 | 19 | } |
| 15 | - else |
|
| 16 | - $upgradeable = 2; |
|
| 17 | -} |
|
| 18 | 20 | |
| 19 | 21 | $ph['moduleName'] = $moduleName; |
| 20 | 22 | $ph['displayNew'] = ($upgradeable!=0) ? 'display:none;' : ''; |
@@ -89,7 +89,8 @@ discard block |
||
| 89 | 89 | |
| 90 | 90 | $MAGPIE_ERROR = ""; |
| 91 | 91 | |
| 92 | -function fetch_rss ($url) { |
|
| 92 | +function fetch_rss ($url) |
|
| 93 | +{ |
|
| 93 | 94 | // initialize constants |
| 94 | 95 | init(); |
| 95 | 96 | |
@@ -104,8 +105,7 @@ discard block |
||
| 104 | 105 | $resp = _fetch_remote_file( $url ); |
| 105 | 106 | if ( is_success( $resp->status ) ) { |
| 106 | 107 | return _response_to_rss( $resp ); |
| 107 | - } |
|
| 108 | - else { |
|
| 108 | + } else { |
|
| 109 | 109 | error("Failed to fetch $url and cache is off"); |
| 110 | 110 | return false; |
| 111 | 111 | } |
@@ -174,8 +174,7 @@ discard block |
||
| 174 | 174 | // reset cache on 304 (at minutillo insistent prodding) |
| 175 | 175 | $cache->set($cache_key, $rss); |
| 176 | 176 | return $rss; |
| 177 | - } |
|
| 178 | - elseif ( is_success( $resp->status ) ) { |
|
| 177 | + } elseif ( is_success( $resp->status ) ) { |
|
| 179 | 178 | $rss = _response_to_rss( $resp ); |
| 180 | 179 | if ( $rss ) { |
| 181 | 180 | if (MAGPIE_DEBUG > 1) { |
@@ -185,24 +184,20 @@ discard block |
||
| 185 | 184 | $cache->set( $cache_key, $rss ); |
| 186 | 185 | return $rss; |
| 187 | 186 | } |
| 188 | - } |
|
| 189 | - else { |
|
| 187 | + } else { |
|
| 190 | 188 | $errormsg = "Failed to fetch $url "; |
| 191 | 189 | if ( $resp->status == '-100' ) { |
| 192 | 190 | $errormsg .= "(Request timed out after " . MAGPIE_FETCH_TIME_OUT . " seconds)"; |
| 193 | - } |
|
| 194 | - elseif ( $resp->error ) { |
|
| 191 | + } elseif ( $resp->error ) { |
|
| 195 | 192 | # compensate for Snoopy's annoying habbit to tacking |
| 196 | 193 | # on '\n' |
| 197 | 194 | $http_error = substr($resp->error, 0, -2); |
| 198 | 195 | $errormsg .= "(HTTP Error: $http_error)"; |
| 199 | - } |
|
| 200 | - else { |
|
| 196 | + } else { |
|
| 201 | 197 | $errormsg .= "(HTTP Response: " . $resp->response_code .')'; |
| 202 | 198 | } |
| 203 | 199 | } |
| 204 | - } |
|
| 205 | - else { |
|
| 200 | + } else { |
|
| 206 | 201 | $errormsg = "Unable to retrieve RSS file for unknown reasons."; |
| 207 | 202 | } |
| 208 | 203 | |
@@ -229,7 +224,8 @@ discard block |
||
| 229 | 224 | Purpose: set MAGPIE_ERROR, and trigger error |
| 230 | 225 | \*=======================================================================*/ |
| 231 | 226 | |
| 232 | -function error ($errormsg, $lvl=E_USER_WARNING) { |
|
| 227 | +function error ($errormsg, $lvl=E_USER_WARNING) |
|
| 228 | +{ |
|
| 233 | 229 | global $MAGPIE_ERROR; |
| 234 | 230 | |
| 235 | 231 | // append PHP's error message if track_errors enabled |
@@ -243,7 +239,8 @@ discard block |
||
| 243 | 239 | } |
| 244 | 240 | } |
| 245 | 241 | |
| 246 | -function debug ($debugmsg, $lvl=E_USER_NOTICE) { |
|
| 242 | +function debug ($debugmsg, $lvl=E_USER_NOTICE) |
|
| 243 | +{ |
|
| 247 | 244 | trigger_error("MagpieRSS [debug] $debugmsg", $lvl); |
| 248 | 245 | } |
| 249 | 246 | |
@@ -251,7 +248,8 @@ discard block |
||
| 251 | 248 | Function: magpie_error |
| 252 | 249 | Purpose: accessor for the magpie error variable |
| 253 | 250 | \*=======================================================================*/ |
| 254 | -function magpie_error ($errormsg="") { |
|
| 251 | +function magpie_error ($errormsg="") |
|
| 252 | +{ |
|
| 255 | 253 | global $MAGPIE_ERROR; |
| 256 | 254 | |
| 257 | 255 | if ( isset($errormsg) and $errormsg ) { |
@@ -268,7 +266,8 @@ discard block |
||
| 268 | 266 | headers to send along with the request (optional) |
| 269 | 267 | Output: an HTTP response object (see Snoopy.class.inc) |
| 270 | 268 | \*=======================================================================*/ |
| 271 | -function _fetch_remote_file ($url, $headers = "" ) { |
|
| 269 | +function _fetch_remote_file ($url, $headers = "" ) |
|
| 270 | +{ |
|
| 272 | 271 | // Snoopy is an HTTP client in PHP |
| 273 | 272 | $client = new Snoopy(); |
| 274 | 273 | $client->agent = MAGPIE_USER_AGENT; |
@@ -289,7 +288,8 @@ discard block |
||
| 289 | 288 | Input: an HTTP response object (see Snoopy) |
| 290 | 289 | Output: parsed RSS object (see rss_parse) |
| 291 | 290 | \*=======================================================================*/ |
| 292 | -function _response_to_rss ($resp) { |
|
| 291 | +function _response_to_rss ($resp) |
|
| 292 | +{ |
|
| 293 | 293 | $rss = new MagpieRSS( $resp->results, MAGPIE_OUTPUT_ENCODING, MAGPIE_INPUT_ENCODING, MAGPIE_DETECT_ENCODING ); |
| 294 | 294 | |
| 295 | 295 | // if RSS parsed successfully |
@@ -300,8 +300,7 @@ discard block |
||
| 300 | 300 | // 2003-03-02 - Nicola Asuni (www.tecnick.com) - fixed bug "Undefined offset: 1" |
| 301 | 301 | if (strpos($h, ": ")) { |
| 302 | 302 | list($field, $val) = explode(": ", $h, 2); |
| 303 | - } |
|
| 304 | - else { |
|
| 303 | + } else { |
|
| 305 | 304 | $field = $h; |
| 306 | 305 | $val = ""; |
| 307 | 306 | } |
@@ -334,11 +333,11 @@ discard block |
||
| 334 | 333 | Purpose: setup constants with default values |
| 335 | 334 | check for user overrides |
| 336 | 335 | \*=======================================================================*/ |
| 337 | -function init () { |
|
| 336 | +function init () |
|
| 337 | +{ |
|
| 338 | 338 | if ( defined('MAGPIE_INITALIZED') ) { |
| 339 | 339 | return; |
| 340 | - } |
|
| 341 | - else { |
|
| 340 | + } else { |
|
| 342 | 341 | define('MAGPIE_INITALIZED', true); |
| 343 | 342 | } |
| 344 | 343 | |
@@ -360,7 +359,9 @@ discard block |
||
| 360 | 359 | |
| 361 | 360 | if ( !defined('MAGPIE_OUTPUT_ENCODING') ) { |
| 362 | 361 | global $modx_manager_charset; |
| 363 | - if(empty($modx_manager_charset)) $modx_manager_charset = 'ISO-8859-1'; |
|
| 362 | + if(empty($modx_manager_charset)) { |
|
| 363 | + $modx_manager_charset = 'ISO-8859-1'; |
|
| 364 | + } |
|
| 364 | 365 | define('MAGPIE_OUTPUT_ENCODING', $modx_manager_charset); |
| 365 | 366 | } |
| 366 | 367 | |
@@ -381,8 +382,7 @@ discard block |
||
| 381 | 382 | |
| 382 | 383 | if ( MAGPIE_CACHE_ON ) { |
| 383 | 384 | $ua = $ua . ')'; |
| 384 | - } |
|
| 385 | - else { |
|
| 385 | + } else { |
|
| 386 | 386 | $ua = $ua . '; No cache)'; |
| 387 | 387 | } |
| 388 | 388 | |
@@ -417,7 +417,8 @@ discard block |
||
| 417 | 417 | Function: is_info |
| 418 | 418 | Purpose: return true if Informational status code |
| 419 | 419 | \*=======================================================================*/ |
| 420 | -function is_info ($sc) { |
|
| 420 | +function is_info ($sc) |
|
| 421 | +{ |
|
| 421 | 422 | return $sc >= 100 && $sc < 200; |
| 422 | 423 | } |
| 423 | 424 | |
@@ -425,7 +426,8 @@ discard block |
||
| 425 | 426 | Function: is_success |
| 426 | 427 | Purpose: return true if Successful status code |
| 427 | 428 | \*=======================================================================*/ |
| 428 | -function is_success ($sc) { |
|
| 429 | +function is_success ($sc) |
|
| 430 | +{ |
|
| 429 | 431 | return $sc >= 200 && $sc < 300; |
| 430 | 432 | } |
| 431 | 433 | |
@@ -433,7 +435,8 @@ discard block |
||
| 433 | 435 | Function: is_redirect |
| 434 | 436 | Purpose: return true if Redirection status code |
| 435 | 437 | \*=======================================================================*/ |
| 436 | -function is_redirect ($sc) { |
|
| 438 | +function is_redirect ($sc) |
|
| 439 | +{ |
|
| 437 | 440 | return $sc >= 300 && $sc < 400; |
| 438 | 441 | } |
| 439 | 442 | |
@@ -441,7 +444,8 @@ discard block |
||
| 441 | 444 | Function: is_error |
| 442 | 445 | Purpose: return true if Error status code |
| 443 | 446 | \*=======================================================================*/ |
| 444 | -function is_error ($sc) { |
|
| 447 | +function is_error ($sc) |
|
| 448 | +{ |
|
| 445 | 449 | return $sc >= 400 && $sc < 600; |
| 446 | 450 | } |
| 447 | 451 | |
@@ -449,7 +453,8 @@ discard block |
||
| 449 | 453 | Function: is_client_error |
| 450 | 454 | Purpose: return true if Error status code, and its a client error |
| 451 | 455 | \*=======================================================================*/ |
| 452 | -function is_client_error ($sc) { |
|
| 456 | +function is_client_error ($sc) |
|
| 457 | +{ |
|
| 453 | 458 | return $sc >= 400 && $sc < 500; |
| 454 | 459 | } |
| 455 | 460 | |
@@ -457,6 +462,7 @@ discard block |
||
| 457 | 462 | Function: is_client_error |
| 458 | 463 | Purpose: return true if Error status code, and its a server error |
| 459 | 464 | \*=======================================================================*/ |
| 460 | -function is_server_error ($sc) { |
|
| 465 | +function is_server_error ($sc) |
|
| 466 | +{ |
|
| 461 | 467 | return $sc >= 500 && $sc < 600; |
| 462 | 468 | } |
@@ -28,9 +28,12 @@ |
||
| 28 | 28 | die; |
| 29 | 29 | } |
| 30 | 30 | $mtime = @filemtime($file); |
| 31 | -if ($mtime) httpCache::checkMTime($mtime); |
|
| 31 | +if ($mtime) { |
|
| 32 | + httpCache::checkMTime($mtime); |
|
| 33 | +} |
|
| 32 | 34 | require $file; |
| 33 | 35 | header("Content-Type: text/javascript; charset={$lang['_charset']}"); |
| 34 | -foreach ($lang as $english => $native) |
|
| 36 | +foreach ($lang as $english => $native) { |
|
| 35 | 37 | if (substr($english, 0, 1) != "_") |
| 36 | 38 | echo "browser.labels['" . text::jsValue($english) . "']=\"" . text::jsValue($native) . "\";"; |
| 39 | +} |
|
@@ -12,7 +12,8 @@ discard block |
||
| 12 | 12 | * @link http://kcfinder.sunhater.com |
| 13 | 13 | */ |
| 14 | 14 | |
| 15 | -class gd {
|
|
| 15 | +class gd |
|
| 16 | +{ |
|
| 16 | 17 | |
| 17 | 18 | /** GD resource |
| 18 | 19 | * @var resource */ |
@@ -40,23 +41,24 @@ discard block |
||
| 40 | 41 | * @param mixed $image |
| 41 | 42 | * @return array */ |
| 42 | 43 | |
| 43 | - protected function build_image($image) {
|
|
| 44 | + protected function build_image($image) |
|
| 45 | + { |
|
| 44 | 46 | |
| 45 | - if ($image instanceof gd) {
|
|
| 47 | + if ($image instanceof gd) { |
|
| 46 | 48 | $width = $image->get_width(); |
| 47 | 49 | $height = $image->get_height(); |
| 48 | 50 | $image = $image->get_image(); |
| 49 | 51 | |
| 50 | - } elseif (is_resource($image) && (get_resource_type($image) == "gd")) {
|
|
| 52 | + } elseif (is_resource($image) && (get_resource_type($image) == "gd")) { |
|
| 51 | 53 | $width = @imagesx($image); |
| 52 | 54 | $height = @imagesy($image); |
| 53 | 55 | |
| 54 | - } elseif (is_array($image)) {
|
|
| 56 | + } elseif (is_array($image)) { |
|
| 55 | 57 | list($key, $width) = each($image); |
| 56 | 58 | list($key, $height) = each($image); |
| 57 | 59 | $image = imagecreatetruecolor($width, $height); |
| 58 | 60 | |
| 59 | - } elseif (false !== (list($width, $height, $type) = @getimagesize($image))) {
|
|
| 61 | + } elseif (false !== (list($width, $height, $type) = @getimagesize($image))) { |
|
| 60 | 62 | $image = |
| 61 | 63 | ($type == IMAGETYPE_GIF) ? @imagecreatefromgif($image) : ( |
| 62 | 64 | ($type == IMAGETYPE_WBMP) ? @imagecreatefromwbmp($image) : ( |
@@ -66,8 +68,9 @@ discard block |
||
| 66 | 68 | ($type == IMAGETYPE_XBM) ? @imagecreatefromxbm($image) : false |
| 67 | 69 | ))))); |
| 68 | 70 | |
| 69 | - if ($type == IMAGETYPE_PNG) |
|
| 70 | - imagealphablending($image, false); |
|
| 71 | + if ($type == IMAGETYPE_PNG) { |
|
| 72 | + imagealphablending($image, false); |
|
| 73 | + } |
|
| 71 | 74 | } |
| 72 | 75 | |
| 73 | 76 | $return = ( |
@@ -81,8 +84,9 @@ discard block |
||
| 81 | 84 | ? array($image, $width, $height) |
| 82 | 85 | : false; |
| 83 | 86 | |
| 84 | - if (($return !== false) && isset($type)) |
|
| 85 | - $this->type = $type; |
|
| 87 | + if (($return !== false) && isset($type)) { |
|
| 88 | + $this->type = $type; |
|
| 89 | + } |
|
| 86 | 90 | |
| 87 | 91 | return $return; |
| 88 | 92 | } |
@@ -98,20 +102,22 @@ discard block |
||
| 98 | 102 | * @param integer $bigger_size |
| 99 | 103 | * @return gd */ |
| 100 | 104 | |
| 101 | - public function __construct($image, $bigger_size=null) {
|
|
| 105 | + public function __construct($image, $bigger_size=null) |
|
| 106 | + { |
|
| 102 | 107 | $this->image = $this->width = $this->height = null; |
| 103 | 108 | |
| 104 | 109 | $image_details = $this->build_image($image); |
| 105 | 110 | |
| 106 | - if ($image_details !== false) |
|
| 107 | - list($this->image, $this->width, $this->height) = $image_details; |
|
| 108 | - else |
|
| 109 | - $this->init_error = true; |
|
| 111 | + if ($image_details !== false) { |
|
| 112 | + list($this->image, $this->width, $this->height) = $image_details; |
|
| 113 | + } else { |
|
| 114 | + $this->init_error = true; |
|
| 115 | + } |
|
| 110 | 116 | |
| 111 | 117 | if (!is_null($this->image) && |
| 112 | 118 | !is_null($bigger_size) && |
| 113 | 119 | (preg_match('/^[1-9][0-9]*$/', $bigger_size) !== false)
|
| 114 | - ) {
|
|
| 120 | + ) { |
|
| 115 | 121 | $image = $this->image; |
| 116 | 122 | list($width, $height) = $this->get_prop_size($bigger_size); |
| 117 | 123 | $this->image = imagecreatetruecolor($width, $height); |
@@ -126,21 +132,24 @@ discard block |
||
| 126 | 132 | /** Returns the GD resource |
| 127 | 133 | * @return resource */ |
| 128 | 134 | |
| 129 | - public function get_image() {
|
|
| 135 | + public function get_image() |
|
| 136 | + { |
|
| 130 | 137 | return $this->image; |
| 131 | 138 | } |
| 132 | 139 | |
| 133 | 140 | /** Returns the image width |
| 134 | 141 | * @return integer */ |
| 135 | 142 | |
| 136 | - public function get_width() {
|
|
| 143 | + public function get_width() |
|
| 144 | + { |
|
| 137 | 145 | return $this->width; |
| 138 | 146 | } |
| 139 | 147 | |
| 140 | 148 | /** Returns the image height |
| 141 | 149 | * @return integer */ |
| 142 | 150 | |
| 143 | - public function get_height() {
|
|
| 151 | + public function get_height() |
|
| 152 | + { |
|
| 144 | 153 | return $this->height; |
| 145 | 154 | } |
| 146 | 155 | |
@@ -148,9 +157,12 @@ discard block |
||
| 148 | 157 | * @param integer $resized_height |
| 149 | 158 | * @return integer */ |
| 150 | 159 | |
| 151 | - public function get_prop_width($resized_height) {
|
|
| 160 | + public function get_prop_width($resized_height) |
|
| 161 | + { |
|
| 152 | 162 | $width = intval(($this->width * $resized_height) / $this->height); |
| 153 | - if (!$width) $width = 1; |
|
| 163 | + if (!$width) { |
|
| 164 | + $width = 1; |
|
| 165 | + } |
|
| 154 | 166 | return $width; |
| 155 | 167 | } |
| 156 | 168 | |
@@ -158,9 +170,12 @@ discard block |
||
| 158 | 170 | * @param integer $resized_width |
| 159 | 171 | * @return integer */ |
| 160 | 172 | |
| 161 | - public function get_prop_height($resized_width) {
|
|
| 173 | + public function get_prop_height($resized_width) |
|
| 174 | + { |
|
| 162 | 175 | $height = intval(($this->height * $resized_width) / $this->width); |
| 163 | - if (!$height) $height = 1; |
|
| 176 | + if (!$height) { |
|
| 177 | + $height = 1; |
|
| 178 | + } |
|
| 164 | 179 | return $height; |
| 165 | 180 | } |
| 166 | 181 | |
@@ -170,18 +185,20 @@ discard block |
||
| 170 | 185 | * @param integer $bigger_size |
| 171 | 186 | * @return array */ |
| 172 | 187 | |
| 173 | - public function get_prop_size($bigger_size) {
|
|
| 188 | + public function get_prop_size($bigger_size) |
|
| 189 | + { |
|
| 174 | 190 | |
| 175 | - if ($this->width > $this->height) {
|
|
| 191 | + if ($this->width > $this->height) { |
|
| 176 | 192 | $width = $bigger_size; |
| 177 | 193 | $height = $this->get_prop_height($width); |
| 178 | 194 | |
| 179 | - } elseif ($this->height > $this->width) {
|
|
| 195 | + } elseif ($this->height > $this->width) { |
|
| 180 | 196 | $height = $bigger_size; |
| 181 | 197 | $width = $this->get_prop_width($height); |
| 182 | 198 | |
| 183 | - } else |
|
| 184 | - $width = $height = $bigger_size; |
|
| 199 | + } else { |
|
| 200 | + $width = $height = $bigger_size; |
|
| 201 | + } |
|
| 185 | 202 | |
| 186 | 203 | return array($width, $height); |
| 187 | 204 | } |
@@ -191,9 +208,14 @@ discard block |
||
| 191 | 208 | * @param integer $height |
| 192 | 209 | * @return bool */ |
| 193 | 210 | |
| 194 | - public function resize($width, $height) {
|
|
| 195 | - if (!$width) $width = 1; |
|
| 196 | - if (!$height) $height = 1; |
|
| 211 | + public function resize($width, $height) |
|
| 212 | + { |
|
| 213 | + if (!$width) { |
|
| 214 | + $width = 1; |
|
| 215 | + } |
|
| 216 | + if (!$height) { |
|
| 217 | + $height = 1; |
|
| 218 | + } |
|
| 197 | 219 | return ( |
| 198 | 220 | (false !== ($img = new gd(array($width, $height)))) && |
| 199 | 221 | $img->imagecopyresampled($this) && |
@@ -208,19 +230,20 @@ discard block |
||
| 208 | 230 | * @param mixed $src |
| 209 | 231 | * @return bool */ |
| 210 | 232 | |
| 211 | - public function resize_crop($src) {
|
|
| 233 | + public function resize_crop($src) |
|
| 234 | + { |
|
| 212 | 235 | $image_details = $this->build_image($src); |
| 213 | 236 | |
| 214 | - if ($image_details !== false) {
|
|
| 237 | + if ($image_details !== false) { |
|
| 215 | 238 | list($src, $src_width, $src_height) = $image_details; |
| 216 | 239 | |
| 217 | - if (($src_width / $src_height) > ($this->width / $this->height)) {
|
|
| 240 | + if (($src_width / $src_height) > ($this->width / $this->height)) { |
|
| 218 | 241 | $src_w = $this->get_prop_width($src_height); |
| 219 | 242 | $src_h = $src_height; |
| 220 | 243 | $src_x = intval(($src_width - $src_w) / 2); |
| 221 | 244 | $src_y = 0; |
| 222 | 245 | |
| 223 | - } else {
|
|
| 246 | + } else { |
|
| 224 | 247 | $src_w = $src_width; |
| 225 | 248 | $src_h = $this->get_prop_height($src_width); |
| 226 | 249 | $src_x = 0; |
@@ -229,8 +252,9 @@ discard block |
||
| 229 | 252 | |
| 230 | 253 | return imagecopyresampled($this->image, $src, 0, 0, $src_x, $src_y, $this->width, $this->height, $src_w, $src_h); |
| 231 | 254 | |
| 232 | - } else |
|
| 233 | - return false; |
|
| 255 | + } else { |
|
| 256 | + return false; |
|
| 257 | + } |
|
| 234 | 258 | } |
| 235 | 259 | |
| 236 | 260 | /** Resize image to fit in given resolution. Returns TRUE on success or FALSE on failure |
@@ -238,15 +262,22 @@ discard block |
||
| 238 | 262 | * @param integer $height |
| 239 | 263 | * @return bool */ |
| 240 | 264 | |
| 241 | - public function resize_fit($width, $height) {
|
|
| 242 | - if ((!$width && !$height) || (($width == $this->width) && ($height == $this->height))) |
|
| 243 | - return true; |
|
| 244 | - if (!$width || (($height / $width) < ($this->height / $this->width))) |
|
| 245 | - $width = intval(($this->width * $height) / $this->height); |
|
| 246 | - elseif (!$height || (($width / $height) < ($this->width / $this->height))) |
|
| 247 | - $height = intval(($this->height * $width) / $this->width); |
|
| 248 | - if (!$width) $width = 1; |
|
| 249 | - if (!$height) $height = 1; |
|
| 265 | + public function resize_fit($width, $height) |
|
| 266 | + { |
|
| 267 | + if ((!$width && !$height) || (($width == $this->width) && ($height == $this->height))) { |
|
| 268 | + return true; |
|
| 269 | + } |
|
| 270 | + if (!$width || (($height / $width) < ($this->height / $this->width))) { |
|
| 271 | + $width = intval(($this->width * $height) / $this->height); |
|
| 272 | + } elseif (!$height || (($width / $height) < ($this->width / $this->height))) { |
|
| 273 | + $height = intval(($this->height * $width) / $this->width); |
|
| 274 | + } |
|
| 275 | + if (!$width) { |
|
| 276 | + $width = 1; |
|
| 277 | + } |
|
| 278 | + if (!$height) { |
|
| 279 | + $height = 1; |
|
| 280 | + } |
|
| 250 | 281 | return $this->resize($width, $height); |
| 251 | 282 | } |
| 252 | 283 | |
@@ -257,7 +288,8 @@ discard block |
||
| 257 | 288 | * @param integer $height |
| 258 | 289 | * @return bool */ |
| 259 | 290 | |
| 260 | - public function resize_overflow($width, $height) {
|
|
| 291 | + public function resize_overflow($width, $height) |
|
| 292 | + { |
|
| 261 | 293 | |
| 262 | 294 | $big = (($this->width / $this->height) > ($width / $height)) |
| 263 | 295 | ? ($this->width * $height) / $this->height |
@@ -266,7 +298,7 @@ discard block |
||
| 266 | 298 | |
| 267 | 299 | $return = ($img = new gd($this->image, $big)); |
| 268 | 300 | |
| 269 | - if ($return) {
|
|
| 301 | + if ($return) { |
|
| 270 | 302 | $this->image = $img->get_image(); |
| 271 | 303 | $this->width = $img->get_width(); |
| 272 | 304 | $this->height = $img->get_height(); |
@@ -275,7 +307,8 @@ discard block |
||
| 275 | 307 | return $return; |
| 276 | 308 | } |
| 277 | 309 | |
| 278 | - public function gd_color() {
|
|
| 310 | + public function gd_color() |
|
| 311 | + { |
|
| 279 | 312 | $args = func_get_args(); |
| 280 | 313 | |
| 281 | 314 | $expr_rgb = '/^rgb\(\s*(\d{1,3})\s*\,\s*(\d{1,3})\s*\,\s*(\d{1,3})\s*\)$/i';
|
@@ -283,22 +316,23 @@ discard block |
||
| 283 | 316 | $expr_hex2 = '/^\#?([0-9a-f])([0-9a-f])([0-9a-f])$/i'; |
| 284 | 317 | $expr_byte = '/^([01]?\d?\d|2[0-4]\d|25[0-5])$/'; |
| 285 | 318 | |
| 286 | - if (!isset($args[0])) |
|
| 287 | - return false; |
|
| 319 | + if (!isset($args[0])) { |
|
| 320 | + return false; |
|
| 321 | + } |
|
| 288 | 322 | |
| 289 | - if (count($args[0]) == 3) {
|
|
| 323 | + if (count($args[0]) == 3) { |
|
| 290 | 324 | list($r, $g, $b) = $args[0]; |
| 291 | 325 | |
| 292 | - } elseif (preg_match($expr_rgb, $args[0])) {
|
|
| 326 | + } elseif (preg_match($expr_rgb, $args[0])) { |
|
| 293 | 327 | list($r, $g, $b) = explode(" ", preg_replace($expr_rgb, "$1 $2 $3", $args[0]));
|
| 294 | 328 | |
| 295 | - } elseif (preg_match($expr_hex1, $args[0])) {
|
|
| 329 | + } elseif (preg_match($expr_hex1, $args[0])) { |
|
| 296 | 330 | list($r, $g, $b) = explode(" ", preg_replace($expr_hex1, "$1 $2 $3", $args[0]));
|
| 297 | 331 | $r = hexdec($r); |
| 298 | 332 | $g = hexdec($g); |
| 299 | 333 | $b = hexdec($b); |
| 300 | 334 | |
| 301 | - } elseif (preg_match($expr_hex2, $args[0])) {
|
|
| 335 | + } elseif (preg_match($expr_hex2, $args[0])) { |
|
| 302 | 336 | list($r, $g, $b) = explode(" ", preg_replace($expr_hex2, "$1$1 $2$2 $3$3", $args[0]));
|
| 303 | 337 | $r = hexdec($r); |
| 304 | 338 | $g = hexdec($g); |
@@ -308,16 +342,18 @@ discard block |
||
| 308 | 342 | preg_match($expr_byte, $args[0]) && |
| 309 | 343 | preg_match($expr_byte, $args[1]) && |
| 310 | 344 | preg_match($expr_byte, $args[2]) |
| 311 | - ) {
|
|
| 345 | + ) { |
|
| 312 | 346 | list($r, $g, $b) = $args; |
| 313 | 347 | |
| 314 | - } else |
|
| 315 | - return false; |
|
| 348 | + } else { |
|
| 349 | + return false; |
|
| 350 | + } |
|
| 316 | 351 | |
| 317 | 352 | return imagecolorallocate($this->image, $r, $g, $b); |
| 318 | 353 | } |
| 319 | 354 | |
| 320 | - public function fill_color($color) {
|
|
| 355 | + public function fill_color($color) |
|
| 356 | + { |
|
| 321 | 357 | return $this->imagefilledrectangle(0, 0, $this->width - 1, $this->height - 1, $color); |
| 322 | 358 | } |
| 323 | 359 | |
@@ -330,20 +366,29 @@ discard block |
||
| 330 | 366 | $src_x=0, $src_y=0, |
| 331 | 367 | $dst_w=null, $dst_h=null, |
| 332 | 368 | $src_w=null, $src_h=null |
| 333 | - ) {
|
|
| 369 | + ) { |
|
| 334 | 370 | $image_details = $this->build_image($src); |
| 335 | 371 | |
| 336 | - if ($image_details !== false) {
|
|
| 372 | + if ($image_details !== false) { |
|
| 337 | 373 | list($src, $src_width, $src_height) = $image_details; |
| 338 | 374 | |
| 339 | - if (is_null($dst_w)) $dst_w = $this->width - $dst_x; |
|
| 340 | - if (is_null($dst_h)) $dst_h = $this->height - $dst_y; |
|
| 341 | - if (is_null($src_w)) $src_w = $src_width - $src_x; |
|
| 342 | - if (is_null($src_h)) $src_h = $src_height - $src_y; |
|
| 375 | + if (is_null($dst_w)) { |
|
| 376 | + $dst_w = $this->width - $dst_x; |
|
| 377 | + } |
|
| 378 | + if (is_null($dst_h)) { |
|
| 379 | + $dst_h = $this->height - $dst_y; |
|
| 380 | + } |
|
| 381 | + if (is_null($src_w)) { |
|
| 382 | + $src_w = $src_width - $src_x; |
|
| 383 | + } |
|
| 384 | + if (is_null($src_h)) { |
|
| 385 | + $src_h = $src_height - $src_y; |
|
| 386 | + } |
|
| 343 | 387 | return imagecopy($this->image, $src, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h); |
| 344 | 388 | |
| 345 | - } else |
|
| 346 | - return false; |
|
| 389 | + } else { |
|
| 390 | + return false; |
|
| 391 | + } |
|
| 347 | 392 | } |
| 348 | 393 | |
| 349 | 394 | public function imagecopyresampled( |
@@ -352,16 +397,24 @@ discard block |
||
| 352 | 397 | $src_x=0, $src_y=0, |
| 353 | 398 | $dst_w=null, $dst_h=null, |
| 354 | 399 | $src_w=null, $src_h=null |
| 355 | - ) {
|
|
| 400 | + ) { |
|
| 356 | 401 | $image_details = $this->build_image($src); |
| 357 | 402 | |
| 358 | - if ($image_details !== false) {
|
|
| 403 | + if ($image_details !== false) { |
|
| 359 | 404 | list($src, $src_width, $src_height) = $image_details; |
| 360 | 405 | |
| 361 | - if (is_null($dst_w)) $dst_w = $this->width - $dst_x; |
|
| 362 | - if (is_null($dst_h)) $dst_h = $this->height - $dst_y; |
|
| 363 | - if (is_null($src_w)) $src_w = $src_width - $src_x; |
|
| 364 | - if (is_null($src_h)) $src_h = $src_height - $src_y; |
|
| 406 | + if (is_null($dst_w)) { |
|
| 407 | + $dst_w = $this->width - $dst_x; |
|
| 408 | + } |
|
| 409 | + if (is_null($dst_h)) { |
|
| 410 | + $dst_h = $this->height - $dst_y; |
|
| 411 | + } |
|
| 412 | + if (is_null($src_w)) { |
|
| 413 | + $src_w = $src_width - $src_x; |
|
| 414 | + } |
|
| 415 | + if (is_null($src_h)) { |
|
| 416 | + $src_h = $src_height - $src_y; |
|
| 417 | + } |
|
| 365 | 418 | imagealphablending($this->image, false); |
| 366 | 419 | imagesavealpha($this->image,true); |
| 367 | 420 | |
@@ -372,7 +425,7 @@ discard block |
||
| 372 | 425 | |
| 373 | 426 | $transindex = imagecolortransparent($src); |
| 374 | 427 | $palletsize = imagecolorstotal($src); |
| 375 | - if($transindex >= 0 && $transindex < $palletsize) {
|
|
| 428 | + if($transindex >= 0 && $transindex < $palletsize) { |
|
| 376 | 429 | $transcol = imagecolorsforindex($src, $transindex); |
| 377 | 430 | |
| 378 | 431 | /*** end gif transparent fix ***/ |
@@ -381,44 +434,56 @@ discard block |
||
| 381 | 434 | imagefilledrectangle($this->image, 0, 0, $dst_w, $dst_h, $transindex); |
| 382 | 435 | imagecopyresampled($this->image, $src, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); |
| 383 | 436 | imagecolortransparent($this->image, $transindex); |
| 384 | - for($y=0; $y<$dst_h; ++$y) |
|
| 385 | - for($x=0; $x<$dst_w; ++$x) |
|
| 386 | - if(((imagecolorat($this->image, $x, $y)>>24) & 0x7F) >= 100) imagesetpixel($this->image, $x, $y, $transindex); |
|
| 437 | + for($y=0; $y<$dst_h; ++$y) { |
|
| 438 | + for($x=0; |
|
| 439 | + } |
|
| 440 | + $x<$dst_w; ++$x) { |
|
| 441 | + if(((imagecolorat($this->image, $x, $y)>>24) & 0x7F) >= 100) imagesetpixel($this->image, $x, $y, $transindex); |
|
| 442 | + } |
|
| 387 | 443 | imagetruecolortopalette($this->image, true, 255); |
| 388 | - } |
|
| 389 | - else {
|
|
| 444 | + } else { |
|
| 390 | 445 | $transparent = imagecolorallocatealpha($this->image, 255, 255, 255, 127); |
| 391 | 446 | imagefilledrectangle($this->image, 0, 0, $dst_w, $dst_h, $transparent); |
| 392 | 447 | imagecopyresampled($this->image, $src, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); |
| 393 | 448 | } |
| 394 | 449 | return $this->image; |
| 395 | 450 | |
| 396 | - } else |
|
| 397 | - return false; |
|
| 451 | + } else { |
|
| 452 | + return false; |
|
| 453 | + } |
|
| 398 | 454 | } |
| 399 | 455 | |
| 400 | - public function imagefilledrectangle($x1, $y1, $x2, $y2, $color) {
|
|
| 456 | + public function imagefilledrectangle($x1, $y1, $x2, $y2, $color) |
|
| 457 | + { |
|
| 401 | 458 | $color = $this->gd_color($color); |
| 402 | - if ($color === false) return false; |
|
| 459 | + if ($color === false) { |
|
| 460 | + return false; |
|
| 461 | + } |
|
| 403 | 462 | return imagefilledrectangle($this->image, $x1, $y1, $x2, $y2, $color); |
| 404 | 463 | } |
| 405 | 464 | |
| 406 | - public function imagepng($filename=null, $quality=null, $filters=null) {
|
|
| 407 | - if (is_null($filename) && !headers_sent()) |
|
| 408 | - header("Content-Type: image/png");
|
|
| 465 | + public function imagepng($filename=null, $quality=null, $filters=null) |
|
| 466 | + { |
|
| 467 | + if (is_null($filename) && !headers_sent()) { |
|
| 468 | + header("Content-Type: image/png"); |
|
| 469 | + } |
|
| 409 | 470 | @imagesavealpha($this->image, true); |
| 410 | 471 | return imagepng($this->image, $filename, $quality, $filters); |
| 411 | 472 | } |
| 412 | 473 | |
| 413 | - public function imagejpeg($filename=null, $quality=75) {
|
|
| 414 | - if (is_null($filename) && !headers_sent()) |
|
| 415 | - header("Content-Type: image/jpeg");
|
|
| 474 | + public function imagejpeg($filename=null, $quality=75) |
|
| 475 | + { |
|
| 476 | + if (is_null($filename) && !headers_sent()) { |
|
| 477 | + header("Content-Type: image/jpeg"); |
|
| 478 | + } |
|
| 416 | 479 | return imagejpeg($this->image, $filename, $quality); |
| 417 | 480 | } |
| 418 | 481 | |
| 419 | - public function imagegif($filename=null) {
|
|
| 420 | - if (is_null($filename) && !headers_sent()) |
|
| 421 | - header("Content-Type: image/gif");
|
|
| 482 | + public function imagegif($filename=null) |
|
| 483 | + { |
|
| 484 | + if (is_null($filename) && !headers_sent()) { |
|
| 485 | + header("Content-Type: image/gif"); |
|
| 486 | + } |
|
| 422 | 487 | @imagesavealpha($this->image, true); |
| 423 | 488 | return imagegif($this->image, $filename); |
| 424 | 489 | } |