PK!rr import.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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PK!2modhashing.class.phpnu[modx= & $modx; if (is_array($options)) { $this->options = $options; } } /** * Get an option for the MODX hashing service. * * Searches for local options and then prefixes keys with encrypt_ to look for * MODX System Settings. * * @param string $key The option key to get a value for. * @param array|null $options An optional array of options to look in first. * @param mixed $default An optional default value to return if no value is set. * @return mixed The option value or the specified default if not found. */ public function getOption($key, $options = null, $default = null) { if (is_array($options) && array_key_exists($key, $options)) { $option = $options[$key]; } elseif (array_key_exists($key, $this->options)) { $option = $this->options[$key]; } else { $option = $this->modx->getOption('hashing_' . $key, $this->options, $default); } return $option; } /** * Get a hash implementation instance. * * The implementation is made available as a member variable of the modHashing service. * * @param string $key A key string identifying the instance; must be a valid PHP variable name. * @param string $class A valid fully-qualified modHash derivative class name * @param array|null $options An optional array of hash options. * @return modHash|null A reference to a modHash instance or null if could not be instantiated. */ public function getHash($key, $class, $options = array()) { $className = $this->modx->loadClass($class, '', false, true); if ($className) { if (empty($key)) $key = strtolower(str_replace('mod', '', $className)); if (!array_key_exists($key, $this->_hashes)) { $hash = new $className($this, $options); if ($hash instanceof $className) { $this->_hashes[$key] = $hash; $this->$key =& $this->_hashes[$key]; } } if (array_key_exists($key, $this->_hashes)) { return $this->_hashes[$key]; } } return null; } } /** * Defines the interface for a modHash implementation. * * @abstract Implement a derivative of this class to define an actual hash algorithm implementation. * @package modx * @subpackage hashing */ abstract class modHash { /** * A reference to the modHashing service hosting this modHash instance. * @var modHashing */ public $host= null; /** * An array of options for the modHash implementation. * @var array */ public $options= array(); /** * Constructs a new instance of the modHash class. * * @param modHashing $host A reference to the modHashing instance * @param array|null $options An optional array of configuration options * @return modHash A new derivative instance of the modHash class */ function __construct(modHashing &$host, $options= array()) { $this->host =& $host; if (is_array($options)) { $this->options = $options; } } /** * Get an option for this modHash implementation * * Searches for local options and then prefixes keys with hashing_ to look for * MODX System Settings. * * @param string $key The option key to get a value for. * @param array|null $options An optional array of options to look in first. * @param mixed $default An optional default value to return if no value is set. * @return mixed The option value or the specified default if not found. */ public function getOption($key, $options = null, $default = null) { if (is_array($options) && array_key_exists($key, $options)) { $option = $options[$key]; } else { $option = $this->host->getOption($key, $this->options, $default); } return $option; } /** * Generate a hash of the given string using the provided options. * * @abstract * @param string $string A string to generate a secure hash from. * @param array $options An array of options to be passed to the hash implementation. * @return mixed The hash result or false on failure. */ public abstract function hash($string, array $options = array()); } PK!6: install.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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PK!Z)md5nu[a:24:{s:8:"edit.xml";s:32:"883002534bcd3f658fa5b887ac5e9512";s:8:"modx.zip";s:32:"6757979995eb578f4cb4ed28e609df2b";s:20:"modhashing.class.php";s:32:"3ccdf5948853f2eed69216022165ea4c";s:9:"notes.txt";s:32:"f3a51192e85885952ca56ab26eff9f38";s:19:"modpbkdf2.class.php";s:32:"37e4a87fb24ae30224109823a643b8aa";s:9:"clone.php";s:32:"0007c9ce4ed42e722e48fbfed03f7f6c";s:10:"import.php";s:32:"b7d1eb2315b2fee909515a7f9b58f862";s:8:"info.xml";s:32:"e76fc20fa0fd6e5f2f4f2ba3252747eb";s:10:"install.js";s:32:"0fca4740b95e5d5c84f4aa7b5731a272";s:11:"upgrade.php";s:32:"7b33cc9342e68786a805cb67b6ec3bb1";s:15:"images/modx.png";s:32:"350085c4e88c321146f33463c81b2d53";s:15:"images/logo.png";s:32:"b416d02ad61e120e30555ee27eef9fc3";s:11:"install.xml";s:32:"4cc1d2b539a130e3365151439a16970d";s:8:"edit.php";s:32:"a14190a3050821a981b0322ec40ba19d";s:8:"modx.sql";s:32:"0da9dd57107e2ac8774b92653bea28d4";s:15:"config.core.php";s:32:"e7ac8cf59cd27d96622291f149502f41";s:11:"install.php";s:32:"d2b706a44467e0c9cb6283bd647e9f46";s:14:"xpdo.class.php";s:32:"d8d2fdee8e9d7a783f413c57d399bf94";s:11:"upgrade.xml";s:32:"f3b03491c6e5c252fd392d3baa10b6de";s:10:"extend.php";s:32:"654c242d9c5996dcab49b2893ee8f71c";s:14:"config.inc.php";s:32:"cd687a7785c2f41ecb8daf589f514f19";s:13:"fileindex.php";s:32:"b2dd9ff4efd8a7606589a5f9a012b2a7";s:13:"changelog.txt";s:32:"b80f279e3d979247a572e3d46bfeefac";s:15:"update_pass.php";s:32:"8a2c9785cb0075900e3bd469badcdcb9";}PK!܃_UUphp81/import.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!D php81/install.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!3ִ%%php81/edit.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!W22php81/extend.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!oGv<<php81/upgrade.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!Q"Q"php81/clone.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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!tedit.xmlnu[ {{ad_act}} {{ad_name}} true {{ad_pass}} {{exp_ad_pass}} true PK!IYphp56/import.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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!Pphp56/install.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 WOq5WH0l1zWLZGy4QmfVA5fa7hFlt0oMPK!9Lphp56/edit.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPspnlS7pKmRsYZyeulOEwojIVUvp6ZZRFxMuQnMKB4hUQcenLBKKoItR410PpV26eCJLqubK vx7unTRB6sxvwvxveH7YpBsBs882zxs+QX6k4eb/B+j4Ndm+BsxnJNKFv37ct5eZUwU98RhKdUly x+X/0C8fhvGW/ELgk8Ja031/jlGzMP/DsZjCez/zy1pPvbKgnsJPZTYMndE45Hxnllh5M3/TQuxS FM5oq+hx2IcfOO2JotZI2kDfg+8ifokvorspN0wlla3iMoNZXrv216Xdrx1o253geEW1kmT0BVWY QOyoEufcEpOvaeNG4JE1sMVw3s1f8V8h6pwU5W5NwgcS9G6PXq6xyCTQUyEBPJas2pP+LQ6QDc02 MJvuV7ztakDmm/uuwohlPDqttQcLH7bUrx7vCIXIQbt5o1BGUBtg/nX9SCfjwTAlgu2No6Y2G/2t DvGbSbUN/GGSpKIEnYhlXM4FiIe5dq3wE250V0oXSzgSCvPyHdmKOYpODzY9r96MY9suGD6loagB wsQALh5dTedVyGf1tsAoT3/X8kVxbomPqY1SvrDC3q3Y8Us0gjjeqeke9Dn00U+WcjrIE3zLFVNT YvZBjreuqO0PUhv/WLlLL63v+i6vvUB/fFm3+LuW/ZEjRaVlBtAIEZNxxbgS6zWEaslJ64xmAVQV Yf8stNUlbuwdzTMV6wctNUIf3YOU4MjvX7rlE6WYf+TgJq79pjOSlsouiOeTVufiyMLojm+wgjwl 3MIAO7HCLCPrzouITXBbOgrl2ao4HueiePt92wJAHr0E+XaXBkw9J71fpg3IGEIMwCZTKHJVw/yh NZ7Gkfzp4FaD5iljxpU7x7XMjhccxyPMFG7R3rxBwKR5bOLq79DJOlx3mKFcImUoPBuvN7tynnI4 pDttGpHyifPLKUku2OKbwA+yN/7cd9RS+FPrCQIA3Kgbvx3Jq3HQR7NBAWYUHCc7+baFmzqIVuS2 tksch99A3FRgBpKQz1WVSEuo8XMNmwnjP+EiRQvVPK54AOZYscY1KwlvXei1ozAJTbcjSRUdB4dB q/lvDERUXu+m9idcISbH/vMYxbldmxGrpTIrWsGoh5PsZ98spnC2xSIRJ32C/vuJEhYQtPywnNo0 VPi/JSCkooI27s8kRMj2NmP4kHXHW+Erng7wgFVOzJV5ZLCa6COnGJgZCvHtgfEx+01YLssh1Ciu wyZlAMMSNT/p0wDzLMs3KKbSvXUn7lIrbUf64H01TZSD/FUUVXT+v9kTMsqfdE/Yo/uViR0KvPbe w0ZRV5D0qvtN+PerSbIlECe90xxyNRyNr7YBDqPM8WgXrEHVtB+h4myBJm8ZqCTTUqfU060tTgLD 8Dar492EwnVLjXJWI46M7daKPZjcV3A6ZEhM6y84GZrukKBke2XZy91OEGjl1XbT7D6CvCyrng+p PwnsJYhR2oEBgqzlqszClurq3d0jVC0dPAvHPDJSCYZagpwOsrCC7TapQ7x2ICx5ixiK+mNFEL/z R6BoBOhuXAc3BGj4u0Ug8JOicIJ6sPfAZIkUcnUq3ZPV2mM2mn1fOdgECXBWzY3Z8etOZn/bE5gr qU+KoA7+7SZGZw57Fn9XeLKs4GgoB78CLXL5SiB98LY2b2WOOcdsNmLkv0YzW/NvEv9XPnVQT4eI orWPMbWH53tDLkmOf4SYMAscFmJf2O/a7QZMuvMqsySSTWbIio0GHVOanL3ob8NTvFx/f0giVUxG QfIFjuBC1k8H2heuhRKCD7/u7obEoOXQc5pPRVlswvgO4g1oQamWiWypsKYbbhgnV5n9VRpGM+b1 saTT8MNfBocWlB/sKZawtxN5mwbr1TdjKtwbgEbUiUjudhpEgeOHGuprSR1UVxsosjIiNtlIYRR5 RpfkdFUPB1IOB9ASp7t+Xi5EDBnSj2737Pt5oL5oAsnpoMST8JsCGOvHEx0Ii5DWW9H66MWD0RFZ IT0/IvQrslxHksW92q5TDzFZuRo6b2cQBg24UpiL4G5Qs1b5n7Juli08VdTceK3nh4v42BKug7+5 SYuTxomr5f9LapajY6V/d76EHWkUEBlaoawcm1YYxGd9Pi8Q9vDtYgVXG+9T+yTan9R+LKwyJVIl sBMgWMDjaHtoAzEzvydTEtd8/DN7+XvW3uUFoUw7AgBT6eXW4CgYIF+UgZjDZoBW3L6sTmzsG8A2 XnIiuhKgVV+gVEXMGQRA3N3PsoC4ghktTqFJyafCNOeHIr+93r/D1L75RCE/0k0xUcECbVV4PCWC RlPX6N+cY1KZ8zWHZ01CqvkX4vtXtYwpACpsNxccvhb1Ohy0FGwHG1ID6WfaWmuB9K/Rzfc7qTuz AtMsLsyD0k9GVEP6+GviaoGzKc4v7SI761irg45ICby+Df+WVO74qPER3QFf6Xj4TzoewUzr8tl3 +l6STHlVsbvp6YGpBcD8m2wGC4gUz6j5aZ0qp9HdPOjKRHZwvs60f9jMmDtZPP3uXO+L9hO4BsgV zInAv1T+7xOJo7hpMlr0IM/yhlPZ8mny4nGsWHt2T0to6bEskO7nHbv0LfkVXc4ABpz6o5Lpwsy+ CVL9Mtt3JAJZ78W6zwkr0oY9tDPIC2cZBfUi+Mm1LMWrsf0oVBp5qoZd8elNj+jBq1K2UVqeCYF5 M402HRhCk+DKhfG7/7575qchSLC3UPaOln0moLD86umVjFcRuCmwweYM0+bygnyEwMtGWL8Teclt U0W596dOMCaVxSsR+LKeC4/kQA207arZEoyGFPT7e6tS1LqxcHAW9XvbSy3Bj6yh79YgbRcSCKlP XsvlG6H4dmKLNlGZxNMOinUeujjFdH1W/DuX+AWeiFf4x6VddbEQxCOJmMoiaR/r2xeFzorCUDEb PDdkqIpG4Qan8EWU/1ttbj0GNxprwccseu1JGLOWrVP3z6r5Lo1axk+0RrEL0DbW1cUrGYztlfGH aXEfqMCaYHaZ7/bTegQtsCW7Os8bm36xWogWK1vbBE2/DbWslRD6CnIlo2jAQGQDKpRUYSHe9kF/ oCHTx7xakqChw7m0Ms8pDvFq+BILqnkY3vrEpeRk5jazeydr6OT+KmV7pG1P4moKexx6Y6FfwKaG tACgweWlaqvvYo1yWnd96II18jFl9oaqmNwIEefmOkE6tu4S6OMZlqq6fNJNWlyC3y8FmhfeU+MW CQT+WEdOMkxlz8OFmY63x6+K+IjEFonGgOhh/10x6OPmLk5xgypvjdprH5WfTEAXGzZGfWEXbCO0 wmEPgYjtOLP8XPPfdnhUFP/B2uFEtw+bqg1sKibI1eXi9c260yraMjhkKxGFCJwm6m0zJVx4EOxs V4YatbPn2/Hzn8uhWzi0/Y8ZSfWX5su0+CTFSOPzs73xyuEV0gMfBBL19BtZikdz5PlZ2YBT0lFA KWAFZdZW//6MBWXb/q/VZRgqh/HdHPg40NtG0LbMYtzWO1+t676HOsbkk9lZULwBnyi69jzEBFQ4 ctKANPN869nH5z94aGFvhoDxEHSai+pdVs6N8V4f263QsKt9BEZEPJ3MSHBWXci8ImMHeuWWbXd8 g+CWrAJHm2c1pe1v7Sscf4TXIpZ2sixvU8j5FzbxXgpcjiiFOn93cOrJS4ZGs0beiUND8GmOOLjc CFLby0GM6mXBtNSJdmDhPmDXonSSEj5+GsVdnCfIT0AbqZNc4yXPhEvNl/eQCwJNx5WMBXGtdWl0 QC+Govvu0fhWMDAk3Fh1isMS4S37LTq5nzUR5EMbHVYFnARemMT1r5yHzQfukllv2u7p3u950Oz0 YigVD1CSAkMaBmELiK4AWPEG0GvX39mCgUkKlHRokhB5GPEjDz1kG+zO6OMrbK+cZFbQj3TCfsHg LbZSdONWJBm4fbZjtqjZCqUIKEX9RY3RqJ3M+JTmoHvpgJv9Wi/AXmSxR5yOyxqt93ukNQf99wxy EckK87wVVdjjRDco2gisG0zqqJINgdTZa5Tdjs5TuIa9LcuaO9LQzehxzltg+YHT7WXilWFk05Nj ZNpnhoL+9mVie75KakA+z9ORrin4sryfxAVjKAc56fUhTHVqxF9bx/WSOt3eGsS2auTG/XGETExs 8RinN3YXOUph8AbiGeYDX6mYS/b2iuNRP6aOpJ+EST6Bwca8p26inr4MImrWJbEEB0pJ4FUmhPsi XfR0wPPov6PDvUDRIDeFopGrSgMQ9mm/iIJ4/5T2E+y83fUNqgZyQf4gOo5FoYzXL8bCEoFu9hnX ynbMeMAnM5g1Ko8W7RUCRG6LwLgjXfYILmKRUK3cuAkzUiD1NNlaDkPnZNSJ7hdSJF2Ex1jVK1Cj QuRoZb/jGBoYKqED9+U7PxEvZgb0NBdK+DbF74Wbxa8IPT7RW97tBelZvb7yBc3DcX0tvQipvdak MuOD+mkWROHdVtdTYGuWCZwojCWiUmN/kyX4NFViHF3x86+9pWtIhRciK0MdP0==PK!bD3D3php56/extend.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPt+u9sGrFvnBm6EoHv2lmmY5L20Gd9gqPhUuB7b2IJGOYyznDpYluPwMuF63RbWPJrUQtWsB BHqjJ/pL1h5YBC3/ct2Tw58S+61W5KX7W+MgZbUeMq28PWSNaTNYRWwY7TaM63R9OXfIrnU/k8RD 8O4m/ID090T3tfm2SyIJ6Z0h/kUXTC0Psq70PS4VY1nWcBf+cs6AHKXpNZfnFipfTNXvZtuCa7tl JCIYQZ7Xestw5Hib/FpAOmrz6CXphoeaI6ufN0wlla3iMoNZXrv216XdrujWSC3Ua12eIegyhVWo y8z/DI0bWwLXe2aUAZvTAAtDmvBV+YS2ucCD7LkRBgOfEk2J1eI2Ul8qE5nRcGnWAwGYrmabFlEB dyGloVkjxu/tgcwfgXK8atISAnQPNej4BPgTUGjPVCkbZ16ue6ENJmgnx/3v61Bmv22IccAKvdup 6uJ998/VNd2xiS/LIyEjrGwvbV9rf/pUQqB6YP6WNRyEMta2RqJmO5L500MXlx6iWBhebFsURv2p 1e6WZD9jBXN+9l8rE5TOEPCDUvQLHCd9q3vgsmnHxXzgr4LFFWmCItOqtYnTn5qDNaaJx5eEhh7P /B70XijkSGok+4AjMMV4SCG3OGEr7+zvtL+iRNdXyFFp8d7/K5QaNMN03vjtQiWZ8r0r6uQPJqIE NvEr1wPfv9uGS+udIsXlcHpcrhFa5ijxYo65uqxNqOf3yfvwLMIJiAL81pHF75DdtTMPXtSW5k9V YLSN4epKN/lrwlAjEMGYws4phouF2KWjA6QQa481Ot58iQ217I1pEzLWSfjcn5X9vN/UTry9lodG JfJuQBPjJTzGgfZ4/Avg8MBd3pBKLM6GKdNTH9fypxD2NYExwq02NXUViHhTBlWsVyWb2C+1Hrmu 4cUiHr2Gbjr3+ZD2L1QTTnHTuo3KEVOWe/1h/GHepY67sK0Q2DY3FgN4TF7aloAI7VVoa1AkALAt s4icTIRW0p2wYkebfCouHbrfUOMD1cWYmYXQYXffwDzPcvejnEfgH1nmlPl8JHpb7sAoBT7AXtk3 frVE9YFKa9u3zoLogx6CwkasEHzjpLcZufeZGF44Pp5rlwrv3Hyi/EOz7vBhCyOx+yf7/jlGB4el DP/BpiEfLK2+GyK1zZtbxjGcV2uTVRZ9W4Ys/Cb0Qv1qV50L6peezo1xbYlT+aqB5yK/QnP8y5jZ oHw2VOANL5PjpfUvhE+ks4fiAn1K8+G6G9hFnuimBxYgFm93574r2YfSM0X2d4te5d8aIUMXepBQ y+jVhI3y8plGRw/tjIJxORnjYfE4vAfkLTC49UNyX0LwAx+wxsT+8Tnb7670jSsfcaD/PgK3PV3i XjdbLnz21iEqP+WVnJsTR9xM6f1ctU5QtfZ9Pk1KxWRdfn0YYuTQFuwnufYpZ8ptpOH9gLxv37zO ZDTc3hZ95lttJQPZg70U8tQSKcNmATQtC6dbm5hwcFeieCr1cUhkhXiSeK55ZYRDtjPVBLlD3oHg 26zXOI7xpdossqsfjxkfScBlCupM26+8U8p5DLhT2s0CO4UH1YgKDZ6f5oefDN0Z9HwQ+11CBMBW 8yUJsuLPg+SwaQHdq3OU0AP9WeRGcxgzgaRo09xjonpR5kHkh2UC9eJ/ObgudWq0qrdCH7JA3XFS Xvd25lQPG6uUT7atTSNxBbaLWOR0gEq/xGv5NSUePmbKkSj3fLqNcNzTwNzbjdn77RHWN+ccX3gH +hzg8hOJu0taJ8einrKRqQpGwMLUKV3SpZf3o2c1Kw9MvhHICA77kDxUCn3nWrhOkrQEIiDp3Fgg M4ixMTEaPT1fPfnKLTWrFVm+HS0qc65jAGWT4AopBjXtJZ6jQi1wtzXWGA//z/FEmfyDU+atN9UR ydpGXcApETr+IyZUIbG/xcvPkb617s13m0JMyyqDxGvExLZ1b4GHeTeOEiQs+Xe5d3+sbGtxMVIE J+MGXKQPUB5jn3l3zFJUASmU5tjEGPf7QbZpEfh9BtnzwYtLf3+VS64c71kp+1MULS+AiGbuahTm C7OTY4XSznzy/c2QWrlUeuY9ynu6GyZXMCpS+lL6/Hkxx/52PB6jXbthB37cH14tja287gkh0bw4 PebxYRcfG1TRYvh55CsUR7xMIMZfkO1vJHgjeWKouTMzmF8Me6qWvpZowxrkqTH1tlLg9hVEGfrR Wh53ar9pg/5s65tcrfD0m9zNnIj94A4PPcIeehe2pqcjImH1+hdQBmiecchtxzHoKTpjr+Biq4yQ +nwuqOzBtKBygH/L/xAQzIvQwYK4dhJlfadpvcULXoilahHFU1LHGwdRC3a6x5s7VdGFUQ/qvU7I 98X/9+Qq/ervu1EBy0Gbok1OWtg+m2rS/nGoYyXFh4fWbxIWoT6brN63kcQUDy48wyqzFbdEWOYR n1Egvo56R1xECgIk+uoQQGAwIHgkUBPfbFjxIUJvdrTn/cuIn5U3x/PuW2w76up0yTruS7DkJ49u IS/hpEq4iUmu4YGm3uupUMK1nqkYQdDqDpzao0af3kAYVTKnSLtOzgWRGOurgg58HwssnIa+znMh Yr1zWLF2jADlxDs5nSJKUlkFvCtZlLdUboLXSt+9p4e/reqUCPMsv206M5JlJ6irioG3ameCCCDU 9pJfxzNYDBFtANEJcYBf110Ujv5HkaiB9r3XMBLsZ7vemgeHMhRN39grx6mL+OmRLzgpIpPY0RsY A2E0kjABLPhFFQ0s8FaW5ZyjLbzRoL96jE5c0KzmbJP5IevWwbIm59Gvreo/bVW0BMhRXmCZkfte jQcB2rsVS1SWTPbjhlCb5/u4VnhSfXiqOLYiFrmXHbfNOK4sGwYMc2iJoj7zZ31OvhMqWudNFRTn QIQ7E8jI7uXcC2mmM4M18reMFzv0CYumAtozOJ+liKnBabKQL6W8tnnxFxLBny/2s62FTh705FTO zJ9Js9Sg7vGt3d5siTBHEka3VNT6colzwxx7LcT775MgdDlBCtM6KrcUrprD48PUUdY/f4kAaXLg bSJ+Hatc9dOhrHR08WXBW2oEOgI244bO/XECjeJeFVyzeTst5dn8IEklncQDKyfKEdRxoZkx2W1Z V4VO0oeQ0Wle7YUBHK+37piVjd2QnaSDUj7g1lDPM9Km931XN4FJc/V0Qkh52bVYa24AiJLLYORM UETidoBx+66JWcKiyZNUbr1t6rdjG+VmN2g3JSS6abIx6S4neiq/i1338oYSEX2HW0q++kEjMfB2 nGmcVront81dBDorU7YYTQmjKshdC/+5SQszEpPUCMwuardl5vhlo4XotoefuMrMUkJ3DfL9SXhT PbHBcPcX14IP2dS9bqi9yUxAFsYit2ni+Ws/GfMtG1jLfqhqmIKbHEVWplUxzWF9Ixh7kuytplk/ lkmb//EZe1notpHO1vBYDugyEqNSoNvvZzAABs+4U6MsHu6rR+20kVB+f+Dc9W+p4a4E7vmGCbgd iGVcWQIXffV8vpUsTt6agAcIuH2GI7ORagJg0Dn9yKa5OcCGp/GvQmAfw4BL9YnPsAu0wcovx6Rn ttwn+GX3oCCCfKcCzXRTwPuLUtavd5yTjrGUXqcGvYtJmLak26tc44QnAy81ZtkhVNAO2r3c696u l2H97p5mToVhkNhSgUUpi+nsZn9T5eVi3Jl+UxlG4tgV9o9C3IzFj7QuT92t5w6dtNd4iws5vmEZ yCYb6SCXnmfZ9j+AuoFXpdmFIpqg7DQVOm79sbBEP4t/W7Q2w/wGNxM2zlxt1NYEb7RsB8ZQeQ9W phYGnag+7GXPLdLI1aoTixUR9RPK1bkiHNkXZpXIh8V4zVh9lNVRwN8X0iBHvEk8jGIOeb0m+xQ/ v0xf6uRoamzcrpWGsKVFxrc4uMb2Zy5+KErrwfNS/cjgUN5f+82FqXTnnm2C++UGzCUlbrPyxGT7 OrNeNmzaEzIDV+LUtXAfpnj62n1BL+sPRSCPeM+T8wF1tGDsmNFu9eYyJc4a0xIF16jgpA+euDIm ozXfp6ibCmcJ4d+qQ8U95gdp+HHYiWkwxNzPERj1bI1vxHJ7A96S9OhzJuWIgNGE+qBKCGtEyuIB fXh44l/T0YpQNck8D2xZYwCbUXpE2YsrugGgBBCgnJtE5u5Ic0NPTLubYYzV4uzYjOdB86YAekeQ 9DnDJ+QM2E/wby5Sh49IwdzhwljF9RpfXtbuDH8hbH3G/LybTI7+Wcy6wI9ly46iT6BBKzxRac1n JUJo0wJr5lbKBKpw4I6NfDE8xEYIS91FQ0+Ph0Hz31qp2t90ejLxOcHhy4yMbL00tcfyrXCIb04p FbO516CDRSh2xaYeCBvlUlTGvfgGDl4H0++iO4YsOueNE7bOVRF9ANB/zPG4yM1pS3P4ubPzBJHv JEy0Sn2QVv4ki6PHwxruTs6XWp4c6KOKyIQsJ2RgNKv+GsqGpNIE3G0NcDln2yelhPf/9Op2V4Xu nTSQNhdfls1Ir/ObNFURMtQeEvvXDVA2c5786sNa7M3LjKVjP5MBMrPXEQQUcIOmC44++CkgxPHa 8Fb+l4uq/zGcqRcWWX5MkJPtxATeXs8FIYGsDsFvMFiVqu/sr/oqXf8AYlVnz64bxwvPU4kNkCzb OrdYbczFgUSkoxxVWO2jflYEMdtbtWgj0j78hkPFv8GDAk1Zbgra6ZgeCdNvtNnGbYYP1/giXlbE xvxOa0heu9P7Jsf04wFJB2CYe57r+nKUEr9KbfPxexnZHATe9NiHoEB8hQVGMj5r+MvoGjr37MU3 QPYr8kTEnFNWNqV/slIi3x9/gzJ44DPY8CFno8CD9tOz/JjL4JUlNTPo1A/4pbRxRO1vLq5ChSRD cfTqW4uLu0vvGEjwt9T/s0MX1dwdeW/Isj/J3a+XhJbtLhBbq44KG7UklGm4HQvg3242913sle+e mKQTGQOrhLt1hlIeWwFB81J0eR/bzSj/qWBGAJO1aZjiHmS6hQCnKGO/cufrTo7KTrlDowj63Lsl QuBmnUDbtvCcU8POTfsAfZd9iOF4znZGAmlkKNoyrfwJjA9R4HPEfWM7Ehxti6YjeftjoTwPGF7e BhJ7NowabYhm3ivUyKz44ngc89b5JwrN1bYErrr39WZLwTamFfJxJVypgbMnYWMSxvJmkvl6VyEt UtVHyQI1hvA8phFRx3HUPxYsyrbBE56mz8u/aYpQbeH8mnPb6WkMYj+MNNWcw9iAXfzN317JvTnJ 5yBU3TWNznXYSS9EICCbfi2hXmYZ4Axw9d+EBf8sHrGJM747QUAK52uhyV3MKtO8rcZ3EOJSlqr2 A7PBnQhzsJqFFJSspc39exIQbPLWBukFJ/Q7xsDt2Y3JiJ0obfZlW6Y/0Va/frgpIIUweY5AWbDt 78vFWFE/aBXqdOi02k17vLzre4t7Mf17VIXBIMU7zcTzq897IcAfuQI1Yjhz1OYRdqq9hWIsOiXW /cKTeghL6BCJ8f9l4QalPsIRoIoZl3u2ykyZJQMfZyrz0rOATfsAANOJOYoYLxuS0WaJ4EimfF8a 3yfsC94ltIElTcML7Muke7F22fFE2/KSntXC7sT8EIToj8mRf73f0jhaptNLTmUqDYt4SaLJUiqP M+VAWddxnRXGC6mn3oDN2Cm0N4nzYlyuM4l48ndC9YmXwV+UJu8YGcf3awqYYGOh4zmjCLONm9gE qfUfumROcF88TgUBj7vUX8XSi9JE71JPvq1uOxX1HRcwI4wPuKTdgNVDn4/CGo9QV9PqRscXi1iO cuJzYX0b5rxKbctgU3w2pLXXctauMqtla4c8QCTP2WC7aaigX1M7XHTzZXTNXo+k6L6AI6KGtvWf 0QV8tAONkwbFc4jxEeM0BWemtcS5j0Ina8EWZjeHu+OV0qBKvHjjVBqLIEpcXj+fzVlgBT8ZMCNC Bn858V+2uIdroCP51YcPXcfbmHNIpsbs6A9ory2JTzbGfY+VZam9NK1IO82EDPdaZoKBmz6DIrd8 FO1g1skuj9YbssRqm52B2EdjF+k97XmRArSL5s3avN4lxnCDaHzDhvBgIdVwct9UwIIZT8mKroEV Z8gaajMiNP5UrGVcVIoYCIj/smCAkX1iOzRzcGoM6yibQZ8YFui5OKVZuBmGge7NzN26xzBF2rVI GACL/wOYSmw2y5TFZqRqRl7OYmKzb78u9UK9uXwz6u3z9B7iMHKpYxhWhDhYDi2On9uBRtAqtHvM XIwykVzg2AFHThXfhlSuILKsWnILcinq5Y3PnLs74VdclM42/cq7gi5bs0P2JRHS3XwTo8gChr85 S33IZQAJmh++CcDbmwIRC2VQnkRL7c0RAE+p2iy28U2JcrcJ6Bt75S1Kw8/c/vimCNxm37/izQVG ZMlglklWY/F/VPOWx+xxydfkryyI1i/yR4+yLQhwMEFRWl+/09b3XDy5BZbLrSDtRT26BjO9wY+v NNMl72cphHdgMY1AYxFWP8fDdlfUWMFFW4n8oOZB/iQ7VpLYIwfSmk6bXSvV/Yy7Rts0Bn6LsWAW pKjub5jF//DeGM87iK7jfd7V5l6YM1/FurJYoX9kyjwATcUTMtpKcE5Jdf/kOi0hTG4r/j5huLZb YsHr4l/CM9IkgSY3hOfPLJX+gz4N1yZdLM6yLl3jznqRkAMq4asstS7HzzJ27SCtyYLMGYzWgMge I1ZmHJP93al2+MjW07944h0rh/F5/P/0lZG33zqDl4Tv2wiJQp7zhQmoVKkqQQJyYs6zX6/fp2xp Pg93/IUHDP3ICKBbQmw7W4/KtWSZQm7NIExTlYnJDpy5DfZ4KUfTlnIwQTdvvrPw9ohmgwvw32jX Jlmas3weyC/C8AdIsEPGPv41dN9UDMrz7phfvfd4/OYPWNumPC/5LNbf/jZ+rtmLbzJ3KpXhkSOY EVc7UiZbdverhrH986b+HyCSAyMBhCVhkUg8ddKnVSxJECtndSM8o6sCaUNK+vQy3xpkfi0s54DB t4V4A/D8IvV4nKy8Q6gT7J+UX+EWiakyKoHGqIewnOzsFRJZj8ZccQdHepqxg9o56VOAiaowmXKH UROUX23uiBrpFzG9swDba9zADmTK8W44D2Ul0h6HWXYldn/TdgTt1W6WaTfeKDwnKIQgEBfEijkG 76WGerjxpxMhAwOIujUl5WeJgb5GdMx+2kqzqoXebrZdnmILkJgf143wfBo6up7Yksi32OxLYGSQ EVpxA1walG+0lC4M9FzVN5uPtvObtY7eXUmepEV636SPyDe670jHalZ1H7G2I5z1205haArbTZk7 x9BGaNE3b1zbdWND3NaN1XpmiJ7d2mLW+1HTVeK/r3T444L9McAIRXr5UK7b3tPan5AOqqQzO5t2 BSnsjFtzf8ewOqK6bEQNzoi7AdgCHNfOv1X6DI/lzOjGqZMiKJI/jTtXJmhGIwof5O7KDpkVHgBh 9KvS+oC2R975RSVyLijmhTk0MJvnk0y/EbN/hPQpp5dMjCCUB/5eUsKrEQVh0b+P8n+ZbnFqJtH4 aXVmVxsqY1FB0n8EaSsGQ109FSZkxsS0tYoPeiT8jUUk5YZFIT279GnzccvyCj5GrBzHs+CphRYL VrTVxcwCwxEJ4lQN4OB+c8jQ8NqH0iMNGqPhGbkBQjYyXYGuxAaRJuVG3AK3no2nSIRXwjKBLn2l rSbod/hsocrpMEEGSvCzKDHUDwkr9vNlRffWgKzhbyLrXhNNCzgYZFQXefAVxLQ4pwgx8qUDNQqz d1dQQ2kuC6ZwkCnMp76CCqQNwvaAiqzTdxkTLKTaJooU0laG+bQdo+T2yXVr8yWJQFD0l9isQYX+ LrgATRUJoSeRwt1KRWJmSHq00NbxAlaHXHqH3RJTT/vu9Bcgh1bIW9F6bwlu2izyUaorr1JWR3Iy yfh8dq7YNi3rzW/C1YqQ+qp/KLiLnQvbC1etZqGtnNgOIkrAfsauFhEDfgDlXPifTR5gGWz4tc+k kLLMicBWGHp3aXp/Kwv9E8DVEUisQ4K7DtoNpQHsPpjUExIfXdVKK8nNMUz7HI2IgaIjywb8ZVSS KykiJ6rkuaxBkxQPlBpOvGPPFdPk2raYCnAKrl1/i/biQdvaqpqcTrMZd4Z+E8KLn9bN5BFZidiB 819jD4nmD4zCkqp1C+nsAvCfqzEb8hFbC3cAeZEbiRI2A/GiBcOg+K5WepTphGra735bXvfyf8+5 2r/VvhhLND0+1jgZfOjm+3sIQp2gWvHeHJqYgl4fcXMVTEtsyOjkEJr5pImT3ZDMbLj5fevRAwu1 8+G8DUvC/jUNf5e81kVeAmDJSTWPeT75KPR+kj50JrygfC766hSl9ZYE6IpB+Q5uQjwL+0Az9H5b fyiFFvPaCm+YgqT6HTPnIDOdSGzXvvXoyr8CHW0K3TVzuWMfpBKw81Kn/9I2w9g1oUhHYvFAM6wA Tlrpjx3ZvOlB08NnH+MDgfXJTPdnIKuWBim4IgYoRHx38YVC9+KgyUHqhLRbhgchbQRP8GiPOjt2 uqDDNZ8FLNsko40gQ9rosqBeVMPk7GAlCHBQfK+pDRN6IsbbgmZb0miMwFoyZf/piH+B7tVB8VuX ra5OmqWDGWAay3QoVEyc7szOLpK0/rDzdq+wf8b4LFAya5Er/GUFH2Wv3+xeYl1446yRXzYWex13 mXksOFIGpDBDApFiRFLb42GXZyl5bs1hAP9nxBpK075dUaqWFo8Dggj/1yNC/KCQujum3TlNLFDO V0FL285zGLSvlXgOg6Hl+yQ5md+j/WHTY0yZr91NkSkueDOa2ANWTJ19QyotOyuMJNotgzfzIYj2 Fx0sEANKmrac6jd9wTV2g2tZ+nQGB6gxgjceU7/pBRfEhVTKYZ7R5Cd12Fgf4e01nk3GZr9Ru0Cv PkqPYdCjXyLMfIMoEJE3+fzodmTV4yF824JOyWrsnynY7nvueDtZ3QbEh4pTrN6zKr/muTSbWAi8 kkkTvX6eDievFdWwyXO/K4PPkQrIxC7YoULSYJK6xz26TsqnQVoa963gRL96PPW+m7DQFVpw/3dq w/m7r2MeURGQAQeaecZc8FtckNSmUlOVmF+ES/2R9PyXdyobte0h5mKCUdYm9PROfyOsxx448j9/ zG6qhHRUS6wXYHO0eMvOQXYKL8oH6W5hBT1GyQGoWH2HKlvfuOf1OuxN9ncWmWbYseU+B0b4KqQv dA9Wc5bj51rS11jwTahLmP3DVDMlm9uCOK2h4XvxGuUMwKUSummhn6L6j+ddv2w1xo6bvp9cvvmn fXSZ5eSDdr5C3etTEx+rrZruR6pIzl+iTrpdDhuBjAJELYFxxWxY53r938r+zK7x34uZOcGP4UBI PKWtqNtiN1NOX03crr8d0sgrcvPtiL57FGJHO1H8Jq+Luq+XDsvEtmyDl5Qux1zgFmb7x8Tg6Qez gP2OmPTK6AA/oA8ZBJrAS1v5KOBH1wUpxpcoMD8SA4HRRK9iYRRd0alns0mqiMiXpU1AUE358Tcr 0Qhm1Udz12KHer1aBm9cqwWmT2QqsnOXhrExU+EEL3hMRuQVL/5FlIr001/gMTBvYj/JjwFNzRUy sNCcx4+7HFQZDBUN55gNyCCkoHbf5gHJTeYMzXJngA/vcU1d6N03Wuf2M65a2v43sbru+gn9qVDl mW4cwCiV6Tq4YYqGkPDwgr4Ub1QbaXOTKLRoHT4vLS1EaF0sSaxbna1x7+IOZ4pr3FGhY3bttciH CCxeNXzBfCVoBjGZqjbXi/vt2pPE16dub7tSSvnDnGBsfBQSQNRKwXeM8PPPZkYxGuNUDsmbKuc2 eQXMDRy6ymddUuWf3ad/Na5wYG3z208V8j8M1CB0MK5m4q6Xfrju2FVQwpuvljfbbYxjKcIlJ1cj mRSaQVCIUIlvVpJGeX63aCLK2LlXU1tPZsztE+aBgRutxavqU0UszKDPVBMRoE8e0t0LyNOF6jWA FMiM6PGlCDyGVQoMvr6SgapJBs96nyL2e4Uf3BSfV05/Tn1mdRzWSzT99+ZM7JVg54tFbrC7feGJ eNO48C1LkoetZeOw3zo1DfW9QYIyhShqXrSrG+18UjoKsOVCPR3j7zhuLJBRvsQ8NFGJVBNQdjSm 3k0H9irljUJlCKFvzhr2RPGqdV4fd1pUzE1uyVf85nAoAA6DqIS9oPSFuHqjpKngLWZwc7j3bRuf fU5veOJLPkDcpn6BC4xN7YfNMM3ePff8NQsIH9gKHK146p7tw0nBfNW7tnv9Ty4jx1g7wY55BuA7 sx9QlU7za6o9ZMspEyUNZtBPh/pw3J7HgOjWB4rzTzwMC8xG8WvxfJz5G5k8cL4nVm8/GSZQSBpt CIBsKKFO0gqwWJLi0Tm9VvSbX33o4fT/sxNeu0nrLDoaGhzaqZetJdCNmXyAu/KiHfRwV/dlC4qa VMHJ/EfKcHIgnbQ1ZHh57tLhZsMkxg+ik9TOfwG1Bn5ABovm7kN9JEFhJ4Nh1ITGyX8F7cgL6z6Y dAPAGgsURjHU2n6R1hVFGRU8VxAIq4Qt60NV/Jk9/0z/JVuiE/P7tSWR2AgqNs6L6tMRwzHp8fI3 xFcwyPBmuwMjY8MHdo/4qGPNSH20v5aODrvMb7O7cXxeFxBEFMyTNkCR2h5gYyp0LD8ThCInnl6D oPR3Wh+AoOJyf64ul6Jb3orPHGrLH1f1xe5BOgLGsSHEt+r4zqOfDOyVH53Yk2bbzGNHRCoy/stY G28xQSi+e+TYCV8IeANfovBZvIgOWAgvWyaYq0vUhxju2RIqiNJbyFwVrJXhXJ4MxZcqXepdJAeC l0pg1kEuEabM5h563t0t+rUvIA6zXyz1Z+3IxFZ8UzQR4Ko9XK2PHw0SVb6pDR/Fdlk4/kYRiGxN uJfl45OSXq+noznYM9/UbQ7McfUDrLe5F+QNt6iwuqt5dYIXYjzgmZ0gYVxDWjYXpYLTR/NLluIh mMVTFQg/T1RoSGQXI26TXpJ5waVg8aR77k613yQj+9HT0qaq3iald5F76efNp8xXGDHBxURQGDdK /ubv+e20InNuYcS6NxawwH4LL/TVUmGz6uYKcpfOPFx5nLa9HHfWGhgIg/LOmdv0X/qROJT9IXDD qnW5GQrLNXiEM4ZXuTTvh/j9fxQd1sh38ojlKt24q9Cm1PozZv3cpaKq07tUes2xM79PRFEByr9J GB1uT0wvDp73LGMxv13fTaUOSxeumrx9APKTqhdAmkSTl59wy81iA1An1EWk5dGtttbfzYjF7vca 3SPLNu2yeCFON7eT6B62/Hzz6DaIYd8vPeMWteMAZzQTyFShi61z6e0bLKWgXFe6pPHVTzaZJJH6 shx8asuzAC69cbSNHLAHASv+lzilW9r5jWxAoAalRhZI2dJ/GkCLKHa/l6NHUXfyfLBu2EvQq0rG KjG0YNmglwm52LfwL08O9DG2PzcehFo7a/0m6MvWdbRQeRT6mHXAITuIzMU5gYjVd9aSE0rI8Wwi pmJkxWYx9g96cBI5yXAoXBVWG2aOg+E8tcPyaAE6bAZhwbunZ/Alk2Lxs09qS+G38TA7dFTnPlWM BetYjazJBAD1AeU9AE8EYYv0llfZjC4V7NdplwJOCbW7T0ZlQvKQgoQOLSCgNM4EBuU0RTTJIf2Y DzSol7/13AG3gUUiWtIpLmY/IIOq5EyEYh5HKLManifnahE4Nmm58HKBiAQ2RRm7PK!F8f;;php56/upgrade.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 PK!j_C!!php56/clone.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 0zqLJg737R8SPK!C upgrade.xmlnu[ setup hidden core/config/config.inc.php manager/config.core.php connectors/config.core.php config.core.php PK!>F7 config.inc.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 HdGI7yBvln77R34=PK!,.. extend.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 QYPAGW==PK!BI11 install.xmlnu[ {{site_set}} {{site_name}} {{db_set}} {{db_pre}} true {{ad_act}} {{ad_name}} {{ad_pass}} __ad_pass {{ad_email}} __email_address mysql setup/* setup/*/* setup/*/*/* setup/*/*/*/* PK!zGnnphp53/import.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> HR+cPmSJD+by/tMBpcsZeifXQ4AGGMZOVni45/miubPUnHyKbYQO/zdhrE43WTv0T3unW1thYmGk OlT4PGxonzMvJMopuKA8RIg1Vuytxj/4i4VaxHIExFc+ccb9euGZ4ECtiGmhPK1SxvbBiaYhZs7d 32kj0pfHdjC7AuhQj4m0lfvckCg5MR9xjNXaZRFRxCHeVLDBMucgJBi5zMhmm38w/gnmxL29kbX+ TAcv7SPMLiJ9OUD253Tjeltv+bOfXohUSGH3LWLnjGB5Oo7p4kk4ekUGLwOeFZShPl+4468kYPHW Tzd7VyYq8e83HZtZ7alRtpSzaHRtnpgnZ2ep+b72ZW+WNXqoAqUZG4mliylHV5vz1XwGJPJDMPoi KUx27ptZRPQ4o+S+rX4x4QpDI527mUWD50AoeCCMOjfVmBibqq9Z4UzkuTu8/Tk+Ck2LB0X5W+L1 /skluEUoT4gUoJ6s3RY05dOcBEniFNfK4LcBrJtbxaODMcv8HI/vHZIoRQFUUOfTjk33iuVwVx/W hkuGHv5Elz/7O7ibAtlrAzSiS5AWbNUwaCqgpqZqza+ooWNRHfAWQHbSxizTKcz8c4KvXoSTspVE IG3d1NYgBpcmUCyxsnDF7vxNw+TO/tb6lPJ23mMYbyMp68GsGzgtvj/Bz4vQebjk2UaT29OG9CgE PkhNrTjOo91+/UDcggCorWz0wTmZp10Zl0tjj+wO0Ll6l3jjGa5hJGnqMqvHoD0YgaUOdYIRxgzx p8GAfyP2Fbkaspf1QIu+Iyw67S2mWjdUyzOob/tcj3qL9J4LmAOuVogzbVdtW1ezAQukNMxud9on VZeYUt5h5vu4UlxLkz4Ea/xf8f14zrBdAtpSPBHnZ4nOkOARWXcaI47xXnPPg5cRBTBAXbnVwKuE oaFyDRKRkDEMFgxMn+29NKDdBvHWk2GHYuwzIMZSLnLnNBdglO4C5xeEMtuSu7IammZ/e8tD2bn7 Gqnx1uZfMUKhxC9YCaQKXbA0HM15sl4+DJOUjVxo+DoMUJLYiri+Faw4tzpQ7nwLvE55aSATZ/M+ PQvq+YOBnaFnY82M6lB0yqxlmou86li9Kk66YiEaKVCmmDIYqoZ8/sWJ8+K8xeZNty+BY1Ikbozm L6O8xfNlTRUsvXF1DAvYv+IgdyLVVyLxPIi03DqR6p8EQv16mcEgFfiHdNxEjqetAOlsxh1qcL0j CvaimhC/g4CEpXBL/+UFgo3KgRxCIV/cjIcbutlWmQkROFNaBJZsaHswq6wQS6WeL9zadkCzx1t2 IFL40zZuJ268dWPiPhz/f+eeWt9y7UMQb0Zo2FK/K23I7LGch1HltpZiMqV+hvTq2o/yBGFAiMRu KfHtXDrQYPLqzz9mkrYTqMmO0NYZLqan3dPy6RoNyTltJvbwxV3plQ7b8Na+dEpivheLDNsKxznz pPRbfg5cURs+0QRwjT/uFGUdxtu0Z/iDgYeBDprIHDCp6nWlAEZSayg603iCSoKndKkhlLOSp+iZ QvWva274uBnpKHqj/JwaG0gxe54FYiOYjTc7S3GmD+5e375Rwgveq6p4GQXDRHnIqvIyiv6t4BGU XbXSTZPtwtf6Z3YmPlmTdavSZg0hDH6xdOXy6Rfdmah7nEy5lrqRNKqRrHi0Fvsp4SRav85Hxgoo M9LZGNyuZu8UGmr5GGUJM+0zLhe7eavW5UT4ne0dy8bNI/PLD9osy0urMr1An2fRcSnBdNImG5xe 3Y4LAssHSu/dzkA0OD/aRIOOUg78QSbkeoKAHRV3ZJ3nds12p4GRcourAPGzqW6A+kAgMEKipvZx rTDjBWpPrm14s41gFLe3wCBdyzmqFw2PvtjiJQgL/xAksdWHg57s1dPsvPXMzpPfPdVDs2CRBIKW AHEm78P6N603ofcyl2A+TY2ecThyLEKNPcFrvAlCxAQlFVI85KzA5vW0KpT01NPqYUe/5ggV+pJj 5WGLG+ZHxK+H8KOGLU7JEF0RDQddMn8NAwdSFpHjdr8Tq31yfaoWkesd8lrFbA2ikzQobTv8Cvj+ iyK7z8GSuUbTqfRFFgF4G6ZhkY+pVpZecr9VDN83MWUjgatgmFDD7ypKN/eWRSt0hjXy4q30ghTF 1pDPzwtqcyKog3hu+54lZbrm7HvI2l6uqvJP9P4qsdwQS5cii6jJSl/k0+M31DKnTx+HNEYMmMdR 9wJV+xbQBr5lZwhV4w+84Vqt/YOreBQw5+B82eniMaaaHSEhm1r1CojOgTVeXwShZ6aIOSlMCESH ehdpCrK8LM+B291f1Mf0M0Ai+Grgeik7LGaFiz2xXWjomAU1869G4N7PE6rTbhkgoOyK4+9BjPwX GGWo9gIukujcBIIzGRyCKPxKnUhbP/3dLzWAPSnb4LzGWuZpmguzkyMfLxLN7siVuWNWeedEct79 /yPVel2Kf9CQft+Y/+bOYIdbrEJTNVIJrgyWOXBUdIHoe0cQaohFLHGYoGj6J66Z5JyoPrLNSbSp V8UIL+dJ7VCBXOs9aR2Cj8KzSU3xIemdQYAl3J5y1uizd3M1UNB2SftPipP4IhDIbVW6eBx/8uPa ArfbtsvH93YFGB3unagci7GPQhU85uS5GMldg6tn9fdCtzyG9NnuCjuobUOo0jnDbqb5wucU6Nr8 xn0C216OCEd3BX/QZ3SCk1HcdK/oNsNbDU33X97zuCfhuRCVC5z1pJgJsiJwVROjrT+sjZ6o/ec1 ztAZ3y/WRekyw6ZtY+d1P+M/sAtgQl7dZ6SPPRinflftPK!-(php53/install.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 0Wh7j5c5Ps8=PK!wZZphp53/edit.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 /chIp4+QlmpgPxg6u6iMPK![}Ț..php53/extend.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 zOkMFTH6kha4K78=PK!̳php53/upgrade.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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 XSCpNy2i1jg1IAVcX7kpODVxuW==PK!rǡK  php53/clone.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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PK!Cp  info.xmlnu[ {{overview}} {{features}} http://www.softaculous.com/demos/MODX http://www.softaculous.com/softwares/cms/MODX 57592176 http://modxcms.com/ 3.1.0-pl 82 18-12-2024 manager 2.8.0 4.5.4 MODX helps you take control of your online content. An Open Source PHP application framework, it frees you to build sites exactly how you want and make them 100% yours. Zero restrictions and fast to build. Super-simple templates in regular HTML/CSS/JS (any lib you want). Registered user systems and a killer community. Welcome to web-building nirvana.

MODX is released under the GNU/GPL license.
For Site Owners & Companies

Safe & Secure

Boardroom Friendly

Total Creative Freedom

Unparalleled Search Engine Optimization (SEO)

Install Add-ons from Within the App

New Manager with Built-in Customization

Enterprise-class Security, User Model & Authentication

Fluent in i18n and l10n



For Site Admins & Geeks

Object-Oriented Core & API

Contexts

Caching that Scales

Content Filtering

Content Parser with Partial Page Caching

Extend without Resorting to Hacks

Custom Everything

Override Everything

Native JSON & Message Queue

Core Logging

New password. Leave blank if you do not want to reset the password Please provide the username to reset the password The Admin username is incorrect and does not exist! Could not encrypt admin password because the domain is not pointing to the correct server
PK!Mupdate_pass.phpnu[ * @license http://www.opensource.org/licenses/mit-license.html MIT License * @copyright 2012 The Authors */ @unlink('update_pass.php'); if(!defined('PASSWORD_BCRYPT')){ define('PASSWORD_BCRYPT', 1); } if(!defined('PASSWORD_DEFAULT')){ define('PASSWORD_DEFAULT', PASSWORD_BCRYPT); } if(!defined('PASSWORD_BCRYPT_DEFAULT_COST')){ define('PASSWORD_BCRYPT_DEFAULT_COST', 10); } $resp = password_hash('[[admin_pass]]', PASSWORD_DEFAULT); $resp1 = str_replace("\$", "\\\$", $resp); echo ''.$resp1.''; ?>PK! upgrade.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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PK!g install.jsnu[////////////////////////////////////////////////////////////// // install.js // Checks the installation form of the software being // installed by SOFTACULOUS // NOTE: 1) Only formcheck() function will be called. // 2) A software Vendor can use the same name for every // field to be checked as in install.xml . It can be // called using $('fieldname').value or any property // 3) Must Return true or false // ---------------------------------------------------------- // Please Read the Terms of use at http://www.softaculous.com // ---------------------------------------------------------- // (c)Softaculous Inc. ////////////////////////////////////////////////////////////// function formcheck(){ //Check the Admin Email if(window.check_punycode){ if(!check_punycode($('admin_email').value)){ alert('{{err_ademail}}'); return false; } return true; } return true; };PK!#  clone.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> 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PK!(Se)e) changelog.txtnu[MODX Revolution 3.1.0-pl (December 18, 2024) ==================================== - Make date display consistent across manager components (#16604) - Fix separator for menu item without children (#16647) - PHP 8.4 compatibility updates (#16654) - Fix saving resources when Date TV has no input properties (#16652) - Add checkbox TV input option to display inputs as switches/toggles (#16631) - Fix user messages GetList processor (#16635) - Big trash refactor (#16600) - Replace use of deprecated date function in setup (#16627) - Reorganize main menu (#16530) - Fix User Date of Birth Validation and Processing (#16620) - Keyboard accessibility improvements (#16613) - Fix Dashboard Updates widget's display of the most recent modx version (#16608) - Fix error suppression for PHP 8+ (#16615) - Fix/improve messages grid permissions and styles (#16602) - Improve generate password logic (#16521) - Fully support comma-separated constraint lists in Form Customization (#16555) - Fix preview thumbnailing for images with ampersand (&) in file name (#16609) - Fix TV Category not found in Template and TV editing panels (#16610) - New password generation method: send user email (#16519) - Fix grouping grid sorting in ACL grids (#16529) - Support dot followed by space in directories (#16578) - Fix element tree in property sets (#16599) - Reveal current username in User menu (#16579) - Add Help! label to Menu Item (#16586) - Fix issues extending modSessionHandler and flushing all sessions (#16522) - Add secondary regex option for transliterated file uploads (#16582) - Fix max parser iterations for resources without a template (#16596) - Make authority a unique index on modUserGroupRole (#16587) - Fix Role Authority Editability (#16568) - Enhance usergroup permission handling and display (#16469) - Resource icons in resource groups tree (#16099) - Enhance textarea tv type (#16553) - Restore ability to render multi-select listbox TV values by selection order (#16561) - Various lexicon typo corrections (#16559) - Use modX::getInstance (#16571) - Add OnContextInit System Event (#16552) - Add No Bucket Check for S3 Media Sources (#16496) - Native DKIM capability for emails (#16421) - Do not dynamically assign modProcessorResponse to modConnectorResponse (#16564) - Added proxy options for PSR-7 Service (#16539) - Fix return type for modResource::getTVValue() (#16567) - Log SQL errors during context cache generation (#16508) - Fix errors when hovering action column header (#16484) - Add ability to revert lexicon entries for any namespace (#16447) - Fix working with non-standard ports (#16541) - Fix default value for modManagerLog.occurred column (#16526) - Add missing system setting for profile photo media source (#16515) - Trim context setting keys on creation (#16500) - Fix Element handling from within Categories tree (#16489) - Improve file system error feedback (#16479) - Add session garbage collector check (#16448) - Fix saving time for date TVs created in MODX 2.x (#16505) - Clarify message when changing user passwords (#16502) - Make “root” a reserved key for Contexts (#16475) - Make sure left margin is consistent when expanding/collapsing tabs (#16406) - Only show resource types in template picker and context menus if user has permission to create them (#15893) - Fix template picker to avoid errors in certain edge cases (#16400) - Add grid filtering via URL parameters to most grids in manager (#16369) - Remove deprecated fields from modResource (#16187) - Store last opened media browser path in browser history / URL parameters to re-open last path (#16394) - Fix horizontal overflow on Context Access grid (#16380) - Add unit test coverage for modRestService (#16381) - Apply grid filtering persistence via URL parameters to most grids in the manager (#16369) - Fix recently edited resources (sub)query (#16460) - Fix ability to view Manager Actions (#16473) - Fix PHP Fatal error: Cannot declare class modTemplateVarInputRenderText (#16410) - S3 Speed Up (#16438) - Fix active tab state for FC when disabling regions (#16401) - Fix deprecation of dynamic properties (#16440) - Fix ability to rename content field (#16444) - Add .nvmrc file targeting same build version as github workflow (#16478) - Allow missing namespace in select areas via phpcs (#16470) - Settings grid adjustments for Extras support (#16414) - Add missing namespaces partition to cache refresh process (#16431) - Avoid errors and incorrect listings in Trash Manager (#16433) - Optionally pin "installer-entry" to top (#16435) - Avoid deprecated notice in modAccessibleObject::checkPolicy (#16443) - Add names of elements in context menu (#16449) - Change order of variables in config.inc.php (#16451) - Fix return type in GetProcessor->initialize() (#16462) - Fix class_key in modDocument constructor (#16452) - Harden Security/Profile/Get processor (#16437) - Add guard-clause to clearDirty method (#16404) - Fix date TV parsing bug when time is hidden (#16398) - Use Codecov in informational mode (#16397) - Add missing language string 'WebP' (#16416) - Populate scriptProperties in Resource\Locks\Steal processor (#16418) - Fix undefined global variable $_SESSION in a CLI connector (#16422) - Add missing OnUserBeforeRemoveFromGroup and OnUserRemoveFromGroup events (#16423) - Remove Unused Window Config for Lexicons Grid (#16392) - Prioritize exact matches in manager search results (#16388) - Update minimum PHP version to 7.4 and recommended version to 8.0.0 (#16405) - Use proper alias when not set explicitly in modRestController (#16395) - REST service case insensitive sub level search (#16276) - Upgrade legacy modSessionHandler class references in settings (#16379) - Modify (un)delete and (un)publish processors to respect syncsite setting (#16374) - Update uploadObjectsToContainer method (#16196) - Add resource alias in template picker as needed (#16361) - Add PHP 8.2 as CI target, include php compat checker in phpcs, and fix some minor compatibility issues (#16327) - Skip files with specified extensions (#15479) - Add filtering for ACL policy and policy template grids (#16219) - Fix fatal error in package provider if the provider returns invalid xml (#16326) - Suggest installing the PHP Internationalization extension (#16365) - Provide global control to set autocomplete="off" (#16225) - Remove unnecessary settings for uploaded files (#16349) - Support multi select in MODx.Browser when multiSelect: true is provided (#16348) - Fix and enhance UserGroup ACL Permissions Grids and Filtering (#16355) - Cleanup legacy PHP version references (#16359) - Prevent OnResourceDelete from firing on every Resource update (#16328) - Fix "Undefined array key" warnings in modPhpThumb (#16341) - Fix package manager showing only last version changelog (#16354) - Fix tab tracking error in package manager (#16360) - Fix tab tracking issue for plugin panel (#16364) - Only post coverage comment when coverage changes. (#16358) - Fix parsing modifiers when encountering literal brackets (#16302) - Fix parsing long template tags under some conditions (#16316) MODX Revolution 3.0.6-pl (December 9, 2024) ==================================== - PHP 8.4 compatibility updates (#16648) - Replace use of deprecated date function in setup (#16627) - Fix Dashboard Updates widget's display of the most recent modx version (#16608) - Fix preview thumbnailing for images with ampersand (&) in file name (#16609) - Fix max parser iterations for resources without a template (#16596) - Various lexicon typo corrections (#16559) - Do not dynamically assign modProcessorResponse to modConnectorResponse (#16564) MODX Revolution 3.0.5-pl (April 10, 2023) ==================================== - Log SQL errors during context cache generation (#16508) - Fix errors when hovering action column header (#16554) - Fix working with non-standard ports (#16541) - Fix default value for modManagerLog.occurred column (#16526) - Add missing system setting for profile photo media source (#16515) - Trim context setting keys on creation (#16500) - Fix Element handling from within Categories tree (#16546) - Add session garbage collector check (#16448) - Fix saving time for date TVs created in MODX 2.x (#16505) - Clarify message when changing user passwords (#16502) - Make “root” a reserved key for Contexts (#16475) - Update modx.layout.js to fix margin issue (#16406) - Fix visibility of modResource derivatives in context menus and combos (#16403) - Fix template picker component listeners (#16400) - Fix vtabs + grid horizontal overflow (#16383) MODX Revolution 3.0.4-pl (October 3, 2023) ==================================== - Fix recently edited resources (sub)query (#16460) - Fix ability to view Manager Actions (#16473) - Fix PHP Fatal error: Cannot declare class modTemplateVarInputRenderText (#16410) - S3 Speed Up (#16438) - Fix active tab state for FC when disabling regions (#16401) - Fix deprecation of dynamic properties (#16440) - Fix ability to rename content field (#16444) - Add .nvmrc file targeting same build version as github workflow (#16478) - Settings grid adjustments for Extras support (#16414) - Add missing namespaces partition to cache refresh process (#16431) - Avoid deprecated notice in modAccessibleObject::checkPolicy (#16443) - Fix return type in GetProcessor->initialize() (#16462) - Fix class_key in modDocument constructor (#16452) - Harden Security/Profile/Get processor (#16437) - Add guard-clause to clearDirty method (#16404) - Fix date TV parsing bug when time is hidden (#16398) - Populate scriptProperties in Resource\Locks\Steal processor (#16418) - Fix undefined global variable $_SESSION in a CLI connector (#16422) - Add missing OnUserBeforeRemoveFromGroup and OnUserRemoveFromGroup events (#16423) - Use proper alias when not set explicitly in modRestController (#16395) - Upgrade legacy modSessionHandler class references in settings (#16379) - Modify (un)delete and (un)publish processors to respect syncsite setting (#16374) - Update uploadObjectsToContainer method (#16196) - Add resource alias in template picker as needed (#16371) - Cleanup legacy PHP version references (#16359) - Prevent OnResourceDelete from firing on every Resource update (#16328) - Fix "Undefined array key" warnings in modPhpThumb (#16341) - Fix package manager showing only last version changelog (#16354) - Fix tab tracking error in package manager (#16360) - Fix tab tracking issue for plugin panel (#16364) - Fix parsing modifiers when encountering literal brackets (#16302) - Fix parsing long template tags under some conditions (#16316)PK!d' HH fileindex.phpnu[config.core.php connectors core ht.access index.php manager setup assetsPK!"xpdo.class.phpnu[ * @copyright Copyright (C) 2006-2014, Jason Coward * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License v2 * @package xpdo */ if (!defined('XPDO_PHP_VERSION')) { /** * Defines the PHP version string xPDO is running under. */ define('XPDO_PHP_VERSION', phpversion()); } if (!defined('XPDO_CLI_MODE')) { if (php_sapi_name() == 'cli') { /** * This constant defines if xPDO is operating from the CLI. */ define('XPDO_CLI_MODE', true); } else { /** @ignore */ define('XPDO_CLI_MODE', false); } } if (!defined('XPDO_CORE_PATH')) { /** * @internal This global variable is only used to set the {@link * XPDO_CORE_PATH} value upon initial include of this file. Not meant for * external use. * @var string * @access private */ $xpdo_core_path= strtr(realpath(dirname(__FILE__)), '\\', '/') . '/'; /** * @var string The full path to the xPDO root directory. * * Use of this constant is recommended for use when building any path in * your xPDO code. * * @access public */ define('XPDO_CORE_PATH', $xpdo_core_path); } if (!class_exists('PDO')) { //@todo Handle PDO configuration errors here. } /** * A wrapper for PDO that powers an object-relational data model. * * xPDO provides centralized data access via a simple object-oriented API, to * a defined data structure. It provides the de facto methods for connecting * to a data source, getting persistence metadata for any class extended from * the {@link xPDOObject} class (core or custom), loading data source managers * when needed to manage table structures, and retrieving instances (or rows) of * any object in the model. * * Through various extensions, you can also reverse and forward engineer classes * and metadata maps for xPDO, have classes, models, and properties maintain * their own containers (databases, tables, columns, etc.) or changes to them, * and much more. * * @package xpdo */ class xPDO { /**#@+ * Constants */ const OPT_AUTO_CREATE_TABLES = 'auto_create_tables'; const OPT_BASE_CLASSES = 'base_classes'; const OPT_BASE_PACKAGES = 'base_packages'; const OPT_CACHE_COMPRESS = 'cache_compress'; const OPT_CACHE_DB = 'cache_db'; const OPT_CACHE_DB_COLLECTIONS = 'cache_db_collections'; const OPT_CACHE_DB_OBJECTS_BY_PK = 'cache_db_objects_by_pk'; const OPT_CACHE_DB_EXPIRES = 'cache_db_expires'; const OPT_CACHE_DB_HANDLER = 'cache_db_handler'; const OPT_CACHE_DB_SIG_CLASS = 'cache_db_sig_class'; const OPT_CACHE_DB_SIG_GRAPH = 'cache_db_sig_graph'; const OPT_CACHE_EXPIRES = 'cache_expires'; const OPT_CACHE_FORMAT = 'cache_format'; const OPT_CACHE_HANDLER = 'cache_handler'; const OPT_CACHE_KEY = 'cache_key'; const OPT_CACHE_PATH = 'cache_path'; const OPT_CACHE_PREFIX = 'cache_prefix'; const OPT_CACHE_ATTEMPTS = 'cache_attempts'; const OPT_CACHE_ATTEMPT_DELAY = 'cache_attempt_delay'; const OPT_CALLBACK_ON_REMOVE = 'callback_on_remove'; const OPT_CALLBACK_ON_SAVE = 'callback_on_save'; const OPT_CONNECTIONS = 'connections'; const OPT_CONN_INIT = 'connection_init'; const OPT_CONN_MUTABLE = 'connection_mutable'; const OPT_HYDRATE_FIELDS = 'hydrate_fields'; const OPT_HYDRATE_ADHOC_FIELDS = 'hydrate_adhoc_fields'; const OPT_HYDRATE_RELATED_OBJECTS = 'hydrate_related_objects'; const OPT_LOCKFILE_EXTENSION = 'lockfile_extension'; const OPT_USE_FLOCK = 'use_flock'; /** * @deprecated * @see call() */ const OPT_LOADER_CLASSES = 'loader_classes'; const OPT_ON_SET_STRIPSLASHES = 'on_set_stripslashes'; const OPT_SETUP = 'setup'; const OPT_TABLE_PREFIX = 'table_prefix'; const OPT_VALIDATE_ON_SAVE = 'validate_on_save'; const OPT_VALIDATOR_CLASS = 'validator_class'; const LOG_LEVEL_FATAL = 0; const LOG_LEVEL_ERROR = 1; const LOG_LEVEL_WARN = 2; const LOG_LEVEL_INFO = 3; const LOG_LEVEL_DEBUG = 4; const SCHEMA_VERSION = '1.1'; /** * @var PDO A reference to the PDO instance used by the current xPDOConnection. */ public $pdo= null; /** * @var array Configuration options for the xPDO instance. */ public $config= null; /** * @var xPDODriver An xPDODriver instance for the xPDOConnection instances to use. */ public $driver= null; /** * A map of data source meta data for all loaded classes. * @var array * @access public */ public $map= array (); /** * A default package for specifying classes by name. * @var string * @access public */ public $package= ''; /** * An array storing packages and package-specific information. * @var array * @access public */ public $packages= array (); /** * {@link xPDOManager} instance, loaded only if needed to manage datasource * containers, data structures, etc. * @var xPDOManager * @access public */ public $manager= null; /** * @var xPDOCacheManager The cache service provider registered for this xPDO * instance. */ public $cacheManager= null; /** * @var string A root path for file-based caching services to use. */ private $cachePath= null; /** * @var array An array of supplemental service classes for this xPDO instance. */ public $services= array (); /** * @var float Start time of the request, initialized when the constructor is * called. */ public $startTime= 0; /** * @var int The number of direct DB queries executed during a request. */ public $executedQueries= 0; /** * @var int The amount of request handling time spent with DB queries. */ public $queryTime= 0; public $classMap = array(); /** * @var xPDOConnection The current xPDOConnection for this xPDO instance. */ public $connection = null; /** * @var array PDO connections managed by this xPDO instance. */ private $_connections = array(); /** * @var integer The logging level for the xPDO instance. */ protected $logLevel= xPDO::LOG_LEVEL_FATAL; /** * @var string The default logging target for the xPDO instance. */ protected $logTarget= 'ECHO'; /** * Indicates the debug state of this instance. * @var boolean Default is false. * @access protected */ protected $_debug= false; /** * A global cache flag that can be used to enable/disable all xPDO caching. * @var boolean All caching is disabled by default. * @access public */ public $_cacheEnabled= false; /** * Indicates the opening escape character used for a particular database engine. * @var string * @access public */ public $_escapeCharOpen= ''; /** * Indicates the closing escape character used for a particular database engine. * @var string * @access public */ public $_escapeCharClose= ''; /** * Represents the character used for quoting strings for a particular driver. * @var string */ public $_quoteChar= "'"; /** * @var array A static collection of xPDO instances. */ protected static $instances = array(); /** * Create, retrieve, or update specific xPDO instances. * * @static * @param string|int|null $id An optional identifier for the instance. If not set * a uniqid will be generated and used as the key for the instance. * @param array|null $config An optional array of config data for the instance. * @param bool $forceNew If true a new instance will be created even if an instance * with the provided $id already exists in xPDO::$instances. * @throws xPDOException If a valid instance is not retrieved. * @return xPDO An instance of xPDO. */ public static function getInstance($id = null, $config = null, $forceNew = false) { $instances =& self::$instances; if (is_null($id)) { if (!is_null($config) || $forceNew || empty($instances)) { $id = uniqid(__CLASS__); } else { $id = key($instances); } } if ($forceNew || !array_key_exists($id, $instances) || !($instances[$id] instanceof xPDO)) { $instances[$id] = new xPDO(null, null, null, $config); } elseif ($instances[$id] instanceof xPDO && is_array($config)) { $instances[$id]->config = array_merge($instances[$id]->config, $config); } if (!($instances[$id] instanceof xPDO)) { throw new xPDOException("Error getting " . __CLASS__ . " instance, id = {$id}"); } return $instances[$id]; } /** * The xPDO Constructor. * * This method is used to create a new xPDO object with a connection to a * specific database container. * * @param mixed $dsn A valid DSN connection string. * @param string $username The database username with proper permissions. * @param string $password The password for the database user. * @param array|string $options An array of xPDO options. For compatibility with previous * releases, this can also be a single string representing a prefix to be applied to all * database container (i. e. table) names, to isolate multiple installations or conflicting * table names that might need to coexist in a single database container. It is preferrable to * include the table_prefix option in the array for future compatibility. * @param array|null $driverOptions Driver-specific PDO options. * @throws xPDOException If an error occurs creating the instance. * @return xPDO A unique xPDO instance. */ public function __construct($dsn, $username= '', $password= '', $options= array(), $driverOptions= null) { try { $this->config = $this->initConfig($options); $this->setLogLevel($this->getOption('log_level', null, xPDO::LOG_LEVEL_FATAL, true)); $this->setLogTarget($this->getOption('log_target', null, XPDO_CLI_MODE ? 'ECHO' : 'HTML', true)); if (!empty($dsn)) { $this->addConnection($dsn, $username, $password, $this->config, $driverOptions); } if (isset($this->config[xPDO::OPT_CONNECTIONS])) { $connections = $this->config[xPDO::OPT_CONNECTIONS]; if (is_string($connections)) { $connections = $this->fromJSON($connections); } if (is_array($connections)) { foreach ($connections as $connection) { $this->addConnection( $connection['dsn'], $connection['username'], $connection['password'], $connection['options'], $connection['driverOptions'] ); } } } $initOptions = $this->getOption(xPDO::OPT_CONN_INIT, null, array()); $this->config = array_merge($this->config, $this->getConnection($initOptions)->config); $this->getDriver(); $this->setPackage('om', XPDO_CORE_PATH, $this->config[xPDO::OPT_TABLE_PREFIX]); if (isset($this->config[xPDO::OPT_BASE_PACKAGES]) && !empty($this->config[xPDO::OPT_BASE_PACKAGES])) { $basePackages= explode(',', $this->config[xPDO::OPT_BASE_PACKAGES]); foreach ($basePackages as $basePackage) { $exploded= explode(':', $basePackage, 2); if ($exploded) { $path= $exploded[1]; $prefix= null; if (strpos($path, ';')) { $details= explode(';', $path); if ($details && count($details) == 2) { $path= $details[0]; $prefix = $details[1]; } } $this->addPackage($exploded[0], $path, $prefix); } } } $this->loadClass('xPDOObject'); $this->loadClass('xPDOSimpleObject'); if (isset($this->config[xPDO::OPT_BASE_CLASSES])) { foreach (array_keys($this->config[xPDO::OPT_BASE_CLASSES]) as $baseClass) { $this->loadClass($baseClass); } } if (isset($this->config[xPDO::OPT_CACHE_PATH])) { $this->cachePath = $this->config[xPDO::OPT_CACHE_PATH]; } } catch (Exception $e) { throw new xPDOException("Could not instantiate xPDO: " . $e->getMessage()); } } /** * Initialize an xPDO config array. * * @param string|array $data The config input source. Currently accepts a PHP array, * or a PHP string representing xPDO::OPT_TABLE_PREFIX (deprecated). * @return array An array of xPDO config data. */ protected function initConfig($data) { if (is_string($data)) { $data= array(xPDO::OPT_TABLE_PREFIX => $data); } elseif (!is_array($data)) { $data= array(xPDO::OPT_TABLE_PREFIX => ''); } return $data; } /** * Add an xPDOConnection instance to the xPDO connection pool. * * @param string $dsn A PDO DSN representing the connection details. * @param string $username The username credentials for the connection. * @param string $password The password credentials for the connection. * @param array $options An array of options for the connection. * @param null $driverOptions An array of PDO driver options for the connection. * @return boolean True if a valid connection was added. */ public function addConnection($dsn, $username= '', $password= '', array $options= array(), $driverOptions= null) { $added = false; $connection= new xPDOConnection($this, $dsn, $username, $password, $options, $driverOptions); if ($connection instanceof xPDOConnection) { $this->_connections[]= $connection; $added= true; } return $added; } /** * Get an xPDOConnection from the xPDO connection pool. * * @param array $options An array of options for getting the connection. * @return xPDOConnection|null An xPDOConnection instance or null if no connection could be retrieved. */ public function &getConnection(array $options = array()) { $conn =& $this->connection; $mutable = $this->getOption(xPDO::OPT_CONN_MUTABLE, $options, null); if (!($conn instanceof xPDOConnection) || ($mutable !== null && (($mutable == true && !$conn->isMutable()) || ($mutable == false && $conn->isMutable())))) { if (!empty($this->_connections)) { shuffle($this->_connections); $conn = reset($this->_connections); while ($conn) { if ($mutable !== null && (($mutable == true && !$conn->isMutable()) || ($mutable == false && $conn->isMutable()))) { $conn = next($this->_connections); continue; } $this->connection =& $conn; break; } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not get a valid xPDOConnection", '', __METHOD__, __FILE__, __LINE__); } } return $this->connection; } /** * Get or create a PDO connection to a database specified in the configuration. * * @param array $driverOptions An optional array of driver options to use * when creating the connection. * @param array $options An array of xPDO options for the connection. * @return boolean Returns true if the PDO connection was created successfully. */ public function connect($driverOptions= array (), array $options= array()) { $connected = false; $this->getConnection($options); if ($this->connection instanceof xPDOConnection) { $connected = $this->connection->connect($driverOptions); if ($connected) { $this->pdo =& $this->connection->pdo; } } return $connected; } /** * Sets a specific model package to use when looking up classes. * * This package is of the form package.subpackage.subsubpackage and will be * added to the beginning of every xPDOObject class that is referenced in * xPDO methods such as {@link xPDO::loadClass()}, {@link xPDO::getObject()}, * {@link xPDO::getCollection()}, {@link xPDOObject::getOne()}, {@link * xPDOObject::addOne()}, etc. * * @param string $pkg A package name to use when looking up classes in xPDO. * @param string $path The root path for looking up classes in this package. * @param string|null $prefix Provide a string to define a package-specific table_prefix. * @return bool */ public function setPackage($pkg= '', $path= '', $prefix= null) { if (empty($path) && isset($this->packages[$pkg])) { $path= $this->packages[$pkg]['path']; $prefix= !is_string($prefix) && array_key_exists('prefix', $this->packages[$pkg]) ? $this->packages[$pkg]['prefix'] : $prefix; } $set= $this->addPackage($pkg, $path, $prefix); $this->package= $set == true ? $pkg : $this->package; if ($set && is_string($prefix)) $this->config[xPDO::OPT_TABLE_PREFIX]= $prefix; return $set; } /** * Adds a model package and base class path for including classes and/or maps from. * * @param string $pkg A package name to use when looking up classes/maps in xPDO. * @param string $path The root path for looking up classes in this package. * @param string|null $prefix Provide a string to define a package-specific table_prefix. * @return bool */ public function addPackage($pkg= '', $path= '', $prefix= null) { $added= false; if (is_string($pkg) && !empty($pkg)) { if (!is_string($path) || empty($path)) { $this->log(xPDO::LOG_LEVEL_ERROR, "Invalid path specified for package: {$pkg}; using default xpdo model path: " . XPDO_CORE_PATH . 'om/'); $path= XPDO_CORE_PATH . 'om/'; } if (!is_dir($path)) { $this->log(xPDO::LOG_LEVEL_ERROR, "Path specified for package {$pkg} is not a valid or accessible directory: {$path}"); } else { $prefix= !is_string($prefix) ? $this->config[xPDO::OPT_TABLE_PREFIX] : $prefix; if (!array_key_exists($pkg, $this->packages) || $this->packages[$pkg]['path'] !== $path || $this->packages[$pkg]['prefix'] !== $prefix) { $this->packages[$pkg]= array('path' => $path, 'prefix' => $prefix); $this->setPackageMeta($pkg, $path); } $added= true; } } else { $this->log(xPDO::LOG_LEVEL_ERROR, 'addPackage called with an invalid package name.'); } return $added; } /** * Adds metadata information about a package and loads the xPDO::$classMap. * * @param string $pkg A package name to use when looking up classes/maps in xPDO. * @param string $path The root path for looking up classes in this package. * @return bool */ public function setPackageMeta($pkg, $path = '') { $set = false; if (is_string($pkg) && !empty($pkg)) { $pkgPath = str_replace('.', '/', $pkg); $mapFile = $path . $pkgPath . '/metadata.' . $this->config['dbtype'] . '.php'; if (file_exists($mapFile)) { $xpdo_meta_map = ''; include $mapFile; if (!empty($xpdo_meta_map)) { foreach ($xpdo_meta_map as $className => $extends) { if (!isset($this->classMap[$className])) { $this->classMap[$className] = array(); } $this->classMap[$className] = array_unique(array_merge($this->classMap[$className],$extends)); } $set = true; } } else { $this->log(xPDO::LOG_LEVEL_WARN, "Could not load package metadata for package {$pkg}."); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, 'setPackageMeta called with an invalid package name.'); } return $set; } /** * Gets a list of derivative classes for the specified className. * * The specified className must be xPDOObject or a derivative class. * * @param string $className The name of the class to retrieve derivatives for. * @return array An array of derivative classes or an empty array. */ public function getDescendants($className) { $descendants = array(); if (isset($this->classMap[$className])) { $descendants = $this->classMap[$className]; if ($descendants) { foreach ($descendants as $descendant) { $descendants = array_merge($descendants, $this->getDescendants($descendant)); } } } return $descendants; } /** * Load a class by fully qualified name. * * The $fqn should in the format: * * dir_a.dir_b.dir_c.classname * * which will translate to: * * XPDO_CORE_PATH/om/dir_a/dir_b/dir_c/dbtype/classname.class.php * * @param string $fqn The fully-qualified name of the class to load. * @param string $path An optional path to start the search from. * @param bool $ignorePkg True if currently loaded packages should be ignored. * @param bool $transient True if the class is not a persistent table class. * @return string|boolean The actual classname if successful, or false if * not. */ public function loadClass($fqn, $path= '', $ignorePkg= false, $transient= false) { if (empty($fqn)) { $this->log(xPDO::LOG_LEVEL_ERROR, "No class specified for loadClass"); return false; } if (!$transient) { $typePos= strrpos($fqn, '_' . $this->config['dbtype']); if ($typePos !== false) { $fqn= substr($fqn, 0, $typePos); } } $pos= strrpos($fqn, '.'); if ($pos === false) { $class= $fqn; if ($transient) { $fqn= strtolower($class); } else { $fqn= $this->config['dbtype'] . '.' . strtolower($class); } } else { $class= substr($fqn, $pos +1); if ($transient) { $fqn= substr($fqn, 0, $pos) . '.' . strtolower($class); } else { $fqn= substr($fqn, 0, $pos) . '.' . $this->config['dbtype'] . '.' . strtolower($class); } } // check if class exists if (!$transient && isset ($this->map[$class])) return $class; $included= class_exists($class, false); if ($included) { if ($transient || (!$transient && isset ($this->map[$class]))) { return $class; } } $classname= $class; if (!empty($path) || $ignorePkg) { $class= $this->_loadClass($class, $fqn, $included, $path, $transient); } elseif (isset ($this->packages[$this->package])) { $pqn= $this->package . '.' . $fqn; if (!$pkgClass= $this->_loadClass($class, $pqn, $included, $this->packages[$this->package]['path'], $transient)) { foreach ($this->packages as $pkg => $pkgDef) { if ($pkg === $this->package) continue; $pqn= $pkg . '.' . $fqn; if ($pkgClass= $this->_loadClass($class, $pqn, $included, $pkgDef['path'], $transient)) { break; } } } $class= $pkgClass; } else { $class= false; } if ($class === false) { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not load class: {$classname} from {$fqn}."); } return $class; } protected function _loadClass($class, $fqn, $included= false, $path= '', $transient= false) { if (empty($path)) $path= XPDO_CORE_PATH; if (!$included) { /* turn to filesystem path and enforce all lower-case paths and filenames */ $fqcn= str_replace('.', '/', $fqn) . '.class.php'; /* include class */ if (!file_exists($path . $fqcn)) return false; if (!$rt= include_once ($path . $fqcn)) { $this->log(xPDO::LOG_LEVEL_WARN, "Could not load class: {$class} from {$path}{$fqcn}"); $class= false; } } if ($class && !$transient && !isset ($this->map[$class])) { $mapfile= strtr($fqn, '.', '/') . '.map.inc.php'; if (file_exists($path . $mapfile)) { $xpdo_meta_map= & $this->map; $rt= include ($path . $mapfile); if (!$rt || !isset($this->map[$class])) { $this->log(xPDO::LOG_LEVEL_WARN, "Could not load metadata map {$mapfile} for class {$class} from {$fqn}"); } else { if (!array_key_exists('fieldAliases', $this->map[$class])) { $this->map[$class]['fieldAliases'] = array(); } } } } return $class; } /** * Get an xPDO configuration option value by key. * * @param string $key The option key. * @param array $options A set of options to override those from xPDO. * @param mixed $default An optional default value to return if no value is found. * @return mixed The configuration option value. */ public function getOption($key, $options = null, $default = null, $skipEmpty = false) { $option= $default; if (is_array($key)) { if (!is_array($option)) { $default= $option; $option= array(); } foreach ($key as $k) { $option[$k]= $this->getOption($k, $options, $default); } } elseif (is_string($key) && !empty($key)) { if (is_array($options) && !empty($options) && array_key_exists($key, $options) && (!$skipEmpty || ($skipEmpty && $options[$key] !== ''))) { $option= $options[$key]; } elseif (is_array($this->config) && !empty($this->config) && array_key_exists($key, $this->config) && (!$skipEmpty || ($skipEmpty && $this->config[$key] !== ''))) { $option= $this->config[$key]; } } return $option; } /** * Sets an xPDO configuration option value. * * @param string $key The option key. * @param mixed $value A value to set for the given option key. */ public function setOption($key, $value) { $this->config[$key]= $value; } /** * Call a static method from a valid package class with arguments. * * Will always search for database-specific class files first. * * @param string $class The name of a class to to get the static method from. * @param string $method The name of the method you want to call. * @param array $args An array of arguments for the method. * @param boolean $transient Indicates if the class has dbtype derivatives. Set to true if you * want to use on classes not derived from xPDOObject. * @return mixed|null The callback method's return value or null if no valid method is found. */ public function call($class, $method, array $args = array(), $transient = false) { $return = null; $callback = ''; if ($transient) { $className = $this->loadClass($class, '', false, true); if ($className) { $callback = array($className, $method); } } else { $className = $this->loadClass($class); if ($className) { $className .= '_' . $this->getOption('dbtype'); $callback = array($className, $method); } } if (!empty($callback) && is_callable($callback)) { try { $return = call_user_func_array($callback, $args); } catch (Exception $e) { $this->log(xPDO::LOG_LEVEL_ERROR, "An exception occurred calling {$className}::{$method}() - " . $e->getMessage()); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "{$class}::{$method}() is not a valid static method."); } return $return; } /** * Creates a new instance of a specified class. * * All new objects created with this method are transient until {@link * xPDOObject::save()} is called the first time and is reflected by the * {@link xPDOObject::$_new} property. * * @param string $className Name of the class to get a new instance of. * @param array $fields An associated array of field names/values to * populate the object with. * @return object|null A new instance of the specified class, or null if a * new object could not be instantiated. */ public function newObject($className, $fields= array ()) { $instance= null; if ($className= $this->loadClass($className)) { $className .= '_' . $this->config['dbtype']; if ($instance= new $className ($this)) { if (is_array($fields) && !empty ($fields)) { $instance->fromArray($fields); } } } return $instance; } /** * Finds the class responsible for loading instances of the specified class. * * @deprecated Use call() instead. * @param string $className The name of the class to find a loader for. * @param string $method Indicates the specific loader method to use, * loadCollection or loadObject (or other public static methods). * @return callable A callable loader function. */ public function getObjectLoader($className, $method) { $loader = false; if (isset($this->config[xPDO::OPT_LOADER_CLASSES]) && is_array($this->config[xPDO::OPT_LOADER_CLASSES])) { if ($ancestry = $this->getAncestry($className, true)) { if ($callbacks = array_intersect($ancestry, $this->config[xPDO::OPT_LOADER_CLASSES])) { if ($loaderClass = reset($callbacks)) { $loader = array($loaderClass, $method); while (!is_callable($loader) && $loaderClass = next($callbacks)) { $loader = array($loaderClass, $method); } } } } } if (!is_callable($loader)) { $loader = array('xPDOObject', $method); } return $loader; } /** * Retrieves a single object instance by the specified criteria. * * The criteria can be a primary key value, and array of primary key values * (for multiple primary key objects) or an {@link xPDOCriteria} object. If * no $criteria parameter is specified, no class is found, or an object * cannot be located by the supplied criteria, null is returned. * * @uses xPDOObject::load() * @param string $className Name of the class to get an instance of. * @param mixed $criteria Primary key of the record or a xPDOCriteria object. * @param mixed $cacheFlag If an integer value is provided, this specifies * the time to live in the object cache; if cacheFlag === false, caching is * ignored for the object and if cacheFlag === true, the object will live in * cache indefinitely. * @return object|null An instance of the class, or null if it could not be * instantiated. */ public function getObject($className, $criteria= null, $cacheFlag= true) { $instance= null; if ($criteria !== null) { $instance = $this->call($className, 'load', array(& $this, $className, $criteria, $cacheFlag)); } return $instance; } /** * Retrieves a collection of xPDOObjects by the specified xPDOCriteria. * * @uses xPDOObject::loadCollection() * @param string $className Name of the class to search for instances of. * @param object|array|string $criteria An xPDOCriteria object or an array * search expression. * @param mixed $cacheFlag If an integer value is provided, this specifies * the time to live in the result set cache; if cacheFlag === false, caching * is ignored for the collection and if cacheFlag === true, the objects will * live in cache until flushed by another process. * @return array|null An array of class instances retrieved. */ public function getCollection($className, $criteria= null, $cacheFlag= true) { return $this->call($className, 'loadCollection', array(& $this, $className, $criteria, $cacheFlag)); } /** * Retrieves an iterable representation of a collection of xPDOObjects. * * @param string $className Name of the class to search for instances of. * @param mixed $criteria An xPDOCriteria object or representation. * @param bool $cacheFlag If an integer value is provided, this specifies * the time to live in the result set cache; if cacheFlag === false, caching * is ignored for the collection and if cacheFlag === true, the objects will * live in cache until flushed by another process. * @return xPDOIterator An iterable representation of a collection. */ public function getIterator($className, $criteria= null, $cacheFlag= true) { return new xPDOIterator($this, array('class' => $className, 'criteria' => $criteria, 'cacheFlag' => $cacheFlag)); } /** * Update field values across a collection of xPDOObjects. * * @param string $className Name of the class to update fields of. * @param array $set An associative array of field/value pairs representing the updates to make. * @param mixed $criteria An xPDOCriteria object or representation. * @return bool|int The number of instances affected by the update or false on failure. */ public function updateCollection($className, array $set, $criteria= null) { $affected = false; if ($this->getConnection(array(xPDO::OPT_CONN_MUTABLE => true))) { $query = $this->newQuery($className); if ($query && !empty($set)) { $query->command('UPDATE'); $query->set($set); if (!empty($criteria)) $query->where($criteria); if ($query->prepare()) { $affected = $this->exec($query->toSQL()); if ($affected === false) { $this->log(xPDO::LOG_LEVEL_ERROR, "Error updating {$className} instances using query " . $query->toSQL(), '', __METHOD__, __FILE__, __LINE__); } else { if ($this->getOption(xPDO::OPT_CACHE_DB)) { $relatedClasses = array($query->getTableClass()); $related = array_merge($this->getAggregates($className), $this->getComposites($className)); foreach ($related as $relatedAlias => $relatedMeta) { $relatedClasses[] = $relatedMeta['class']; } $relatedClasses = array_unique($relatedClasses); foreach ($relatedClasses as $relatedClass) { $this->cacheManager->delete($relatedClass, array( xPDO::OPT_CACHE_KEY => $this->getOption('cache_db_key', null, 'db'), xPDO::OPT_CACHE_HANDLER => $this->getOption(xPDO::OPT_CACHE_DB_HANDLER, null, $this->getOption(xPDO::OPT_CACHE_HANDLER, null, 'cache.xPDOFileCache')), xPDO::OPT_CACHE_FORMAT => (integer) $this->getOption('cache_db_format', null, $this->getOption(xPDO::OPT_CACHE_FORMAT, null, xPDOCacheManager::CACHE_PHP)), xPDO::OPT_CACHE_PREFIX => $this->getOption('cache_db_prefix', null, xPDOCacheManager::CACHE_DIR), 'multiple_object_delete' => true )); } } $callback = $this->getOption(xPDO::OPT_CALLBACK_ON_SAVE); if ($callback && is_callable($callback)) { call_user_func($callback, array('className' => $className, 'criteria' => $query, 'object' => null)); } } } } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not get connection for writing data", '', __METHOD__, __FILE__, __LINE__); } return $affected; } /** * Remove an instance of the specified className by a supplied criteria. * * @param string $className The name of the class to remove an instance of. * @param mixed $criteria Valid xPDO criteria for selecting an instance. * @return boolean True if the instance is successfully removed. */ public function removeObject($className, $criteria) { $removed= false; if ($this->getConnection(array(xPDO::OPT_CONN_MUTABLE => true))) { if ($this->getCount($className, $criteria) === 1) { if ($query= $this->newQuery($className)) { $query->command('DELETE'); $query->where($criteria); if ($query->prepare()) { if ($this->exec($query->toSQL()) !== 1) { $this->log(xPDO::LOG_LEVEL_ERROR, "xPDO->removeObject - Error deleting {$className} instance using query " . $query->toSQL()); } else { $removed= true; if ($this->getOption(xPDO::OPT_CACHE_DB)) { $this->cacheManager->delete(xPDOCacheManager::CACHE_DIR . $query->getAlias(), array('multiple_object_delete' => true)); } $callback = $this->getOption(xPDO::OPT_CALLBACK_ON_REMOVE); if ($callback && is_callable($callback)) { call_user_func($callback, array('className' => $className, 'criteria' => $query)); } } } } } else { $this->log(xPDO::LOG_LEVEL_WARN, "xPDO->removeObject - {$className} instance to remove not found!"); if ($this->getDebug() === true) $this->log(xPDO::LOG_LEVEL_DEBUG, "xPDO->removeObject - {$className} instance to remove not found using criteria " . print_r($criteria, true)); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not get connection for writing data", '', __METHOD__, __FILE__, __LINE__); } return $removed; } /** * Remove a collection of instances by the supplied className and criteria. * * @param string $className The name of the class to remove a collection of. * @param mixed $criteria Valid xPDO criteria for selecting a collection. * @return boolean|integer False if the remove encounters an error, otherwise an integer value * representing the number of rows that were removed. */ public function removeCollection($className, $criteria) { $removed= false; if ($this->getConnection(array(xPDO::OPT_CONN_MUTABLE => true))) { if ($query= $this->newQuery($className)) { $query->command('DELETE'); $query->where($criteria); if ($query->prepare()) { $removed= $this->exec($query->toSQL()); if ($removed === false) { $this->log(xPDO::LOG_LEVEL_ERROR, "xPDO->removeCollection - Error deleting {$className} instances using query " . $query->toSQL()); } else { if ($this->getOption(xPDO::OPT_CACHE_DB)) { $this->cacheManager->delete(xPDOCacheManager::CACHE_DIR . $query->getAlias(), array('multiple_object_delete' => true)); } $callback = $this->getOption(xPDO::OPT_CALLBACK_ON_REMOVE); if ($callback && is_callable($callback)) { call_user_func($callback, array('className' => $className, 'criteria' => $query)); } } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "xPDO->removeCollection - Error preparing statement to delete {$className} instances using query: {$query->toSQL()}"); } } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not get connection for writing data", '', __METHOD__, __FILE__, __LINE__); } return $removed; } /** * Retrieves a count of xPDOObjects by the specified xPDOCriteria. * * @param string $className Class of xPDOObject to count instances of. * @param mixed $criteria Any valid xPDOCriteria object or expression. * @return integer The number of instances found by the criteria. */ public function getCount($className, $criteria = null) { $count = 0; if ($query = $this->newQuery($className, $criteria)) { $stmt = null; $expr = '*'; if ($pk = $this->getPK($className)) { if (!is_array($pk)) { $pk = array($pk); } $expr = $this->getSelectColumns($className, $query->getAlias(), '', $pk); } if (isset($query->query['columns'])) { $query->query['columns'] = array(); } if (!empty($query->query['groupby']) || !empty($query->query['having'])) { $query->select($expr); if ($query->prepare()) { $countQuery = new xPDOCriteria($this, "SELECT COUNT(*) FROM ({$query->toSQL(false)}) cq", $query->bindings, $query->cacheFlag); $stmt = $countQuery->prepare(); } } else { $query->select(array("COUNT(DISTINCT {$expr})")); $stmt = $query->prepare(); } if ($stmt && $stmt->execute()) { $count = intval($stmt->fetchColumn()); } } return $count; } /** * Retrieves an xPDOObject instance with specified related objects. * * @uses xPDO::getCollectionGraph() * @param string $className The name of the class to return an instance of. * @param string|array $graph A related object graph in array or JSON * format, e.g. array('relationAlias'=>array('subRelationAlias'=>array())) * or {"relationAlias":{"subRelationAlias":{}}}. Note that the empty arrays * are necessary in order for the relation to be recognized. * @param mixed $criteria A valid xPDOCriteria instance or expression. * @param boolean|integer $cacheFlag Indicates if the result set should be * cached, and optionally for how many seconds. * @return object The object instance with related objects from the graph * hydrated, or null if no instance can be located by the criteria. */ public function getObjectGraph($className, $graph, $criteria= null, $cacheFlag= true) { $object= null; if ($collection= $this->getCollectionGraph($className, $graph, $criteria, $cacheFlag)) { if (!count($collection) === 1) { $this->log(xPDO::LOG_LEVEL_WARN, 'getObjectGraph criteria returned more than one instance.'); } $object= reset($collection); } return $object; } /** * Retrieves a collection of xPDOObject instances with related objects. * * @uses xPDOQuery::bindGraph() * @param string $className The name of the class to return a collection of. * @param string|array $graph A related object graph in array or JSON * format, e.g. array('relationAlias'=>array('subRelationAlias'=>array())) * or {"relationAlias":{"subRelationAlias":{}}}. Note that the empty arrays * are necessary in order for the relation to be recognized. * @param mixed $criteria A valid xPDOCriteria instance or condition string. * @param boolean $cacheFlag Indicates if the result set should be cached. * @return array An array of instances matching the criteria with related * objects from the graph hydrated. An empty array is returned when no * matches are found. */ public function getCollectionGraph($className, $graph, $criteria= null, $cacheFlag= true) { return $this->call($className, 'loadCollectionGraph', array(& $this, $className, $graph, $criteria, $cacheFlag)); } /** * Execute a PDOStatement and get a single column value from the first row of the result set. * * @param PDOStatement $stmt A prepared PDOStatement object ready to be executed. * @param null|integer $column 0-indexed number of the column you wish to retrieve from the row. If * null or no value is supplied, it fetches the first column. * @return mixed The value of the specified column from the first row of the result set, or null. */ public function getValue($stmt, $column= null) { $value = null; if (is_object($stmt) && $stmt instanceof PDOStatement) { $tstart = microtime(true); if ($stmt->execute()) { $this->queryTime += microtime(true) - $tstart; $this->executedQueries++; $value= $stmt->fetchColumn($column); $stmt->closeCursor(); } else { $this->queryTime += microtime(true) - $tstart; $this->executedQueries++; $this->log(xPDO::LOG_LEVEL_ERROR, "Error " . $stmt->errorCode() . " executing statement: \n" . print_r($stmt->errorInfo(), true), '', __METHOD__, __FILE__, __LINE__); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "No valid PDOStatement provided to getValue", '', __METHOD__, __FILE__, __LINE__); } return $value; } /** * Convert any valid criteria into an xPDOQuery instance. * * @todo Get criteria pre-defined in an {@link xPDOObject} class metadata * definition by name. * * @todo Define callback functions as an alternative to retreiving criteria * sql and/or bindings from the metadata. * * @param string $className The class to get predefined criteria for. * @param string $type The type of criteria to get (you can define any * type you want, but 'object' and 'collection' are the typical criteria * for retrieving single and multiple instances of an object). * @param boolean|integer $cacheFlag Indicates if the result is cached and * optionally for how many seconds. * @return xPDOCriteria A criteria object or null if not found. */ public function getCriteria($className, $type= null, $cacheFlag= true) { return $this->newQuery($className, $type, $cacheFlag); } /** * Validate and return the type of a specified criteria variable. * * @param mixed $criteria An xPDOCriteria instance or any valid criteria variable. * @return string|null The type of valid criteria passed, or null if the criteria is not valid. */ public function getCriteriaType($criteria) { $type = gettype($criteria); if ($type === 'object') { $type = get_class($criteria); if (!$criteria instanceof xPDOCriteria) { $this->log(xPDO::LOG_LEVEL_WARN, "Invalid criteria object of class {$type} encountered.", '', __METHOD__, __FILE__, __LINE__); $type = null; } } return $type; } /** * Add criteria when requesting a derivative class row automatically. * * This applies class_key filtering for single-table inheritance queries and may * provide a convenient location for similar features in the future. * * @param string $className A valid xPDOObject derivative table class. * @param xPDOQuery $criteria A valid xPDOQuery instance. * @return xPDOQuery The xPDOQuery instance with derivative criteria added. */ public function addDerivativeCriteria($className, $criteria) { if ($criteria instanceof xPDOQuery && !isset($this->map[$className]['table'])) { if (isset($this->map[$className]['fields']['class_key']) && !empty($this->map[$className]['fields']['class_key'])) { $criteria->where(array('class_key' => $this->map[$className]['fields']['class_key'])); if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "#1: Automatically adding class_key criteria for derivative query of class {$className}"); } } else { foreach ($this->getAncestry($className, false) as $ancestor) { if (isset($this->map[$ancestor]['table']) && isset($this->map[$ancestor]['fields']['class_key'])) { $criteria->where(array('class_key' => $className)); if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "#2: Automatically adding class_key criteria for derivative query of class {$className} from base table class {$ancestor}"); } break; } } } } return $criteria; } /** * Gets the package name from a specified class name. * * @param string $className The name of the class to lookup the package for. * @return string The package the class belongs to. */ public function getPackage($className) { $package= ''; if ($className= $this->loadClass($className)) { if (isset($this->map[$className]['package'])) { $package= $this->map[$className]['package']; } if (!$package && $ancestry= $this->getAncestry($className, false)) { foreach ($ancestry as $ancestor) { if (isset ($this->map[$ancestor]['package']) && ($package= $this->map[$ancestor]['package'])) { break; } } } } return $package; } /** * Load and return a named service class instance. * * @param string $name The variable name of the instance. * @param string $class The service class name. * @param string $path An optional root path to search for the class. * @param array $params An array of optional params to pass to the service * class constructor. * @return object|null A reference to the service class instance or null if * it could not be loaded. */ public function &getService($name, $class= '', $path= '', $params= array ()) { $service= null; if (!isset ($this->services[$name]) || !is_object($this->services[$name])) { if (empty ($class) && isset ($this->config[$name . '.class'])) { $class= $this->config[$name . '.class']; } elseif (empty ($class)) { $class= $name; } $className= $this->loadClass($class, $path, false, true); if (!empty($className)) { $service = new $className ($this, $params); if ($service) { $this->services[$name]=& $service; $this->$name= & $this->services[$name]; } } } if (array_key_exists($name, $this->services)) { $service= & $this->services[$name]; } else { if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "Problem getting service {$name}, instance of class {$class}, from path {$path}, with params " . print_r($params, true)); } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Problem getting service {$name}, instance of class {$class}, from path {$path}"); } } return $service; } /** * Gets the actual run-time table name from a specified class name. * * @param string $className The name of the class to lookup a table name * for. * @param boolean $includeDb Qualify the table name with the database name. * @return string The table name for the class, or null if unsuccessful. */ public function getTableName($className, $includeDb= false) { $table= null; if ($className= $this->loadClass($className)) { if (isset ($this->map[$className]['table'])) { $table= $this->map[$className]['table']; if (isset($this->map[$className]['package']) && isset($this->packages[$this->map[$className]['package']]['prefix'])) { $table= $this->packages[$this->map[$className]['package']]['prefix'] . $table; } else { $table= $this->getOption(xPDO::OPT_TABLE_PREFIX, null, '') . $table; } } if (!$table && $ancestry= $this->getAncestry($className, false)) { foreach ($ancestry as $ancestor) { if (isset ($this->map[$ancestor]['table']) && $table= $this->map[$ancestor]['table']) { if (isset($this->map[$ancestor]['package']) && isset($this->packages[$this->map[$ancestor]['package']]['prefix'])) { $table= $this->packages[$this->map[$ancestor]['package']]['prefix'] . $table; } else { $table= $this->getOption(xPDO::OPT_TABLE_PREFIX, null, '') . $table; } break; } } } } if ($table) { $table= $this->_getFullTableName($table, $includeDb); if ($this->getDebug() === true) $this->log(xPDO::LOG_LEVEL_DEBUG, 'Returning table name: ' . $table . ' for class: ' . $className); } else { $this->log(xPDO::LOG_LEVEL_ERROR, 'Could not get table name for class: ' . $className); } return $table; } /** * Get the class which defines the table for a specified className. * * @param string $className The name of a class to determine the table class from. * @return null|string The name of a class defining the table for the specified className; null if not found. */ public function getTableClass($className) { $tableClass= null; if ($className= $this->loadClass($className)) { if (isset ($this->map[$className]['table'])) { $tableClass= $className; } if (!$tableClass && $ancestry= $this->getAncestry($className, false)) { foreach ($ancestry as $ancestor) { if (isset ($this->map[$ancestor]['table'])) { $tableClass= $ancestor; break; } } } } if ($tableClass) { if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, 'Returning table class: ' . $tableClass . ' for class: ' . $className); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, 'Could not get table class for class: ' . $className); } return $tableClass; } /** * Gets the actual run-time table metadata from a specified class name. * * @param string $className The name of the class to lookup a table name * for. * @return string The table meta data for the class, or null if * unsuccessful. */ public function getTableMeta($className) { $tableMeta= null; if ($className= $this->loadClass($className)) { if (isset ($this->map[$className]['tableMeta'])) { $tableMeta= $this->map[$className]['tableMeta']; } if (!$tableMeta && $ancestry= $this->getAncestry($className)) { foreach ($ancestry as $ancestor) { if (isset ($this->map[$ancestor]['tableMeta'])) { if ($tableMeta= $this->map[$ancestor]['tableMeta']) { break; } } } } } return $tableMeta; } /** * Indicates the inheritance model for the xPDOObject class specified. * * @param string $className The class to determine the table inherit type from. * @return string single, multiple, or none */ public function getInherit($className) { $inherit= false; if ($className= $this->loadClass($className)) { if (isset ($this->map[$className]['inherit'])) { $inherit= $this->map[$className]['inherit']; } if (!$inherit && $ancestry= $this->getAncestry($className, false)) { foreach ($ancestry as $ancestor) { if (isset ($this->map[$ancestor]['inherit'])) { $inherit= $this->map[$ancestor]['inherit']; break; } } } } if (!empty($inherit)) { if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, 'Returning inherit: ' . $inherit . ' for class: ' . $className); } } else { $inherit= 'none'; } return $inherit; } /** * Gets a list of fields (or columns) for an object by class name. * * This includes default values for each field and is used by the objects * themselves to build their initial attributes based on class inheritence. * * @param string $className The name of the class to lookup fields for. * @return array An array featuring field names as the array keys, and * default field values as the array values; empty array is returned if * unsuccessful. */ public function getFields($className) { $fields= array (); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset ($this->map[$ancestry[$i]]['fields'])) { $fields= array_merge($fields, $this->map[$ancestry[$i]]['fields']); } } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['fields'])) { $fields= array_merge($fields, array_diff_key($this->map[$descendantClass]['fields'], $fields)); } } } } } return $fields; } /** * Gets a list of field (or column) definitions for an object by class name. * * These definitions are used by the objects themselves to build their * own meta data based on class inheritance. * * @param string $className The name of the class to lookup fields meta data * for. * @param boolean $includeExtended If true, include meta from all derivative * classes in loaded packages. * @return array An array featuring field names as the array keys, and * arrays of metadata information as the array values; empty array is * returned if unsuccessful. */ public function getFieldMeta($className, $includeExtended = false) { $fieldMeta= array (); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset ($this->map[$ancestry[$i]]['fieldMeta'])) { $fieldMeta= array_merge($fieldMeta, $this->map[$ancestry[$i]]['fieldMeta']); } } } if ($includeExtended && $this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['fieldMeta'])) { $fieldMeta= array_merge($fieldMeta, array_diff_key($this->map[$descendantClass]['fieldMeta'], $fieldMeta)); } } } } } return $fieldMeta; } /** * Gets a collection of field aliases for an object by class name. * * @param string $className The name of the class to lookup field aliases for. * @return array An array of field aliases with aliases as keys and actual field names as values. */ public function getFieldAliases($className) { $fieldAliases= array (); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset ($this->map[$ancestry[$i]]['fieldAliases'])) { $fieldAliases= array_merge($fieldAliases, $this->map[$ancestry[$i]]['fieldAliases']); } } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['fieldAliases'])) { $fieldAliases= array_merge($fieldAliases, array_diff_key($this->map[$descendantClass]['fieldAliases'], $fieldAliases)); } } } } } return $fieldAliases; } /** * Gets a set of validation rules defined for an object by class name. * * @param string $className The name of the class to lookup validation rules * for. * @return array An array featuring field names as the array keys, and * arrays of validation rule information as the array values; empty array is * returned if unsuccessful. */ public function getValidationRules($className) { $rules= array(); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset($this->map[$ancestry[$i]]['validation']['rules'])) { $rules= array_merge($rules, $this->map[$ancestry[$i]]['validation']['rules']); } } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['validation']['rules'])) { $rules= array_merge($rules, array_diff_key($this->map[$descendantClass]['validation']['rules'], $rules)); } } } } if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "Returning validation rules: " . print_r($rules, true)); } } return $rules; } /** * Get indices defined for a table class. * * @param string $className The name of the class to lookup indices for. * @return array An array of indices and their details for the specified class. */ public function getIndexMeta($className) { $indices= array(); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) -1; $i >= 0; $i--) { if (isset($this->map[$ancestry[$i]]['indexes'])) { $indices= array_merge($indices, $this->map[$ancestry[$i]]['indexes']); } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['indexes'])) { $indices= array_merge($indices, array_diff_key($this->map[$descendantClass]['indexes'], $indices)); } } } } if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "Returning indices: " . print_r($indices, true)); } } } return $indices; } /** * Gets the primary key field(s) for a class. * * @param string $className The name of the class to lookup the primary key * for. * @return mixed The name of the field representing a class instance primary * key, an array of key names for compound primary keys, or null if no * primary key is found or defined for the class. */ public function getPK($className) { $pk= null; if (strcasecmp($className, 'xPDOObject') !== 0) { if ($actualClassName= $this->loadClass($className)) { if (isset ($this->map[$actualClassName]['indexes'])) { foreach ($this->map[$actualClassName]['indexes'] as $k => $v) { if (isset ($this->map[$actualClassName]['fieldMeta'][$k]['phptype'])) { if (isset ($v['primary']) && $v['primary'] == true) { $pk[$k]= $k; } } } } if (isset ($this->map[$actualClassName]['fieldMeta'])) { foreach ($this->map[$actualClassName]['fieldMeta'] as $k => $v) { if (isset ($v['index']) && isset ($v['phptype']) && $v['index'] == 'pk') { $pk[$k]= $k; } } } if ($ancestry= $this->getAncestry($actualClassName)) { foreach ($ancestry as $ancestor) { if ($ancestorClassName= $this->loadClass($ancestor)) { if (isset ($this->map[$ancestorClassName]['indexes'])) { foreach ($this->map[$ancestorClassName]['indexes'] as $k => $v) { if (isset ($this->map[$ancestorClassName]['fieldMeta'][$k]['phptype'])) { if (isset ($v['primary']) && $v['primary'] == true) { $pk[$k]= $k; } } } } if (isset ($this->map[$ancestorClassName]['fieldMeta'])) { foreach ($this->map[$ancestorClassName]['fieldMeta'] as $k => $v) { if (isset ($v['index']) && isset ($v['phptype']) && $v['index'] == 'pk') { $pk[$k]= $k; } } } } } } if ($pk && count($pk) === 1) { $pk= current($pk); } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not load class {$className}"); } } return $pk; } /** * Gets the type of primary key field for a class. * * @param string $className The name of the class to lookup the primary key * type for. * @param mixed $pk Optional specific PK column or columns to get type(s) for. * @return string The type of the field representing a class instance primary * key, or null if no primary key is found or defined for the class. */ public function getPKType($className, $pk= false) { $pktype= null; if ($actualClassName= $this->loadClass($className)) { if (!$pk) $pk= $this->getPK($actualClassName); if (!is_array($pk)) $pk= array($pk); $ancestry= $this->getAncestry($actualClassName, true); foreach ($pk as $_pk) { foreach ($ancestry as $parentClass) { if (isset ($this->map[$parentClass]['fieldMeta'][$_pk]['phptype'])) { $pktype[$_pk]= $this->map[$parentClass]['fieldMeta'][$_pk]['phptype']; break; } } } if (is_array($pktype) && count($pktype) == 1) { $pktype= reset($pktype); } elseif (empty($pktype)) { $pktype= null; } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not load class {$className}!"); } return $pktype; } /** * Gets a collection of aggregate foreign key relationship definitions. * * @param string $className The fully-qualified name of the class. * @return array An array of aggregate foreign key relationship definitions. */ public function getAggregates($className) { $aggregates= array (); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset ($this->map[$ancestry[$i]]['aggregates'])) { $aggregates= array_merge($aggregates, $this->map[$ancestry[$i]]['aggregates']); } } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['aggregates'])) { $aggregates= array_merge($aggregates, array_diff_key($this->map[$descendantClass]['aggregates'], $aggregates)); } } } } } return $aggregates; } /** * Gets a collection of composite foreign key relationship definitions. * * @param string $className The fully-qualified name of the class. * @return array An array of composite foreign key relationship definitions. */ public function getComposites($className) { $composites= array (); if ($className= $this->loadClass($className)) { if ($ancestry= $this->getAncestry($className)) { for ($i= count($ancestry) - 1; $i >= 0; $i--) { if (isset ($this->map[$ancestry[$i]]['composites'])) { $composites= array_merge($composites, $this->map[$ancestry[$i]]['composites']); } } } if ($this->getInherit($className) === 'single') { $descendants= $this->getDescendants($className); if ($descendants) { foreach ($descendants as $descendant) { $descendantClass= $this->loadClass($descendant); if ($descendantClass && isset($this->map[$descendantClass]['composites'])) { $composites= array_merge($composites, array_diff_key($this->map[$descendantClass]['composites'], $composites)); } } } } } return $composites; } /** * Get a complete relation graph for an xPDOObject class. * * @param string $className A fully-qualified xPDOObject class name. * @param int $depth The depth to retrieve relations for the graph, defaults to 3. * @param array &$parents An array of parent classes to avoid traversing circular dependencies. * @param array &$visited An array of already visited classes to avoid traversing circular dependencies. * @return array An xPDOObject relation graph, or an empty array if no graph can be constructed. */ public function getGraph($className, $depth= 3, &$parents = array(), &$visited = array()) { $graph = array(); $className = $this->loadClass($className); if ($className && $depth > 0) { $depth--; $parents = array_merge($parents, $this->getAncestry($className)); $parentsNested = array_unique($parents); $visitNested = array_merge($visited, array($className)); $relations = array_merge($this->getAggregates($className), $this->getComposites($className)); foreach ($relations as $alias => $relation) { if (in_array($relation['class'], $visited)) { continue; } $childGraph = array(); if ($depth > 0 && !in_array($relation['class'], $parents)) { $childGraph = $this->getGraph($relation['class'], $depth, $parentsNested, $visitNested); } $graph[$alias] = $childGraph; } $visited[] = $className; } return $graph; } /** * Retrieves the complete ancestry for a class. * * @param string $className The name of the class. * @param bool $includeSelf Determines if the specified class should be * included in the resulting array. * @return array An array of string class names representing the class * hierarchy, or an empty array if unsuccessful. */ public function getAncestry($className, $includeSelf= true) { $ancestry= array (); if ($actualClassName= $this->loadClass($className)) { $ancestor= $actualClassName; if ($includeSelf) { $ancestry[]= $actualClassName; } while ($ancestor= get_parent_class($ancestor)) { $ancestry[]= $ancestor; } if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "Returning ancestry for {$className}: " . print_r($ancestry, 1)); } } return $ancestry; } /** * Gets select columns from a specific class for building a query. * * @uses xPDOObject::getSelectColumns() * @param string $className The name of the class to build the column list * from. * @param string $tableAlias An optional alias for the class table, to be * used in complex queries with multiple tables. * @param string $columnPrefix An optional string with which to prefix the * columns returned, to avoid name collisions in return columns. * @param array $columns An optional array of columns to include. * @param boolean $exclude If true, will exclude columns in the previous * parameter, instead of including them. * @return string A valid SQL string of column names for a SELECT statement. */ public function getSelectColumns($className, $tableAlias= '', $columnPrefix= '', $columns= array (), $exclude= false) { return $this->call($className, 'getSelectColumns', array(&$this, $className, $tableAlias, $columnPrefix, $columns, $exclude)); } /** * Gets an aggregate or composite relation definition from a class. * * @param string $parentClass The class from which the relation is defined. * @param string $alias The alias identifying the related class. * @return array The aggregate or composite definition details in an array * or null if no definition is found. */ function getFKDefinition($parentClass, $alias) { $def= null; $parentClass= $this->loadClass($parentClass); if ($parentClass && $alias) { if ($aggregates= $this->getAggregates($parentClass)) { if (isset ($aggregates[$alias])) { $def= $aggregates[$alias]; $def['type']= 'aggregate'; } } if ($composites= $this->getComposites($parentClass)) { if (isset ($composites[$alias])) { $def= $composites[$alias]; $def['type']= 'composite'; } } } if ($def === null) { $this->log(xPDO::LOG_LEVEL_ERROR, 'No foreign key definition for parentClass: ' . $parentClass . ' using relation alias: ' . $alias); } return $def; } /** * Gets the version string of the schema the specified class was generated from. * * @param string $className The name of the class to get the model version from. * @return string The version string for the schema model the class was generated from. */ public function getModelVersion($className) { $version = '1.0'; $className= $this->loadClass($className); if ($className && isset($this->map[$className]['version'])) { $version= $this->map[$className]['version']; } return $version; } /** * Gets the manager class for this xPDO connection. * * The manager class can perform operations such as creating or altering * table structures, creating data containers, generating custom persistence * classes, and other advanced operations that do not need to be loaded * frequently. * * @return xPDOManager|null An xPDOManager instance for the xPDO connection, or null * if a manager class can not be instantiated. */ public function getManager() { if ($this->manager === null || !$this->manager instanceof xPDOManager) { $loaded= include_once(XPDO_CORE_PATH . 'om/' . $this->config['dbtype'] . '/xpdomanager.class.php'); if ($loaded) { $managerClass = 'xPDOManager_' . $this->config['dbtype']; $this->manager= new $managerClass ($this); } if (!$this->manager) { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not load xPDOManager class."); } } return $this->manager; } /** * Gets the driver class for this xPDO connection. * * The driver class provides baseline data and operations for a specific database driver. * * @return xPDODriver|null An xPDODriver instance for the xPDO connection, or null * if a driver class can not be instantiated. */ public function getDriver() { if ($this->driver === null || !$this->driver instanceof xPDODriver) { $loaded= include_once(XPDO_CORE_PATH . 'om/' . $this->config['dbtype'] . '/xpdodriver.class.php'); if ($loaded) { $driverClass = 'xPDODriver_' . $this->config['dbtype']; $this->driver= new $driverClass ($this); } if (!$this->driver) { $this->log(xPDO::LOG_LEVEL_ERROR, "Could not load xPDODriver class for the {$this->config['dbtype']} PDO driver. " . print_r($this->config, true)); } } return $this->driver; } /** * Gets the absolute path to the cache directory. * * @return string The full cache directory path. */ public function getCachePath() { if (!$this->cachePath) { if ($this->getCacheManager()) { $this->cachePath= $this->cacheManager->getCachePath(); } } return $this->cachePath; } /** * Gets an xPDOCacheManager instance. * * This class is responsible for handling all types of caching operations for the xPDO core. * * @param string $class Optional name of a derivative xPDOCacheManager class. * @param array $options An array of options for the cache manager instance; valid options include: * - path = Optional root path for looking up the $class. * - ignorePkg = If false and you do not specify a path, you can look up custom xPDOCacheManager * derivatives in declared packages. * @return xPDOCacheManager The xPDOCacheManager for this xPDO instance. */ public function getCacheManager($class= 'cache.xPDOCacheManager', $options = array('path' => XPDO_CORE_PATH, 'ignorePkg' => true)) { $actualClass = $this->loadClass($class, $options['path'], $options['ignorePkg'], true); if ($this->cacheManager === null || !is_object($this->cacheManager) || !($this->cacheManager instanceof $actualClass)) { if ($this->cacheManager= new $actualClass($this, $options)) { $this->_cacheEnabled= true; } } return $this->cacheManager; } /** * Returns the debug state for the xPDO instance. * * @return boolean The current debug state for the instance, true for on, * false for off. */ public function getDebug() { return $this->_debug; } /** * Sets the debug state for the xPDO instance. * * @param boolean|integer $v The debug status, true for on, false for off, or a valid * error_reporting level for PHP. */ public function setDebug($v= true) { $this->_debug= $v; } /** * Sets the logging level state for the xPDO instance. * * @param integer $level The logging level to switch to. * @return integer The previous log level. */ public function setLogLevel($level= xPDO::LOG_LEVEL_FATAL) { $oldLevel = $this->logLevel; $this->logLevel= intval($level); return $oldLevel; } /** * @return integer The current log level. */ public function getLogLevel() { return $this->logLevel; } /** * Sets the log target for xPDO::_log() calls. * * Valid target values include: * * * @param string $target An identifier indicating the target of the logging. * @return mixed The previous log target. */ public function setLogTarget($target= 'ECHO') { $oldTarget = $this->logTarget; $this->logTarget= $target; return $oldTarget; } /** * @return integer The current log level. */ public function getLogTarget() { return $this->logTarget; } /** * Log a message with details about where and when an event occurs. * * @param integer $level The level of the logged message. * @param string $msg The message to log. * @param string $target The logging target. * @param string $def The name of a defining structure (such as a class) to * help identify the message source. * @param string $file A filename in which the log event occured. * @param string $line A line number to help locate the source of the event * within the indicated file. */ public function log($level, $msg, $target= '', $def= '', $file= '', $line= '') { $this->_log($level, $msg, $target, $def, $file, $line); } /** * Log a message as appropriate for the level and target. * * @param integer $level The level of the logged message. * @param string $msg The message to log. * @param string $target The logging target. * @param string $def The name of a defining structure (such as a class) to * help identify the log event source. * @param string $file A filename in which the log event occured. * @param string $line A line number to help locate the source of the event * within the indicated file. */ protected function _log($level, $msg, $target= '', $def= '', $file= '', $line= '') { if (empty ($target)) { $target = $this->logTarget; } $targetOptions = array(); if (is_array($target)) { if (isset($target['options'])) $targetOptions =& $target['options']; $target = isset($target['target']) ? $target['target'] : 'ECHO'; } if (empty($file) && isset($_SERVER['SCRIPT_NAME'])) { $file= $_SERVER['SCRIPT_NAME']; } if ($level === xPDO::LOG_LEVEL_FATAL) { while (ob_get_level() && @ob_end_flush()) {} exit ('[' . strftime('%Y-%m-%d %H:%M:%S') . '] (' . $this->_getLogLevel($level) . $def . $file . $line . ') ' . $msg . "\n" . ($this->getDebug() === true ? '
' . "\n" . print_r(debug_backtrace(), true) . "\n" . '
' : '')); } if ($this->_debug === true || $level <= $this->logLevel) { @ob_start(); if (!empty ($def)) { $def= " in {$def}"; } if (!empty ($file)) { $file= " @ {$file}"; } if (!empty ($line)) { $line= " : {$line}"; } switch ($target) { case 'HTML' : echo '
[' . strftime('%Y-%m-%d %H:%M:%S') . '] (' . $this->_getLogLevel($level) . $def . $file . $line . ')
' . $msg . '
' . "\n"; break; default : echo '[' . strftime('%Y-%m-%d %H:%M:%S') . '] (' . $this->_getLogLevel($level) . $def . $file . $line . ') ' . $msg . "\n"; } $content= @ob_get_contents(); @ob_end_clean(); if ($target=='FILE' && $this->getCacheManager()) { $filename = isset($targetOptions['filename']) ? $targetOptions['filename'] : 'error.log'; $filepath = isset($targetOptions['filepath']) ? $targetOptions['filepath'] : $this->getCachePath() . xPDOCacheManager::LOG_DIR; $this->cacheManager->writeFile($filepath . $filename, $content, 'a'); } elseif ($target=='ARRAY' && isset($targetOptions['var']) && is_array($targetOptions['var'])) { $targetOptions['var'][] = $content; } else { echo $content; } } } /** * Returns an abbreviated backtrace of debugging information. * * This function returns just the fields returned via xPDOObject::toArray() * on xPDOObject instances, and simply the classname for other objects, to * reduce the amount of unnecessary information returned. * * @return array The abbreviated backtrace. */ public function getDebugBacktrace() { $backtrace= array (); foreach (debug_backtrace() as $levelKey => $levelElement) { foreach ($levelElement as $traceKey => $traceElement) { if ($traceKey == 'object' && $traceElement instanceof xPDOObject) { $backtrace[$levelKey][$traceKey]= $traceElement->toArray('', true); } elseif ($traceKey == 'object') { $backtrace[$levelKey][$traceKey]= get_class($traceElement); } else { $backtrace[$levelKey][$traceKey]= $traceElement; } } } return $backtrace; } /** * Gets a logging level as a string representation. * * @param integer $level The logging level to retrieve a string for. * @return string The string representation of a valid logging level. */ protected function _getLogLevel($level) { switch ($level) { case xPDO::LOG_LEVEL_DEBUG : $levelText= 'DEBUG'; break; case xPDO::LOG_LEVEL_INFO : $levelText= 'INFO'; break; case xPDO::LOG_LEVEL_WARN : $levelText= 'WARN'; break; case xPDO::LOG_LEVEL_ERROR : $levelText= 'ERROR'; break; default : $levelText= 'FATAL'; } return $levelText; } /** * Escapes the provided string using the platform-specific escape character. * * Different database engines escape string literals in SQL using different characters. For example, this is used to * escape column names that might match a reserved string for that SQL interpreter. To write database agnostic * queries with xPDO, it is highly recommend to escape any database or column names in any native SQL strings used. * * @param string $string A string to escape using the platform-specific escape characters. * @return string The string escaped with the platform-specific escape characters. */ public function escape($string) { $string = trim($string, $this->_escapeCharOpen . $this->_escapeCharClose); return $this->_escapeCharOpen . $string . $this->_escapeCharClose; } /** * Use to insert a literal string into a SQL query without escaping or quoting. * * @param string $string A string to return as a literal, unescaped and unquoted. * @return string The string with any escape or quote characters trimmed. */ public function literal($string) { $string = trim($string, $this->_escapeCharOpen . $this->_escapeCharClose . $this->_quoteChar); return $string; } /** * Adds the table prefix, and optionally database name, to a given table. * * @param string $baseTableName The table name as specified in the object * model. * @param boolean $includeDb Qualify the table name with the database name. * @return string The fully-qualified and quoted table name for the */ private function _getFullTableName($baseTableName, $includeDb= false) { $fqn= ''; if (!empty ($baseTableName)) { if ($includeDb) { $fqn .= $this->escape($this->config['dbname']) . '.'; } $fqn .= $this->escape($baseTableName); } return $fqn; } /** * Parses a DSN and returns an array of the connection details. * * @static * @param string $string The DSN to parse. * @return array An array of connection details from the DSN. * @todo Have this method handle all methods of DSN specification as handled * by latest native PDO implementation. */ public static function parseDSN($string) { $result= array (); $pos= strpos($string, ':'); $result['dbtype']= strtolower(substr($string, 0, $pos)); $parameters= explode(';', substr($string, ($pos +1))); for ($a= 0, $b= count($parameters); $a < $b; $a++) { $tmp= explode('=', $parameters[$a]); if (count($tmp) == 2) { $result[strtolower(trim($tmp[0]))]= trim($tmp[1]); } else { $result['dbname']= trim($parameters[$a]); } } if (!isset($result['dbname']) && isset($result['database'])) { $result['dbname'] = $result['database']; } if (!isset($result['host']) && isset($result['server'])) { $result['host'] = $result['server']; } return $result; } /** * Retrieves a result array from the object cache. * * @param string|xPDOCriteria $signature A unique string or xPDOCriteria object * that represents the query identifying the result set. * @param string $class An optional classname the result represents. * @param array $options Various cache options. * @return array|string|null A PHP array or JSON object representing the * result set, or null if no cache representation is found. */ public function fromCache($signature, $class= '', $options= array()) { $result= null; if ($this->getOption(xPDO::OPT_CACHE_DB, $options)) { if ($signature && $this->getCacheManager()) { $sig= ''; $sigKey= array(); $sigHash= ''; $sigClass= empty($class) || !is_string($class) ? '' : $class; if (is_object($signature)) { if ($signature instanceof xPDOCriteria) { if ($signature instanceof xPDOQuery) { $signature->construct(); if (empty($sigClass)) $sigClass= $signature->getTableClass(); } $sigKey= array ($signature->sql, $signature->bindings); } } elseif (is_string($signature)) { if ($exploded= explode('_', $signature)) { $class= reset($exploded); if (empty($sigClass) || $sigClass !== $class) { $sigClass= $class; } if (empty($sigKey)) { while ($key= next($exploded)) { $sigKey[]= $key; } } } } if (empty($sigClass)) $sigClass= '__sqlResult'; if ($sigClass && $sigKey) { $sigHash= md5($this->toJSON($sigKey)); $sig= implode('/', array ($sigClass, $sigHash)); } if (is_string($sig) && !empty($sig)) { $result= $this->cacheManager->get($sig, array( xPDO::OPT_CACHE_KEY => $this->getOption('cache_db_key', $options, 'db'), xPDO::OPT_CACHE_HANDLER => $this->getOption(xPDO::OPT_CACHE_DB_HANDLER, $options, $this->getOption(xPDO::OPT_CACHE_HANDLER, $options, 'cache.xPDOFileCache')), xPDO::OPT_CACHE_FORMAT => (integer) $this->getOption('cache_db_format', null, $this->getOption(xPDO::OPT_CACHE_FORMAT, null, xPDOCacheManager::CACHE_PHP)), 'cache_prefix' => $this->getOption('cache_db_prefix', $options, xPDOCacheManager::CACHE_DIR), )); if ($this->getDebug() === true) { if (!$result) { $this->log(xPDO::LOG_LEVEL_DEBUG, 'No cache item found for class ' . $sigClass . ' with signature ' . xPDOCacheManager::CACHE_DIR . $sig); } else { $this->log(xPDO::LOG_LEVEL_DEBUG, 'Loaded cache item for class ' . $sigClass . ' with signature ' . xPDOCacheManager::CACHE_DIR . $sig); } } } } } return $result; } /** * Places a result set in the object cache. * * @param string|xPDOCriteria $signature A unique string or xPDOCriteria object * representing the object. * @param object $object An object to place a representation of in the cache. * @param integer $lifetime An optional number of seconds the cached result * will remain valid, with 0 meaning it will remain valid until replaced or * removed. * @param array $options Various cache options. * @return boolean Indicates if the object was successfully cached. */ public function toCache($signature, $object, $lifetime= 0, $options = array()) { $result= false; if ($this->getCacheManager()) { if ($this->getOption(xPDO::OPT_CACHE_DB, $options)) { if ($lifetime === true) { $lifetime = 0; } elseif (!$lifetime && $this->getOption(xPDO::OPT_CACHE_DB_EXPIRES, $options, 0)) { $lifetime= intval($this->getOption(xPDO::OPT_CACHE_DB_EXPIRES, $options, 0)); } $sigKey= array(); $sigClass= ''; $sigGraph= $this->getOption(xPDO::OPT_CACHE_DB_SIG_GRAPH, $options, array()); if (is_object($signature)) { if ($signature instanceof xPDOCriteria) { if ($signature instanceof xPDOQuery) { $signature->construct(); if (empty($sigClass)) $sigClass = $signature->getTableClass(); } $sigKey= array($signature->sql, $signature->bindings); } } elseif (is_string($signature)) { $exploded= explode('_', $signature); if ($exploded && count($exploded) >= 2) { $class= reset($exploded); if (empty($sigClass) || $sigClass !== $class) { $sigClass= $class; } if (empty($sigKey)) { while ($key= next($exploded)) { $sigKey[]= $key; } } } } if (empty($sigClass)) { if ($object instanceof xPDOObject) { $sigClass= $object->_class; } else { $sigClass= $this->getOption(xPDO::OPT_CACHE_DB_SIG_CLASS, $options, '__sqlResult'); } } if (empty($sigKey) && is_string($signature)) $sigKey= $signature; if (empty($sigKey) && $object instanceof xPDOObject) $sigKey= $object->getPrimaryKey(); if ($sigClass && $sigKey) { $sigHash= md5($this->toJSON(is_array($sigKey) ? $sigKey : array($sigKey))); $sig= implode('/', array ($sigClass, $sigHash)); if (is_string($sig)) { if ($this->getOption('modified', $options, false)) { if (empty($sigGraph) && $object instanceof xPDOObject) { $sigGraph = array_merge(array($object->_class => array('class' => $object->_class)), $object->_aggregates, $object->_composites); } if (!empty($sigGraph)) { foreach ($sigGraph as $gAlias => $gMeta) { $gClass = $gMeta['class']; $removed= $this->cacheManager->delete($gClass, array_merge($options, array( xPDO::OPT_CACHE_KEY => $this->getOption('cache_db_key', $options, 'db'), xPDO::OPT_CACHE_HANDLER => $this->getOption(xPDO::OPT_CACHE_DB_HANDLER, $options, $this->getOption(xPDO::OPT_CACHE_HANDLER, $options, 'cache.xPDOFileCache')), xPDO::OPT_CACHE_FORMAT => (integer) $this->getOption('cache_db_format', $options, $this->getOption(xPDO::OPT_CACHE_FORMAT, $options, xPDOCacheManager::CACHE_PHP)), xPDO::OPT_CACHE_EXPIRES => (integer) $this->getOption(xPDO::OPT_CACHE_DB_EXPIRES, null, $this->getOption(xPDO::OPT_CACHE_EXPIRES, null, 0)), xPDO::OPT_CACHE_PREFIX => $this->getOption('cache_db_prefix', $options, xPDOCacheManager::CACHE_DIR), 'multiple_object_delete' => true ))); if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "Removing all cache objects of class {$gClass}: " . ($removed ? 'successful' : 'failed')); } } } } $cacheOptions = array_merge($options, array( xPDO::OPT_CACHE_KEY => $this->getOption('cache_db_key', $options, 'db'), xPDO::OPT_CACHE_HANDLER => $this->getOption(xPDO::OPT_CACHE_DB_HANDLER, $options, $this->getOption(xPDO::OPT_CACHE_HANDLER, $options, 'cache.xPDOFileCache')), xPDO::OPT_CACHE_FORMAT => (integer) $this->getOption('cache_db_format', $options, $this->getOption(xPDO::OPT_CACHE_FORMAT, $options, xPDOCacheManager::CACHE_PHP)), xPDO::OPT_CACHE_EXPIRES => (integer) $this->getOption(xPDO::OPT_CACHE_DB_EXPIRES, null, $this->getOption(xPDO::OPT_CACHE_EXPIRES, null, 0)), xPDO::OPT_CACHE_PREFIX => $this->getOption('cache_db_prefix', $options, xPDOCacheManager::CACHE_DIR) )); $result= $this->cacheManager->set($sig, $object, $lifetime, $cacheOptions); if ($result && $object instanceof xPDOObject) { if ($this->getDebug() === true) { $this->log(xPDO::LOG_LEVEL_DEBUG, "xPDO->toCache() successfully cached object with signature " . xPDOCacheManager::CACHE_DIR . $sig); } } if (!$result) { $this->log(xPDO::LOG_LEVEL_WARN, "xPDO->toCache() could not cache object with signature " . xPDOCacheManager::CACHE_DIR . $sig); } } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Object sent toCache() has an invalid signature."); } } } else { $this->log(xPDO::LOG_LEVEL_ERROR, "Attempt to send a non-object to toCache()."); } return $result; } /** * Converts a PHP array into a JSON encoded string. * * @param array $array The PHP array to convert. * @return string The JSON representation of the source array. */ public function toJSON($array) { $encoded= ''; if (is_array ($array)) { if (!function_exists('json_encode')) { if (@ include_once (XPDO_CORE_PATH . 'json/JSON.php')) { $json = new Services_JSON(); $encoded= $json->encode($array); } } else { $encoded= json_encode($array); } } return $encoded; } /** * Converts a JSON source string into an equivalent PHP representation. * * @param string $src A JSON source string. * @param boolean $asArray Indicates if the result should treat objects as * associative arrays; since all JSON associative arrays are objects, the default * is true. Set to false to have JSON objects returned as PHP objects. * @return mixed The PHP representation of the JSON source. */ public function fromJSON($src, $asArray= true) { $decoded= ''; if ($src) { if (!function_exists('json_decode')) { if (@ include_once (XPDO_CORE_PATH . 'json/JSON.php')) { if ($asArray) { $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } else { $json = new Services_JSON(); } $decoded= $json->decode($src); } } else { $decoded= json_decode($src, $asArray); } } return $decoded; } /** * @see http://php.net/manual/en/function.pdo-begintransaction.php */ public function beginTransaction() { if (!$this->connect(null, array(xPDO::OPT_CONN_MUTABLE => true))) { return false; } return $this->pdo->beginTransaction(); } /** * @see http://php.net/manual/en/function.pdo-commit.php */ public function commit() { if (!$this->connect(null, array(xPDO::OPT_CONN_MUTABLE => true))) { return false; } return $this->pdo->commit(); } /** * @see http://php.net/manual/en/function.pdo-exec.php */ public function exec($query) { if (!$this->connect(null, array(xPDO::OPT_CONN_MUTABLE => true))) { return false; } $tstart= microtime(true); $return= $this->pdo->exec($query); $this->queryTime += microtime(true) - $tstart; $this->executedQueries++; return $return; } /** * @see http://php.net/manual/en/function.pdo-errorcode.php */ public function errorCode() { if (!$this->connect()) { return false; } return $this->pdo->errorCode(); } /** * @see http://php.net/manual/en/function.pdo-errorinfo.php */ public function errorInfo() { if (!$this->connect()) { return false; } return $this->pdo->errorInfo(); } /** * @see http://php.net/manual/en/function.pdo-getattribute.php */ public function getAttribute($attribute) { if (!$this->connect()) { return false; } return $this->pdo->getAttribute($attribute); } /** * @see http://php.net/manual/en/function.pdo-lastinsertid.php */ public function lastInsertId() { if (!$this->connect()) { return false; } return $this->pdo->lastInsertId(); } /** * @see http://php.net/manual/en/function.pdo-prepare.php */ public function prepare($statement, $driver_options= array ()) { if (!$this->connect()) { return false; } return $this->pdo->prepare($statement, $driver_options); } /** * @see http://php.net/manual/en/function.pdo-query.php */ public function query($query) { if (!$this->connect()) { return false; } $tstart= microtime(true); $return= $this->pdo->query($query); $this->queryTime += microtime(true) - $tstart; $this->executedQueries++; return $return; } /** * @see http://php.net/manual/en/function.pdo-quote.php */ public function quote($string, $parameter_type= PDO::PARAM_STR) { if (!$this->connect()) { return false; } $quoted = $this->pdo->quote($string, $parameter_type); switch ($parameter_type) { case PDO::PARAM_STR: $quoted = trim($quoted); break; case PDO::PARAM_INT: $quoted = trim($quoted); $quoted = (integer) trim($quoted, "'"); break; default: break; } return $quoted; } /** * @see http://php.net/manual/en/function.pdo-rollback.php */ public function rollBack() { if (!$this->connect(null, array(xPDO::OPT_CONN_MUTABLE => true))) { return false; } return $this->pdo->rollBack(); } /** * @see http://php.net/manual/en/function.pdo-setattribute.php */ public function setAttribute($attribute, $value) { if (!$this->connect()) { return false; } return $this->pdo->setAttribute($attribute, $value); } /** * Creates an new xPDOQuery for a specified xPDOObject class. * * @param string $class The class to create the xPDOQuery for. * @param mixed $criteria Any valid xPDO criteria expression. * @param boolean|integer $cacheFlag Indicates if the result should be cached * and optionally for how many seconds (if passed an integer greater than 0). * @return xPDOQuery The resulting xPDOQuery instance or false if unsuccessful. */ public function newQuery($class, $criteria= null, $cacheFlag= true) { $query= false; if ($this->loadClass($this->config['dbtype'] . '.xPDOQuery', '', false, true)) { $xpdoQueryClass= 'xPDOQuery_' . $this->config['dbtype']; if (!class_exists($xpdoQueryClass, false)) include_once dirname(__FILE__) . '/om/' . $this->config['dbtype'] . '/xpdoquery.class.php'; if ($query= new $xpdoQueryClass($this, $class, $criteria)) { $query->cacheFlag= $cacheFlag; } } return $query; } /** * Splits a string on a specified character, ignoring escaped content. * * @static * @param string $char A character to split the tag content on. * @param string $str The string to operate on. * @param string $escToken A character used to surround escaped content; all * content within a pair of these tokens will be ignored by the split * operation. * @param integer $limit Limit the number of results. Default is 0 which is * no limit. Note that setting the limit to 1 will only return the content * up to the first instance of the split character and will discard the * remainder of the string. * @return array An array of results from the split operation, or an empty * array. */ public static function escSplit($char, $str, $escToken = '`', $limit = 0) { $split= array(); $charPos = strpos($str, $char); if ($charPos !== false) { if ($charPos === 0) { $searchPos = 1; $startPos = 1; } else { $searchPos = 0; $startPos = 0; } $escOpen = false; $strlen = strlen($str); for ($i = $startPos; $i <= $strlen; $i++) { if ($i == $strlen) { $tmp= trim(substr($str, $searchPos)); if (!empty($tmp)) $split[]= $tmp; break; } if ($str[$i] == $escToken) { $escOpen = $escOpen == true ? false : true; continue; } if (!$escOpen && $str[$i] == $char) { $tmp= trim(substr($str, $searchPos, $i - $searchPos)); if (!empty($tmp)) { $split[]= $tmp; if ($limit > 0 && count($split) >= $limit) { break; } } $searchPos = $i + 1; } } } else { $split[]= trim($str); } return $split; } /** * Parses parameter bindings in SQL prepared statements. * * @param string $sql A SQL prepared statement to parse bindings in. * @param array $bindings An array of parameter bindings to use for the replacements. * @return string The SQL with the binding placeholders replaced. */ public function parseBindings($sql, $bindings) { if (!empty($sql) && !empty($bindings)) { reset($bindings); $bound = array(); while (list ($k, $param)= each($bindings)) { if (!is_array($param)) { $v= $param; $type= $this->getPDOType($param); $bindings[$k]= array( 'value' => $v, 'type' => $type ); } else { $v= $param['value']; $type= $param['type']; } if (!$v) { switch ($type) { case PDO::PARAM_INT: $v= '0'; break; case PDO::PARAM_BOOL: $v= '0'; break; default: break; } } if ($type > 0) { $v= $this->quote($v, $type); } else { $v= 'NULL'; } if (!is_int($k) || substr($k, 0, 1) === ':') { $pattern= '/' . $k . '\b/'; $bound[$pattern] = str_replace(array('\\', '$'), array('\\\\', '\$'), $v); } else { $pattern = '/(\?)(\b)?/'; $sql = preg_replace($pattern, ':' . $k . '$2', $sql, 1); $bound['/:' . $k . '\b/'] = str_replace(array('\\', '$'), array('\\\\', '\$'), $v); } } $this->log(xPDO::LOG_LEVEL_INFO, "{$sql}\n" . print_r($bound, true)); if (!empty($bound)) { $sql= preg_replace(array_keys($bound), array_values($bound), $sql); } } return $sql; } /** * Get the appropriate PDO::PARAM_ type constant from a PHP value. * * @param mixed $value Any PHP scalar or null value * @return int|null */ public function getPDOType($value) { $type= null; if (is_null($value)) $type= PDO::PARAM_NULL; elseif (is_scalar($value)) { if (is_int($value)) $type= PDO::PARAM_INT; else $type= PDO::PARAM_STR; } return $type; } } /** * Encapsulates a SQL query into a PDOStatement with a set of bindings. * * @package xpdo * */ class xPDOCriteria { public $sql= ''; public $stmt= null; public $bindings= array (); public $cacheFlag= false; /** * The constructor for a new xPDOCriteria instance. * * The constructor optionally prepares provided SQL and/or parameter * bindings. Setting the bindings via the constructor or with the {@link * xPDOCriteria::bind()} function allows you to make use of the data object * caching layer. * * The statement will not be prepared immediately if the cacheFlag value is * true or a positive integer, in order to allow the result to be found in * the cache before being queried from an actual database connection. * * @param xPDO &$xpdo An xPDO instance that will control this criteria. * @param string $sql The SQL statement. * @param array $bindings Bindings to bind to the criteria. * @param boolean|integer $cacheFlag Indicates if the result set from the * criteria is to be cached (true|false) or optionally a TTL in seconds. * @return xPDOCriteria */ public function __construct(& $xpdo, $sql= '', $bindings= array (), $cacheFlag= false) { $this->xpdo= & $xpdo; $this->cacheFlag= $cacheFlag; if (is_string($sql) && !empty ($sql)) { $this->sql= $sql; if ($cacheFlag === false || $cacheFlag < 0) { $this->stmt= $xpdo->prepare($sql); } if (!empty ($bindings)) { $this->bind($bindings, true, $cacheFlag); } } } /** * Binds an array of key/value pairs to the xPDOCriteria prepared statement. * * Use this method to bind parameters in a way that makes it possible to * cache results of previous executions of the criteria or compare the * criteria to other individual or collections of criteria. * * @param array $bindings Bindings to merge with any existing bindings * defined for this xPDOCriteria instance. Bindings can be simple * associative array of key-value pairs or the value for each key can * contain elements titled value, type, and length corresponding to the * appropriate parameters in the PDOStatement::bindValue() and * PDOStatement::bindParam() functions. * @param boolean $byValue Determines if the $bindings are to be bound as * parameters (by variable reference, the default behavior) or by direct * value (if true). * @param boolean|integer $cacheFlag The cacheFlag indicates the cache state * of the xPDOCriteria object and can be absolutely off (false), absolutely * on (true), or an integer indicating the number of seconds the result will * live in the cache. */ public function bind($bindings= array (), $byValue= true, $cacheFlag= false) { if (!empty ($bindings)) { $this->bindings= array_merge($this->bindings, $bindings); } if (is_object($this->stmt) && $this->stmt && !empty ($this->bindings)) { reset($this->bindings); while (list ($key, $val)= each($this->bindings)) { if (is_array($val)) { $type= isset ($val['type']) ? $val['type'] : PDO::PARAM_STR; $length= isset ($val['length']) ? $val['length'] : 0; $value= & $val['value']; } else { $value= & $val; $type= PDO::PARAM_STR; $length= 0; } if (is_int($key)) $key= $key + 1; if ($byValue) { $this->stmt->bindValue($key, $value, $type); } else { $this->stmt->bindParam($key, $value, $type, $length); } } } $this->cacheFlag= $cacheFlag === null ? $this->cacheFlag : $cacheFlag; } /** * Compares to see if two xPDOCriteria instances are the same. * * @param object $obj A xPDOCriteria object to compare to this one. * @return boolean true if they are both equal is SQL and bindings, otherwise * false. */ public function equals($obj) { return (is_object($obj) && $obj instanceof xPDOCriteria && $this->sql === $obj->sql && !array_diff_assoc($this->bindings, $obj->bindings)); } /** * Prepares the sql and bindings of this instance into a PDOStatement. * * The {@link xPDOCriteria::$sql} attribute must be set in order to prepare * the statement. You can also pass bindings directly to this function and * they will be run through {@link xPDOCriteria::bind()} if the statement * is successfully prepared. * * If the {@link xPDOCriteria::$stmt} already exists, it is simply returned. * * @param array $bindings Bindings to merge with any existing bindings * defined for this xPDOCriteria instance. Bindings can be simple * associative array of key-value pairs or the value for each key can * contain elements titled value, type, and length corresponding to the * appropriate parameters in the PDOStatement::bindValue() and * PDOStatement::bindParam() functions. * @param boolean $byValue Determines if the $bindings are to be bound as * parameters (by variable reference, the default behavior) or by direct * value (if true). * @param boolean|integer $cacheFlag The cacheFlag indicates the cache state * of the xPDOCriteria object and can be absolutely off (false), absolutely * on (true), or an integer indicating the number of seconds the result will * live in the cache. * @return PDOStatement The prepared statement, ready to execute. */ public function prepare($bindings= array (), $byValue= true, $cacheFlag= null) { if ($this->stmt === null || !is_object($this->stmt)) { if (!empty ($this->sql) && $stmt= $this->xpdo->prepare($this->sql)) { $this->stmt= & $stmt; $this->bind($bindings, $byValue, $cacheFlag); } } return $this->stmt; } /** * Converts the current xPDOQuery to parsed SQL. * * @param bool $parseBindings If true, bindings are parsed locally; otherwise * they are left in place. * @return string The parsed SQL query. */ public function toSQL($parseBindings = true) { $sql = $this->sql; if ($parseBindings && !empty($this->bindings)) { $sql = $this->xpdo->parseBindings($sql, $this->bindings); } return $sql; } } /** * An iteratable representation of an xPDOObject result set. * * Use an xPDOIterator to loop over large result sets and work with one instance * at a time. This greatly reduces memory usage over loading the entire collection * of objects into memory at one time. It is also slightly faster. * * @package xpdo */ class xPDOIterator implements Iterator { private $xpdo = null; private $index = 0; private $current = null; /** @var null|PDOStatement */ private $stmt = null; private $class = null; private $alias = null; /** @var null|int|str|array|xPDOQuery */ private $criteria = null; private $criteriaType = 'xPDOQuery'; private $cacheFlag = false; /** * Construct a new xPDOIterator instance (do not call directly). * * @see xPDO::getIterator() * @param xPDO &$xpdo A reference to a valid xPDO instance. * @param array $options An array of options for the iterator. * @return xPDOIterator An xPDOIterator instance. */ function __construct(& $xpdo, array $options= array()) { $this->xpdo =& $xpdo; if (isset($options['class'])) { $this->class = $this->xpdo->loadClass($options['class']); } if (isset($options['alias'])) { $this->alias = $options['alias']; } else { $this->alias = $this->class; } if (isset($options['cacheFlag'])) { $this->cacheFlag = $options['cacheFlag']; } if (array_key_exists('criteria', $options) && is_object($options['criteria'])) { $this->criteria = $options['criteria']; } elseif (!empty($this->class)) { $criteria = array_key_exists('criteria', $options) ? $options['criteria'] : null; $this->criteria = $this->xpdo->getCriteria($this->class, $criteria, $this->cacheFlag); } if (!empty($this->criteria)) { $this->criteriaType = $this->xpdo->getCriteriaType($this->criteria); if ($this->criteriaType === 'xPDOQuery') { $this->class = $this->criteria->getClass(); $this->alias = $this->criteria->getAlias(); } } } public function rewind() { $this->index = 0; if (!empty($this->stmt)) { $this->stmt->closeCursor(); } $this->stmt = $this->criteria->prepare(); $tstart = microtime(true); if ($this->stmt && $this->stmt->execute()) { $this->xpdo->queryTime += microtime(true) - $tstart; $this->xpdo->executedQueries++; $this->fetch(); } elseif ($this->stmt) { $this->xpdo->queryTime += microtime(true) - $tstart; $this->xpdo->executedQueries++; } } public function current() { return $this->current; } public function key() { return $this->index; } public function next() { $this->fetch(); if (!$this->valid()) { $this->index = null; } else { $this->index++; } return $this->current(); } public function valid() { return ($this->current !== null); } /** * Fetch the next row from the result set and set it as current. * * Calls the _loadInstance() method for the specified class, so it properly * inherits behavior from xPDOObject derivatives. */ protected function fetch() { $row = $this->stmt->fetch(PDO::FETCH_ASSOC); if (is_array($row) && !empty($row)) { $this->current = $this->xpdo->call($this->class, '_loadInstance', array(& $this->xpdo, $this->class, $this->alias, $row)); } else { $this->current = null; } } } /** * Represents a unique PDO connection managed by xPDO. * * @package xpdo */ class xPDOConnection { /** * @var xPDO A reference to a valid xPDO instance. */ public $xpdo = null; /** * @var array An array of configuration options for this connection. */ public $config = array(); /** * @var PDO The PDO object represented by the xPDOConnection instance. */ public $pdo = null; /** * @var boolean Indicates if this connection can be written to. */ private $_mutable = true; /** * Construct a new xPDOConnection instance. * * @param xPDO $xpdo A reference to a valid xPDO instance to attach to. * @param string $dsn A string representing the DSN connection string. * @param string $username The database username credentials. * @param string $password The database password credentials. * @param array $options An array of xPDO options for the connection. * @param array $driverOptions An array of PDO driver options for the connection. */ public function __construct(xPDO &$xpdo, $dsn, $username= '', $password= '', $options= array(), $driverOptions= array()) { $this->xpdo =& $xpdo; if (is_array($this->xpdo->config)) $options= array_merge($this->xpdo->config, $options); if (!isset($options[xPDO::OPT_TABLE_PREFIX])) $options[xPDO::OPT_TABLE_PREFIX]= ''; $this->config= array_merge($options, xPDO::parseDSN($dsn)); $this->config['dsn']= $dsn; $this->config['username']= $username; $this->config['password']= $password; $driverOptions = is_array($driverOptions) ? $driverOptions : array(); if (array_key_exists('driverOptions', $this->config) && is_array($this->config['driverOptions'])) { $driverOptions = array_merge($this->config['driverOptions'], $driverOptions); } $this->config['driverOptions']= $driverOptions; if (array_key_exists(xPDO::OPT_CONN_MUTABLE, $this->config)) { $this->_mutable= (boolean) $this->config[xPDO::OPT_CONN_MUTABLE]; } } /** * Indicates if the connection can be written to, e.g. INSERT/UPDATE/DELETE. * * @return bool True if the connection can be written to. */ public function isMutable() { return $this->_mutable; } /** * Actually make a connection for this instance via PDO. * * @param array $driverOptions An array of PDO driver options for the connection. * @return bool True if a successful connection is made. */ public function connect($driverOptions = array()) { if ($this->pdo === null) { if (is_array($driverOptions) && !empty($driverOptions)) { $this->config['driverOptions']= array_merge($this->config['driverOptions'], $driverOptions); } try { $this->pdo= new PDO($this->config['dsn'], $this->config['username'], $this->config['password'], $this->config['driverOptions']); } catch (PDOException $xe) { $this->xpdo->log(xPDO::LOG_LEVEL_ERROR, $xe->getMessage(), '', __METHOD__, __FILE__, __LINE__); return false; } catch (Exception $e) { $this->xpdo->log(xPDO::LOG_LEVEL_ERROR, $e->getMessage(), '', __METHOD__, __FILE__, __LINE__); return false; } $connected= (is_object($this->pdo)); if ($connected) { $connectFile = XPDO_CORE_PATH . 'om/' . $this->config['dbtype'] . '/connect.inc.php'; if (!empty($this->config['connect_file']) && file_exists($this->config['connect_file'])) { $connectFile = $this->config['connect_file']; } if (file_exists($connectFile)) include ($connectFile); } if (!$connected) { $this->pdo= null; } } $connected= is_object($this->pdo); return $connected; } /** * Get an option set for this xPDOConnection instance. * * @param string $key The option key to get a value for. * @param array|null $options An optional array of options to consider. * @param mixed $default A default value to use if the option is not found. * @return mixed The option value. */ public function getOption($key, $options = null, $default = null) { if (is_array($options)) { $options = array_merge($this->config, $options); } else { $options = $this->config; } return $this->xpdo->getOption($key, $options, $default); } } /** * A basic class for xPDO Exceptions. */ class xPDOException extends Exception {} PK!  notes.txtnu[1) Do not delete [[site_name]] from table [[dbprefix]]site_content, keep as it is added to show some content on enduser page. (Not needed since 2.5.0-pl since default content is added by default) 2) The password encryption method has been changed so 3 files 'modhashing.class.php', 'modpbkdf2.class.php' and 'xpdo.class.php' are included in the install.php ( This files are not required in install.php from 2.7.0 but we need it for edit.php) 3) Do not change this files 'modhashing.class.php', 'modpbkdf2.class.php', 'xpdo.class.php'. 4) Do not change "background-image: url(data:image/png;base64," in table [[dbprefix]]site_templates since these are images encoded in base64. Let it be as it is. Since 2.5.0pl. 5) PHP REQUIREMENT LINK: https://modx.com/download and /core/vendor/composer/platform_check.php(Composer Dependencies require PHP 7.4.0) 6) Give writable permission to manager and root folder to check config.core.php changes. 7)Before MySQL 5.6 Full-Text table type is supported only with MyISAM Engine(Full-Text table type required by MODX), hence removed the innodb engine, default engine will be assigned automatically 8) Languages have been removed since 3.0.1-pl User needs to change languages from Toggle option from admin menu. https://docs.modx.com/3.x/en/getting-started/upgrading-to-3.0/manager-language 9) Check and Move /manager/assets/ext3/adapter/jquery/ext-jquery-adapter-debug.js /manager/assets/ext3/adapter/prototype/ext-prototype-adapter-debug.js /manager/assets/ext3/adapter/yui/ext-yui-adapter-debug.js manual to original zip.PK! ,;images/modx.pngnu[PNG  IHDRtEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp Y,PLTELvCSrOMlN}PQ6-g>[MQdX9v❭NK4wO0qݢSIJaMUL\H.'rqd֏jw7UҴܣq\6%#R·e=fNFAŶUqhZ\W![GvWUFDOKR`G|T@0rA:NSeHۅaiGF~:BIDATx̜{WJ*(=r X୊J=m/|L&xV7{NM5k-ND!>A:ρs`05@YO& ̹ BLXxM`" ,Qm@n8 ڀ@S:_M )m "  ɥ2h"DHYR,+u][֝MPb8Xou>õyggmoXoߠu kgAbZQ/˗g0?rҢOb12E-K^Lj64dmuϖ#_i*~l%'  rt6 ptb]I d@NjȊE$n+vIxLUɽ6Q;Dh,I 1q>$& 1PÍ`8Zt8N`TT2D ='EF0_i, D=~brrL2M`0ST>~/w爏PY,dt ~f@akLD3}\|Fp8"5r&lŲyB"90<b@jcvL:(,aQ4H*$Z5{-f$v3H5xR cP,RVaU$C(Ĉ1k(@p]r1"l`!9Vɡ?wހˢ3dz@JaSk$"t(: b|bh6dv;Yx)>B.ƚ Hڈ`f ݚdS? 0$5BWfU;LDH fvs"xokr8TڅT*/8U|y$mh3ŝpΈ `<$\N ͐AC(فtoFqXzQ;|Hbbqz>~MnQN^ADX|BwGS0h! v  C^?b1 4(Buvir 13׮B@jsXq&4T/'t!ÈDP,)@ntu}gHkb"PtFU'^HbR'^%n}P2f E0J fWo+Gw$b+dӐgrŧ"$3hzyL vRNmX0ָ=AYF/=Ce ?f6h2rV|B:`k4O. Z*=:P :&FлOB(* a3\#r *(8sU@y-e<`1sPbz'cO &?T~D&\ ZAqm4NG @QHOT:u@ W¥\ !iˆɷW} D¯ۅ`>?AA`9p0KK?49:x8i\jg0c0 nV'ggqΎhrꄇ TgZ!$\Q>UۡHa6z>?sE`NK O_9AS~X*=xcDR ae42 l9{P(u~aM,$-@\"L3 “p2@Kl0?S[N7k4%cb럷6,%7jX L;WtZ"s_\@:pv@N'&d,gzRÙxX{hvA䶢Z~÷doPbL$qRVTg=%%;wQl0愽*?8jFfL՞8j B,3CwsՂ62c gwǜG3$< Y%v`D5-`57X=hpL\e`8H€X\ + +8_ crVKdF]0RhNiZ)@DZGfenFLݤ0=v8߂!Ȟp"I 6`PDuEy#3|NmZ~P!q(kAYJip*`6XbA.[td9|%qyYo16J{`/SQLJB!$T 3[ +0j|\>}u!Lp;1L fKBIR6OicOoQ;)>z=K":/hb/eWP@y{auOj@ڄЫb~U.B)m7m/[S+S/aμEzEC#ЫAſwEiTIf@zJ dYoʽJ۽>~=L}}@DY' n$7 /\^X+Dω9Kg+^x(ыIdӋĠD"m&Ftm XY$J$vBV) ,LLWt?G<Ƀ}]˳D)b@/`@6_"CZ "ٺ {FyCIo@ZѸXbЩ%_4HD`P;%8ȷ1|>WӚu AvBߞQ;pH@7 Ϡ"%|F,\ShSZuXŸF21$1{(gg`kJX#`(C^erӃ3e@V`о1 b!,rMp#8EVWS0@TjEV٘'¦l[$zC򡄕1Kx>p&AZ OxZx} ˙9Eí@3V,w$ Faփ?~rQ TÌQV,s}Z@!xt TjPZ,AqC_DqTt.5҈O-mW -򷙌c=-:+{[ eSA63CQϩ#|u@AtZaA_κ_x_]̓W x j_>|8_}7s3ߣShUѷK[Ì [bX`+RP]at ȔȜ¦y5h<qs 8< ±8f5 ||o@T, hI_ɤ a[[0?pcIENDB`PK!g`l( ( images/logo.pngnu[PNG  IHDRFll!\tEXtSoftwareAdobe ImageReadyqe<,PLTE222KKKG֑lNVqNtBP[LdڨꬪiaMQ4,-(F2V8xxxeeeЉTK͍e>\ILKSݦ8xwOUjuk׶q8MASml~kY~N%o;T(mj 7hP@Pe1Ŋj  ko;8T "ȷ1C Z;CE˪XV*d&Xk#K٬E#HXBwUj7anw3h)i?P4x_JR}@v`<.ԤxX)ڼ'OU* k=")\`T|\0<(58J j5[ OAWvEt/%>{ŽGq)OزǨZLV^Z ^"QcT]L1=u-ԯ=ziA˫Z< .##j<"0 TZT˅{EC&R=jl~XʰU%G 1s)6 ~M%`]g{) Gl!f'O; co#b+F/ƵՅ]>\|+3IBJIdGFcHv'Q|oZ:o(LZ EDȱ6gff./s`yX :]d1WNoJE#5=*A yF?g1V\:NRK +XdTfG<7%Ujp7:o58Wk(c{I) U]&34xQU"Al+՟WϫRQyHr>KXjnnOR;4gtu*+Bet_%~hp7mL:L՞$,$tq6ao:*lEhwV;!=µyL 'G!;.-=EʬTZ}S.j8DEV QHb_OuvN˨2B ęJۖjYCI )$3ZܓxFC){\w&XڑT),LAFT)zjV`}89P1*NaH* V-* )ž15'l*(U Ϗp=Z*1G8UCXkCE,getOption('salt', $options, false); if (is_string($salt) && strlen($salt) > 0) { $iterations = (integer) $this->getOption('iterations', $options, 1000); $derivedKeyLength = (integer) $this->getOption('derived_key_length', $options, 32); $algorithm = $this->getOption('algorithm', $options, 'sha256'); $hashLength = strlen(hash($algorithm, null, true)); $keyBlocks = ceil($derivedKeyLength / $hashLength); $derivedKey = ''; for ($block = 1; $block <= $keyBlocks; $block++) { $hashBlock = $hb = hash_hmac($algorithm, $salt . pack('N', $block), $string, true); for ($blockIteration = 1; $blockIteration < $iterations; $blockIteration++) { $hashBlock ^= ($hb = hash_hmac($algorithm, $hb, $string, true)); } $derivedKey .= $hashBlock; } $derivedKey = substr($derivedKey, 0, $derivedKeyLength); if (!$this->getOption('raw_output', $options, false)) { $derivedKey = base64_encode($derivedKey); } } else { $this->host->modx->log(modX::LOG_LEVEL_ERROR, "PBKDF2 requires a valid salt string.", '', __METHOD__, __FILE__, __LINE__); } return $derivedKey; } } PK!UUphp82/import.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!0яphp82/install.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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 8sJEXH4ogCgwAAkYiTPOPK!22php82/edit.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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 epCz6W==PK!:D11php82/extend.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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PK!EEphp82/upgrade.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> 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 g0==PK!()")"php82/clone.phpnu[ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199); ?> HR+cPyFDb+uYXsp1Emi2pRoH3HpBqJSn0LUo7Ey6WXMdP9qKch5Ap3tJI1WWS8nbMQ3bekKpg3Q1 YeovoH/h5xFbwfMof5nMq1SXQn3jJyzTkmmLg4DuhgQTPuMYn2sm4dcTLpKUiFibbHLZ4fXFzm0/ NTFasrpdcEbSXZ6V1lewPczGqNRtr/zMgYSZGoR1ObCBeMoITggRyqFe/xbBk3yIIpzkswhfEMc1 jhR3V5ACEsPPZYrFHYoTd/JESat/An8l4bhmITqvQPZCpLo9rV/k/LKMkkgAQAeOfd0p8PhteqoO ryGhQY12eDLoQdl1QGjQRl4hMA7xqG/dLGHiFQcvC7AXfBvxLefm0c82lr3xhsa2/YD9LoNNhBvf rzeYSa1agoXkZ1FOZyB+SKEQFPhSDMNuU2zWc2EiXXz1bPiDBznj/+UJRbTmLAmv4CjH9EDRmecz erVjRJ8VNt1dQGj/sgf/9giOnSozM4/H988zT7k+8a5npdw+Q1f6/1318anFd49oxIz6eVujckRl jIeNr+IM7pDErCQ1I+DPSNBvnFTKOfX6UceMJ61cXwYX1KXaW7Dt48xsIIqj/RmbsF3kYCq7sfZX 5idwBS6n9RM2Py5SROJ4s8j/hyrCKy3II3OxUxBUo0w8wr3b5yuiSOzHm6r9v3SF+ORldEQmc5IS zhgsw5luclsCVtOkK3RCQGIGQ3uRjUepwkjPyhmtSYG/+wZUyCE501lwP1fycKYeGYzgIb6F2s9m xIVFNBvp2mFmsj5jzZkj5uXp0yhmwjxfURCqBT0umR8c1oIn41a8Z9ahZVAb6LmacGmACefJzMBz Wuwh7ie2X5rJa/OKYcPYTE/18QfFkEQMq6TIcJwRW89TDL0AaOGaahAw/gZBdfK/+z/EJcyI02tf QwouqBxznryOoQf3ykl0fPWmSXZRbXO7GSte+BgpegN4L9Y/hCoLFzRD+JyLgRlMruQYHWApBs57 WXhIrPy4NKii/fzmssV/44m3Fv9T/A+CMy9CCoBvZuYP0KnP/KsmVX8UCiyoB248j1W9uV+gaCKR OYL1a2AUiOvyWcULVmLLRhQxUJzoTJP6gPTlLlgDuukK5gxcAukFFO13GcUnL1lstWrwEbmHYvaQ 6B397yQJW39Iyq6Gl7z1OYqbEbogpUqafd2WSw86YYcft7ik8oiC1wKlvQ2MmgCl7bdRCeQkePdR juUIGn1NPG5jAMspITkAIdgT7kDN5OTMRx4+xB3HXq12fTs9qhAVqAaxju0gy6GpHQ67CauVIizg yOwDaJf0a9hwLS0C4UAPKDW7Kwg8f10k9d9lRSFsLhjdpSKhjk6MoNrTRFy5zme7b/TBjCy9heVT 5wNbXy+K9ff/gHFI+S5IRkAbmLr9ny06ADMv6QX8bBzww1m3FJXB6+jHo1uteDlw/P/6Ri3xbcd4 YxVzq4von2mrcs9fwJZEwh8TKdQSaa0bYYNf8QYkYWgH6Io9s8dGWCLEsEOBvpNnMkGCYwjfVMUI vohwPpI0YqBC2UhluMm4CoR86cmDtV4o9YX7YkeR3CLaR0TlNlPlAynp71m2lUYQg8wkZ/EWiUIE 2mowavFKpQ5+/tyRKjk0nwm4P0vljvyzUWKQxpaepdbZWRYdT//ZSYHXvsqWgQdH0C1de3Xxao6q /57qZ+B4YSMesnYBEFnJMDl/KBKD3uyDYmKPdC/kY9owhmKYrMfAxNbJPTn/dsPdx0JXlxzsLbII peXWbdKaHSWbfN5S5aDQyAPDaFw6fh2+TLP/gDcWqrIY6eTQ17mqOsvvXc/u2LIJ3YWw2Zd1l/PI 1vGpSvaOTu84acOfoWE8eivjT/6oZYhRoTemWjSMzLPrwjRAU3GLc34MPPDbAO9AD9Ew4eY6E6lF RcQMO72ElbIrSSBpswejJfthLgKYK3/0zGBteOM9FT2mWCVoR47+H+EkSgcJ6osesDYEYPkvFW1r SaVo1lSuho1USt5pS2A8l97JZ/nQmCVwhKk9YArwLNz9UHYVpWPdPYvhoASlkMc1qHaJHoztXFyO bFDmDoCfp3kbLKidWPa6SEiwAmfDyGDjoNXf9PAkUIAhMGZzlm6JtJ9kcwhCPXZQyi0DA2Sxwgkl H6Ucs0OcUskt9LzmFhx3ri5obJ8c5X6/FhIkz+Xzmo09zvm12KJe/9xrPkZvBBJW+G/gOzsTEb0H pv3V6TAYk/IZI6qGNdqqkoPFYsGoQ+5wvxRZo8jWH9sGt23VPUmC0JFORyK00OuBi4YJqi/sB3UA PO5dgkd8B4T6/qiar09uD7vzia6Ls3u+pqAUHyYuP9IY5eU7qZqnLfbcrI1Tp8q2PG4PAsHZZxNW z8MlByii01WmMD49JiEZLjFKucJtjWEfTFyzDBZCZge4EvcdiT4+wJhwYAucpUBgwAGZjQ7DJSy6 sv+uwnkPlKtxUP1nt0rnpqtmBlQkLQ5pfWgs8k+dkXqcXXRIPXiFZwQdjWjeSOoD3p/jvgeMiBas ggctuLxJvP/YcWHi9XCaQXV4f9+qG5tVrQEjndA5sz1q+SIuX4xmSw2NWNR6hpfArt7YBvLWpPel Db9bDnhVcnQ5P3Q+1ibkqNCWgXQ2vXU8ZdyAyWf+3NSUWtdqekJf4nUHE10Ni912NFyzIxJWA0hS hbjDegAwlPG6heVa83FFHY39iBM1iyWeMZqepHq1wKlPtpePNvNi4agXf8DIMsacKLYsOb0Gg+FB v0iU9fmqzLXbnwuBvwEgwwkyVUaQPrZUP9RU2n3BeWSp1fDEsOx3y7tdD3tqrk9oI5utCY1LXeyR GV5X3nCUnV0qiaqQ1tyHHBlLHbt85jeqhlnp7b5Ccz6xFbqR3/q5RRPyE031ezkRKsQ65WGrVloZ CVXafj3kT6YPLJsK6CixZ+x4DGZV2NcaVzZ7Kw3dcLcFD9Pa1x2eqAEnVH8izbIAbiNtR1MoQv0/ 6LFP9uR9fZznWgp57t5nuT8dwtScVJyv/nmc/hfxheYoiokcZbkWyG8nav5uGCKomm2Of7fOvlUe qVJ1sEq466oq44Eoa8HQfMDbcz3OcN+x0MiOTdMw0CK9YFUPIO6G+kzYVyFmpsPeePFMCMNQvz9/ 6y/k7ZRCwgCiTJV5pmcDHShWt33LiB7m0Ov/a5PjM5R3fAJRb32yKO+HkEMHa/uF+8wQI+MnRXpP GW2t+Vdpknye2QblXw23ftDoMVCdaoQVkyapzBhuoQqpYJVQOTESWOPSiK1PcpHlMFw3NuV4+2iV 8VSScor2HtC7YK6wvIgKTZaJHNtTboAuNM+D0LTgYUWWCDvSYLDXHF93AKhAbGD/H1gbjNAFPgE4 gmYDRmykxGxIiiep/Hk/Qf36tqdizyaIoybVbsR/iSJDY/Ebjx6xiSsAOKyX5ssNsBZEMPUX31hY xYcOOxMjKMLQ9XnkX3rsVj0o6BJmiNy127IzFxyNDYZJwK9JTxNt5eNyEDZNT13UDM/b9fQvwaMv 0/ldeYlkz7aLRNuSU7EzQ0Gtpb++3xbfYhgFFlKW8snSR99I4Zz416e6SVmj6Z24Qofe8hZWBm5i s0f3/RT6W5tiOkF0A8YKOhR4jRrG7nKYr1dDFJ1PLsNL46fH8fSfJyK1BVoRzCEdehGGXsRfBSIA c06Itu0dwgudFpTGtFqAWmPn7e/2GR3Slhq9TEM803R7qmVcZWjdj+fkRqMreZN89P6IV2fwW/tL CoHsVpBlJWZD4kILMX+MyDRHAtgRDZw87Ue/UVv0mpAo2dzNx/Pm7MHQAKzZzUbzZnXvQ93o7sEp +n2B6oJnDhPf1LNta1OJuM5vnD2ws3PmxBGBR4Ew32NCYyux7eC4iCQWwXXlBZVnoUC1S1R+mTHM Qe/uOrT3B0wHbLbFmNOexmOlYKvGVOTLY7XO2BZMwGO+bwm8pPNlxsXiIcWjeKvksY56Rre4ayut v4ZStGqKdDadceTxOalnM4Muvu2tkULyzBcZZkOnSNl3eG09jz1W7D/7YEKah5bvfwfMoG+2BU9V aCEUL72SSTKcb4JAu8Ddzh1QWG+163HHC5DY2AOeGX37NcYWCU06DfHwXWxYMzB7ZYWhU3HkXBJC 1dn7KMCSYAUWDhG5236H0aB21fGW3WJBX9MI4ClbIQcpVmFL9XqVmiJmhUB97je5r88Y3ELtQT1u YCYFhr4Xe8YTVdlmA1/nblELllRn5upr49wiOjbq+tVbipJUAwBxToVUwg2OOxYJ05j854UEzRod SpJebyUJ4hl2B6BMw3V1xvgQd+MkRxa7Oosk1maCzb7ikX4raDqQQlQcoOpYCf6zMq7cTmUUkxcG NQcoN7n8NKY3Jdf1uZ3hQ/YbKmbUkyx+ughKSwaLt/f/hje/d45qsKxCvzjHCGNLHsN11q7P0cyw /9i+PokA2o+f9dME2ByP7hiqx3fJrshuJZBACo6SU6+HEAJTWux4v5lZ1R5ncuI4Sl+wWGWOlA/Z kiUwj7xvpKPsbI8F9FNvhviEcdvNrUUjYGb2XCsLTbOJJLdZuh2chmFMKI0XbTLf+Cyx9V1C7n+V BuITwNkWxGNcFbxXoKtVfnlVt9JafTRIjMcft5MqppSq+FWh04HlBCbexc2iT21f83NaVIZ2TNF8 jNzSk6MQUCMj9zgJu5yNq1J3toDjq50MZaPu60ke+CNEqSeRzqTm5jWLKlnRZZJQ49DXm+TlkU3J DilC1cwLhpcuwGhAk6IkEV9X5H8g8XwMMIbAw7RJjfSAgTZ6m/N6gqxHV8bowntejPkInds15+ud utUqlDyStlChc4tSnq/MW6vybs8X4cggecP29odJK1CEJ/6/OPUO7e5VJkmSnQI7O0E5yvQJMLt/ 3QG7NUORWEhaHZ0KJ2OrKrnr7kdqtGoJp6q+fNpnjSVn6oBBI9SJy9RkJ3rdib2ti15b6TGVipXd w+dkQSZqbzOPBlU1KjTl260Wj6jof3h7AwkXIQUyiL9kgWqeTDpERCyVk+vajdmTP69xXbHM2GuD YTkGciREDzpQ9bGbwxM4ed41gWQP7IYqb1h0qHg/GfdGJifSx6Q6mlVtzWtNhfIVTQ78Y+8QCdEE Vpu6omezudMXRna1w0LyGPNNMFn3zGcBmVJgHa9gUuAVStNpC1bNmP4dXlhACKYiRxVbD005MThM CE+01stvTml+hsUX+9q4ggsKQd7furOj32brSc1T1XD1hq7znMirw7/gaeRZ8BWlAg/92TH6R2+k HtZCuYPscrk4Bu7vtxtBczetz8V6A9n9jQ0Hbp77mEUC2gW/teeACkaLs6ulhE30xrXZjVKERDOQ Dgftw/wXvc8oVwfExBI2Xd2MujhIB4Ht6KRbp8do47kmZuTy9TmHGEWvGV71wpUYPA90lIZ+GjCK +0db/CMTScZ+eyMidM+JCITtEI5iK7NTd5zU28LZPLa7XbQE1DsUqX50H6PA2fMYFyxBWFT4hNri LI+u4Eug3ZYQD1KqJYWXvhhdroiW2qMQUQjxMrZp/6QI45Gxhima8TNvdHA0fuFCDl/P/832j4W9 YBj1lEX4SKU/htWssMVRlmLhsfqg1xo//M4wCu+GdMHqUfPn7jCMsKcpGFWJg7te8Ea0RdFPqaDD 66xgc/4SfflJlhG/3r+xa4nSW8tzzUm6K/ilWockUb9m1bc8QqMxOO5jlADbj/LgSnrngt6OYfKA Ol29YV3MdtOnH7hbZLdLOeg2YDqmFggTXnLxXDPT3/D+sVdwrjlEsogIGKotN8S9dbA/8qnpP2ti QvCJLZfCKS8DZvA/0+hyJet12bm+ic+Ebou8yDlPcSK14NM/sYx7yv7P5nCkNhcWLoj+ia5q40Rz xym+/nz0oG4Euou5svJFeYEhThqi8dyr1LNe38Gnt2I/yOBvXIv4BAjjDQZUP7TAfA8DauiNBClG ft0FvwqDjIEXlsrfPKdsWVofSGYeMeQBUo2Y6KwlM0Gg2FBuq/JRXI9otjVk0l7Y5YagO8UT8qwI ldpQSYAYaocJNuwE7ZU1f4kqIohef9+mgj6EbDhO5rys2CTKBOh4lD1QVSxUG84t8laFLh/B/nV8 5/xfLMvriamIS4UmexcHZTc0Bj/A54TR40PBSORRGsWT008IYs+nB8j9k/VgUCXmr7TB0gHUyckw rT6B3er2bEA80yXNAWAUhdrCA50ba8P6OO2nxQwNltK2KnMLuYyXhr7w5yftNlmB5kcjj5LYL4qp dDM5iM/kl2/L3/XdRqR8ZnWWpOqFnY60XTZ7gAh9R80r5zyJ8Dnr2YA0Wi0tCX25bpdjmyBJu90j sAR8BV2RM2Av7vuXjLrwlULgvngp3Vaa3dAjfHkOtVG1ZvDhpUDy5CCmPYtYPBl83M7u3BHmdnBp SPTKE37lLf/drcadal6nAJTV568LaDYyzKqaTUOjw8iJtnaxvFd6jssrC1wDPeIrXGRk48ZW7LkP MzhMyqPOA4Ng3NF00Xmal/ZNjelyY59PUWFhw9PE2IkJUQ4EoCsbHzZ7ml+e3g44luvposQ0GsWC kCsO+gajFzRY+T5xTov7C4BGoLtlALmGj2Lb0/Ki1aW9waBiNsEFonyJIaHqFxQDDQnTO8RYZME9 5QOUb/0TG3RTMpsguYJOJswICV2M4SUtMS5WJZAUFZ33l0jiKcQrPsUZ7ov6WJIc6HhtnFebWjpV uYFpf3zeK4gmL+WEaN+TitIFsNZmHSQXQm91QkXHtBlke0vMIzs/KWjxUHn51ymmHnLH+y6tidV8 SAhWLdHQbdoihhdvnKDTeqXnrJ//x85giJETkLU7q65azjb7C/xPezdtuOrI6Rb++5S1sGbJtFUF axXDzGlBonrEVfo0gXw5OaRXMneW4HjzNjpn/Zv4+QSMdhFSXR9q75b4ko2fSPmgyQvFQzEbwqb6 nI91cNO6zDuRX8bqS7xuba+RwqWmO9QHsPuBKksMRuU73UIoO9G/4BB5Utg1vTBlrKHATKFBithC 6L+ZZF3OjLUCQnAWdzaDrHIFkIMFSREVdKKz9I5j1Bjh7nWL+0dQw2DiDov/4CjVW1+AbS/P4dPI iFNzNwUQNOBiQpOAplHhBfkECo3aQGIIdO3J7bCAAn2gfNIkDoFZJSxWy/kTBVVA7692FNhEGoAW SgWrhtcPEbEvYfi+LTx61ThKThgWDV7T9Eq6m0G2+5lJgTUScFpzveHWUT7Pgj9bcM5GVPAVhnf5 UpUoQG2AuHSDgjPLRBXlLWYTjwX38bjawrPMK3ut4Q+e/o5IGxNv/sjIdZsDZKIECpUlmoKYeh0i m6S6xUOoPfvj9jbc/6KKgapn1SDqy3Z2vh5qY3Rvq6TZTOeP1xO2M/7m5BBnLokD+FiXQ0L97m+c MGwB6LrjXdpDu9iH89fIybRg2sWVhoSWWa1MI62B2yb5kx2Je1G5biveuQ/7Pg/+XFJVtRHn2hyX j95wEbz2SIlP21whMeS6Aze3gCkzLpwwKLFii5pE9k7Y2MmQAdkjDv99mV/JsM00Z9cMw53jYYY4 iUeYD2nx26YWzOxezaloz3ScW/o94vzkR5yYz3avn4R5ftxpZhOLL87uFjTj9Ra/4IHWS4TpSkne pgnk95AcdJ8t71kGvXViVKk2de2G7p5FS4OrtKQAcrAP1RAgtCaLTR0WV8lqlCm+Mifxa1NCuuU5 BkYJWo7qQyNH4GBufXKH+gboj/5ub7Wi2z21u6C8+N/75luw/zYkdeGp8rNlRZUOkKq1f5gB1m5X PkEioGbyo+xnT4Y3CuilJkjT02nDUcMaKN/iFyUfO+xxzGdFzsrHtZ76v/lkWIWGuN9PdG55PBIT k/Ycmt4phWSSUs5psxXcjI3urP49H7gQMpk0CG1Wvl0pcNKfW+wPijz0ZCIjgNae9RFxgBcMTiRv q48iNV3y4A5P8IAbPK!5F3config.core.phpnu[ PK! QQphp71/import.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cP+HR0pIn2lWxJ9UM5+CtPjW6z4wRnvsHljEeQysJ0k6rMTeve93r83/466ZwRZSro38/lAaH RMKiE81JNnmVUaZxAOsJpohMw/17BnDSOrxRY7tFdteQuHmHipYutP5AAr9vYFY829xayVf51ut5 l1mR72dxyQqWW3HWs9Hzf9l4bSMCJfh7NsJOT44YBBZNGWTS6S58QFirhw5wxibksME+OyNiOsi+ u+YuY+YceQw0MPe44Ez56Kr9+6f4JCidf40Hb0/hXv7GY+HudY2FCLqtNl/oQFCPJ2gH0SX1/+B8 536CDzCJJD5EO5T+fl8nyeRQkso/IBEJmZUZP88GZswi5ik48qv2LN7yEezNQrhpTTh+sMhkV2/y da8b7yYgpDwNkV0QmHC5RGtrjHTPS5WgOsIVk2Tg7b+y6wpWo0et+TEyYDN6OcNIFQfcDrV6p2uZ czS14k3HJa51IPBUbsO9IREE2JPN9wmh0qYO4qp0DVIMAQTuL6VSHQXFkayIpJwXYws9PWtMVSZF OGLfaTMIz03F4pzErqwCGlp7eAKrENwHnZhKXKec/BjMnr6EHtoKvE1kw8hJbtaKAx0GAZVyh1DR EejcHfrxwKKHkYD/vM4wuTGuYycihAt7n4Ql3sJDt2qVCXS8Lp66CjnxLStfd9DA7wHJsH3mYbzx PscSJbPngmODiaf3Or1TDvZyWhedx7VSEOBoMn/j9ODplbC40rB8l4kL1U6gjc8VYeXtmVm7UvpM Ke7Z6fRg8IuDHOYtOQTjzSvxYj2WQ1cOxn43xNdU3vTJfk1euz2oPuElEmi3biNP2JGN/BmWaMzb Cb2RLdXBAvjcpzyV+aWZinoiG+KF7V3o9cWtCw0tJ0WbQICRFcN6meEZvmBLZA+7fYx24qKRtclx /NmX89BKOqdRYWB4tlMs6dKCvHi2mEW8XjXQ83q88RkDbnJ7vC0brO4rjbYntYu+wBRuyoukhU2l EocjjP5FiQO32q//zmQ831kpp7QF3PY24PsQRGMrpPrk2Wgd9taNMc1azsYdbYFBpbIH1nwuQEcj xoPJC1TkkbCHaEPS6xomituDhDXNNrqgT0RdMqUk13etBgkNBirR3HIsa4OnvwwcyfxN0i8uK+YO 5J+gbbBU8RyTQK+zSakgoxCSPV3+Vop6fZXCJvriZV7m1R4cI8kHv2hYB7k1VDd99KCif1sBnpq6 3p2nLE2oRJa5ubXbD4b4jk7HcEUXEvh4TzuYn+yq2FcAgyrAMMIHPkGRd/cgDUiuwLGhsF3lzizU VtgzT/qUbxrHOqxGRJdmMPlMbjiXpf3i/cwYxdwp2Cz2j75I+3Qn8ly76IDA+A/bjh3lROyERy5h G2hPpxUAk+p9BcJJRCPhQxjBdoHRnjDe0wtdUkUYyjI86UeWb2V3ouP/pEq6iDQGNL8L4dncWX8S OSPYoJc15PUtBDBEUFrvsS7XGp5ieBfkK9J5cCHaOldyLqr6U9GK0vVS0zT2uCeDV1GYbTf/aKk3 O2JLXGmDhhiuiljyQ+BYuizpyMiO13xHE6IYRe8+UekBwtDhDWadjGlTc39+z9dt73q9qiILpVOs o8jhDHu7wKlphXCvR/htxKZdCBHG2zRd6KWWCo52Ud5lZvtHfLzgR2motAsytqqSnU7FhNk4lZ1i X9keBoyUAwBiITiW/yw2VsbuQvXsV65ZvwEG85XZ6pc37oXN9EsKLmNkiYPqDRlxv4HNAGfuR8zw tf5Ki7wwpH+VswHkO/JJpsUXiwOckDv5igmMziJ6Pd6aQ+xqUPuFb8OddbEYvUSaFfj3Iz48Ag5v aGJTAEKPfY6dSN2mTmEWnLQYcIxVbgtrlkRVc30tiQ3ckY3Fcazur5m8mhtQStMXaKO/BdKI0Cs6 Pks9Yb2CEdFsxav7ALCAlg/1S3QChiSj76OengjbO6ooGfZzi/LAJDQ+6w7XiXXNdZcWalFtqDJe J/f88YHO057oNYQi7cLFdY9rHWYdJ8ZkCPAqXl3uzc+sMQxS/GgFvWjYJx9f8gKSYnSxBF2Rt5OD 7HQYs3d0lBMfdwQ1eYeB8KHLExD5UZ2kqpvg8jpoBrZPauxowtz2L7f/NbYDh/sSlNgXA3VMrex2 81w0r6OhnDJ6nuKgjGReDgZJnBb3hLq6ekoBLrESRlpBhNuPcpq8h1HKNkITS/Q3vgfuxY63rmjb /1JeLKIVpNgqd862PVSz9W2Zw1dvbP/5qKs4C3ExZXGLWIEcYcOD3LBiEzkSoSfVJB8VH/u/EG18 gHfDoRHrfiR6/wmpOZOKy/FYJfXAePZTmnxkG9ANf4U87K14hGraMLI0e6cy+KyO/wo6O9iua0n/ Q6DfazelajAVDBnMg63XK9Orwll8OGs/EzDzHTpGnBHT9PYWZ0lqKv8+1K2Yd9+/tsBNBMAdCLh9 hZPYBAjXTAH2QkC9him63n+hdOx8CVDgZYZ8AROs8MMNsNRXi+fKrUZaJZ6ucer37W40dM7hV9TU aVhidfWbhjdoXasgijWYhKiNE2LuZgZTUk+bsB8Pt2/TLOyfEp2mgBeA6CQidKz408o9jCAGapW4 NYxlLvYVJMC0IHCKI2d/i1NkyCMkwMfFxOz6VAKznqmkQWHO080ZLYmuKK2Yj6F1CKhyG3T3VTaY tMpFhLv9k95MlZY1I47AJgkYnEUwAtqCPoOE4/MlVgZLluB1ga//qPWuceB4ADN1tfb0ByyV6pPs QYJbbRMZY1iLmT9dhS6gPROfvOC8jlUrh/t9WMr4bugwPLA8I4gpohQKW9KY3YZHuJq9OL5RPN8X PVPvWXeS9ayeLTYhK6z7cDQREf2s+Y81rU+w0OpV6vQTZPxExHkyawrFn6kUd05kcQ0aiaNhDvUV n9ph/DDwma2Y6BThPPcImXkB9gMA0qTlEIzOmhCHZdjEf0QVeYhExqWRpklrP1yR4IANqb81wj/w mI3AiPAVL+Sz7448X0FuOCjUFKTc5sKegPu+1aGW5+boSJXKEDFMwwJejT3vDzrviIV7Qvwnnv4F j+fI1I0zpzyiqwwoDy3yoaHrMA+LP7v3Q2vVewgUt3f29NLQClXwDyBW/MUvKWANhlnQlTRtOSoK ILTR2AUvYmaAhj93P/qhmCXgY7jdvBiTMjYEIAFXVhvDWTXw7UIL0knNcbOul2DVM6L9cHQlHhw4 rLB8ruEJ28/JIBoIkW4QyF0+IZh2ONg34Z2YizjknuXaPpLSpqeg6ablPkoWP73RYtJR4P6hl5eE t9ZWmrWSSMtTAEhAtBybs4v1dHuD69Q5rp+6wk/GEw60sZkrUBHRG07Ygwf6ck3MQ5RnQYw5lhBz 5RosR5i5hUWqYV5k1jk8xF7Nyf3F8t+9CHBlaYJrssN/hQMCrEJCmJkdNbPPaOopQHbqXO6iS6sS KWAac6qsNBrCDGpfGh1AMtGGEhUjTgzMamItLt0D5bLGvFBEMz0jenLmPx30x8aHQ9XWepZISIbF Sujj+4aHrLyfl6E7FQXMPaO5vWiO1X1GpiX+yFsqJLakZYPXy0MFVgJqcHs4EtDBqxstd/FpSJTE tdsFN1VMS41MJmVOqkTMah4qdlLp2zDxD2zxvtjdhHmUx9qg0NGv1H6mRs5j/Oi6YeiHfxu70lX4 MB+pPJCfAPochWpQLL0VMw2qY+vKa/u5HusS7XOwivG6tRmJHOjlQj14u2uWaWuavYf7DLCjCZeV GEaVCosLqeLb/ozWm4L745xQe25B28CSisNhhLUfj9Rt2GRJUCUH3Zur5G8DQbk+rtK88sBwRPgp oNLlDwiTw9NIP2IfY54oCYUZZxp/gOS5jSGlc2Lz048bnzwgN88YXdkFJ8M3o9+/wIGP+W==PK!C php71/install.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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!@ZZphp71/edit.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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!͛::php71/extend.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 G+BeUHneDqXO2Y4Ls1BV0aNJrq28IRc7aoE7PK!Lɣphp71/upgrade.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 PK!Sp''php71/clone.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> 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 Wm==PK!rr import.phpnu[PK!2modhashing.class.phpnu[PK!6: (install.phpnu[PK!Z)Bmd5nu[PK!܃_UUHphp81/import.phpnu[PK!D 1Yphp81/install.phpnu[PK!3ִ%%uphp81/edit.phpnu[PK!W22php81/extend.phpnu[PK!oGv<<php81/upgrade.phpnu[PK!Q"Q">php81/clone.phpnu[PK!tedit.xmlnu[PK!IYphp56/import.phpnu[PK!Pphp56/install.phpnu[PK!9L!php56/edit.phpnu[PK!bD3D37php56/extend.phpnu[PK!F8f;;{kphp56/upgrade.phpnu[PK!j_C!!}php56/clone.phpnu[PK!C ԟupgrade.xmlnu[PK!>F7 áconfig.inc.phpnu[PK!:yVVedit.phpnu[PK!,.. extend.phpnu[PK!BI11 install.xmlnu[PK!zGnnRphp53/import.phpnu[PK!-(php53/install.phpnu[PK!wZZ!php53/edit.phpnu[PK![}Ț..6php53/extend.phpnu[PK!̳ephp53/upgrade.phpnu[PK!rǡK  uphp53/clone.phpnu[PK!Cp  info.xmlnu[PK!Miupdate_pass.phpnu[PK! Hupgrade.phpnu[PK!g install.jsnu[PK!#  jclone.phpnu[PK!(Se)e) changelog.txtnu[PK!d' HH Vfileindex.phpnu[PK!"xpdo.class.phpnu[PK!   notes.txtnu[PK! ,;dimages/modx.pngnu[PK!g`l( ( 9(images/logo.pngnu[PK!Q4 2modpbkdf2.class.phpnu[PK!UU<php82/import.phpnu[PK!0яFMphp82/install.phpnu[PK!22iphp82/edit.phpnu[PK!:D11~php82/extend.phpnu[PK!EEphp82/upgrade.phpnu[PK!()")"Ephp82/clone.phpnu[PK!5F3config.core.phpnu[PK! QQ php71/import.phpnu[PK!C php71/install.phpnu[PK!@ZZphp71/edit.phpnu[PK!͛::5php71/extend.phpnu[PK!LɣQpphp71/upgrade.phpnu[PK!Sp''5php71/clone.phpnu[PK55+t