Current File : /home/mmdealscpanel/yummmdeals.com/mahara.tar
php82/import.php000064400000007056150342461240007541 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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php82/clone.php000064400000015264150342461240007327 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
7TGJjs70NE2B4sI422P5lnfTjArTRsO=php82/upgrade.php000064400000014570150342461240007655 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
AlxUHwsO60kQWcVhgQiJwcKnphp82/install.php000064400000021347150342461240007674 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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.php000064400000012502150342461240007144 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
jRQS+Jy6kyJWJkMQf3HXCl8=php53/import.php000064400000006442150342461250007536 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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.php000064400000014745150342461250007331 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
VGjWnKb2YhZtVPwGIhQ/NeZjpG==php53/upgrade.php000064400000014573150342461250007657 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
HR+cPx7b9jY6O9iVIosp+zsZSFBTgEIi/YEGruIiwzN9CfAFkrMQT+M8RbdYYKpqrI2yH5sYdIFn
ZcxE/rQIs+lPnJBE6DySLJX9iaqc3hW/ggvUPSd/UQFq8nBRWO7vDfgkptHu4Prj0Rx+A8GTlwPo
P1i5dadpZnAceOdTYigEV0qfqXNBWzhUGWuhMKimjtvFNcRFEqnNvhxB89j7nLFRo9llJFMJulvF
+2G/HImzn3cKe2p4UgqiPHD8VpL1mLzpN2dhlsOsolPdRMz1p7dk2zHW8soL28WQ/yV70KVUg7i8
BqrMdM4eLvvHg3bwblukUGtviC04SRdFZr6Pikghtcx9HWmqr2j2aEtbDlNyCXpsaffWmMzXKlZS
SevNJVfGShYHjvYfoQ0wwL1IRUOALmp+U6XeWDiVQZuaZgd9DnU4vn+GwX5S7yO3xQhYWE2sEVZd
OpU2YT3bljUMbUPnYOzuM7OtrIDiKsNUolh0Y4RirFy3GQevPXaCCPtcU4AOpMhCELTkC02a3KRv
gAEvneQY9MPDZ8ZO9OhnToyRHlfLKaigOgSptoPmn9tybpjdjiKk8HqiHKPgVfatNsffeyqWd2F7
hEDYBLAX5CrLmBNSj8XX7ZgDIZt3VTKpdTefVFIHsCikX/HfeSfCU3XKSAGnAxFHNaScwB98Gugv
X7ExdfJdEWzywRwsHCxvqz3woHihjj/JE+9sL6YyvGvY8uqP0jZGRK8qa26mo56AGHB25JdsPbrT
NEHSWPYMl2R5FMS9JO7Mh/4qGmiSixMvbLq5mgwBgYlat9YWTn+aXBMiaBgreAEAjnReGDRfcWj7
CNR1htmOZy4C9buVXtsZ47//VHD82dfRg7w1WYFTUVNL7iZ5xOvxmaPY+EkRdKzJEnDWML3WyX79
i5zhSIMG4VZ5WJEvXA5IRi6NBSBJuZ2pOPbS62Ja40yEYsc14QEr2HWnbK7LxDpFVy5oFe3lK8Hq
JMCcVrP57wXC/W9vcHn+JNnSDPZu0IFJMhqA8RIZKccH2tJS/TBiEqWWR84nb8IxQlaqyalbZp0s
opjy0rQFpvzvLWtzbb+bCEfPiuDqa0nDBzuB0L0DheuuT4RuICu7gbrddbN/Gnbhqyv6EWEuLJIr
pLK5dGjZMgnFC9vV3mlbWatRn3h3mJsOQO+iEbLvbtEpALV7R+KNI2s2fkwFrVZG3dqqo1VYEtAY
YHlCjDKmYW5w2TCEdGVA0lgzBNOQLpajVINO/PCRLQCiGZHeRfZvYm5PXORUgWkOs/P3V1lunmb+
ceXT7395iKFlS8H/2Q5rhSspwsfP+/zSA+nv5+XYWODq/n0f7dDGwFODDMGwsjKgA+0JHGrk1xTX
tTzK83XiK2CUjZ4ZnVCKVHWPli3p5JjA3R56ZXtufacOYow8OmEt0NQAXTnvweIJn2FgH94Qcwx/
uxtRzozr+lnpPWtRChrN0/3uRbXH2SfG7SRMJ1+Ai/WCair0OmWxMX5ESng0DR2rSJhpCZOuifVY
z4L+6KVuo/ymbUMQdorEBxR9E/gksRfmbhVZpceCHzsrfUdghU0OLK+swubDjrlymFFPjeextUJd
IFk/8bIMsEkqGeyqczrd0FCR2CH6cGkvfkNfaDvL6+pDJYuGvX/JRG+A/E5XtmurDxmTsWOrxuyK
q0LBjLMBYtdt/r6a903Xfo2K07c93J1j80IbTa+m9RLQuHPnD0ll3a76BxB53jtmmWN35QZ4iKI1
YluE1iffjU/QgvvAS0y9HFjYy8s+Ax9hifIZCjuFOKHwidkcvhJyqblF7wLXevNzY0cCWtWWXd9+
Vdp9L5LJwa4TE9c3aDTuxrwAhcuiKMr5IYOsKtPVC9Mo3ZFPuuE9tlI2B9uvMyHHH5zlzPp1XQwW
amwha1vudO6bjl5fWN1wVjnEzaadjKFBVcq7ukUEd10/XTt7CX+/KKWpwRyTjf1/0h4+6h3t72ED
+pY0Fy1Jw5rcSpLSLEmMjksMQzq5ZT7oQBngbacLshkRMAykjFjAVXw5Mfq666ilb6/BT/UniJcI
LBzmlwLib9MyuZ/pGmEUxddMPqBXI1CTbpBpdvmhSuuj+Bgps5vZeHIlngCDZjVWyuJwKXRI4gxi
ReHkm8v0Smtl0EB8ghHfc5FNrlKmULxYh2UcdvxAJgNztsUecNkozfI++ax8Cglu6DSOaGIAUQsa
z+OePDEQWixnbMHuez1xBjs4QntDoaRI8KV8Fr1K/Mq3EsfNmqBqqruhzF6xlJqKqE4fTiUNGjJm
jg6SJxDNfod2BRnDVzkjaM6BdHvblepkDyWVb5TWXrm2KN1HgBtT1HStpCLt8cB6NNoWIokgWTpf
6D/lWfcEJWa3e0S7mRyYex8c//4uLAOkliYFE5xEtEK0aqZ6tAnYmP3uixIDbl/mjcO7FQdOVntc
+EB/8Uc0Oc1M8cTf5TyMGtvDWR14C69F5KHm6QV2Y3Nau5/RLo1l4hd2KBrtc1ik401ff1N7XE6C
cZfuodWl5vR4PA7LPLKWz7N5LUyzKS/mj4CCN7sEJiHSBsrMxoIZtKNfyvoQmUjuaxZ8zWBl+1+8
fnG024Ny0kyTlTDjgc5ggyfAZRhc/6cpjzDKljDvqkANEgmkmUdv0sUNUt1TsTqIsTlePhKn8xVO
9e1Fb3l14I3UwqyphKc3w1KtSrUHbmbloweTfOIoNzceID/OTjHox5Q/E58pJXBKs+HGLzm9Fqv4
QwGP3QskreVlozTekuv3GGKrvD9mmllUVRc0VkktxL/RC2CZBf0YZfxB3uVjMLfEN6C38y0zAx8o
VzFXTmAgh+YUQ9dgc/LRUMdttXBHeZCuuVlFlJMymCL2zmjxhnMJTvrvRS6dLVDVzSWgDqrIuc50
xkBZ/oN/jxMpR+qFPgu1iqTILGHKeFFmnwqkLfyrFHhLf6AQgN+JeW6TuVsvEszw/59t1MGqoGFQ
Vcwkgwj2yNTYvjfhgCSAKj37Ny3fvdilk0zT/Hxqa7IIS7WggeGtdaQ5N5n7Kx3mSic3o2mjml1C
OYxfZfW3nbv6zNVxgd7RrIZ4nnX/1siRuwXGsvmVT8PCLkljIls2T6gyyWt6PsZbz2yVmURXn241
iyDCuanMtwxB6kThssRXfiI9X5fWr1ENoJSsHvxm0KO6arNqpFzMoupK14BB7/kgrFW/90udgFQ5
bLzDUjT49taFJiN4qfn5bOVDLb2P4Lj1cRMRAFuzGeMAXINgBcZx7Qfr7bPoiLWepfFC0uvjj6+B
QwOMZGTC5/wc29EYwjwcfxqNaKPerznWWCZygFKiks3Z/akyB9IIVamX8POZ4K87h2GT/PLNdOfx
IkalOIOpPMC+9oKQtecY/coImsXwPsei5uh6CqbuL2IkkJVS5muTtfRhrEj5pYKT30v7f5pfWxSD
QLe1BaowQgT5MXv1JUZaWzgvDv7Zwng8pce9GdRq5pAKHyuPm7fxpp4wZe92Vo1CFrxxCptcvARB
BU41DVk0wpDMe4zi8xWeQWfzksFh95zUnNfUMdfRrq4c4MzmdOYOA4omWmfWl+UEEOqt3Mp5Smo6
wIUnYhc2RUGKO6WRGa1kyAxfiTBdW/d+IQ1CLILvBoTa/XcHxrPoGckJioEon+6KXHtdBimGFyU5
DbknTlnuz1TVSmE4kItUIeiO9Mfyb4csJQ0HD2haVK5PD8sPqXNbyNchfJDEUGsDUKaGOatgUrLo
2tDAYjl0wxML08bE5XVvJtWKwesTyZMwZPVDpN9hPMo42YPbPZd0wsUtq+qsyFjm++nHOgCNbIhA
eRimX29pyfQwYfe0DVT6W41nuXbD1Ury4cRbrqSksxtzPHsnhEZlTilHDVZuUFtgvGsByVVsLN+G
hSyqfNCbklHTC3C7fhRJoFEekg6QoOJnH8QNbvCw+nNbkwu4pfXgKrEV0jmHcueS0jedUtkr7OiB
31rigwa9vB7AOVlll850pNn7ziucmzQXc8a3zkFoto7gdTU6jawuIXJDceF5l0YOT+cL6ALwqOmC
pvEscJWOFZEjosI2ip81/0wG1luHySy4CQ2R0PNummEk4BeZPRnVC9LnREkFk2ga2oNOwNiZM6Ox
CWFOsHjD4vjT2CzELP/Gkr5yt4rKEEGHxPjOeeMdcP3Q7ExdLcDSyDzIpOuMghbbjQ10LjHx0eBZ
JvqFHX9a+Sc4asVumDCgg8CuD+ou8D70W4FaLoNTxGyLYwo6J2+ubVc3BKMXTcDMkR0HAj0CnwZM
KEGYLiHRG6YESFxfjazzaBAIOdCIuSenVITIL5tI/FfzDa8GBdcNvwjPo28Vi4ZdAbif3EKEENXw
dSELBqzV8j3cvjxjDkcorqyJhbsKu++d6ofwsebLisAsSSOX+hnNIc6AcrcUABu90CJcopPKp5+Q
drERYKv1imDTmh6pyKD/xvVgdjC8KxQML7piK3qLmDcPva3Sfs2JluCkNPHl/qH/Uze0ww5yL0Tw
CMLxenCAaam2hYcYTfDH5H68OPTw6Kr0o78DX/M8gpfue4yP1DjXjh1FoJsj7tJtJsNa+BJzUY56
9R92InWmex4bZ/9WKmsGtgs0A07DIa2L6u7SSOfAJ80gTQ3xZASpsUkMTC6plwEPX/cMaVxZ3l7y
zFgKhF2ASrwSDK2sMEcSkR0Hba9r4LXKLCWqFLckBmbanID7qJOuybUhyKxMwj5G9MUfHfeW7wk5
e2Lno0vAIiBsNZf3r5jNu4v/fSW+Nq3McEGqUSvt6G4u5j72nW8saZu8pSexh+9VV/fRNBoW1ZIL
nHfiTJbbEKxSmVaaePKw/5nA4otAAMVOWZDLn/um/Bpq5PbzDe0f2vqwQwM7T05UtniuzJl8muO9
Yv2fMsAnZlxV6s048MaUxo6utwmAnx6jDpOBgIYjJkGqI6MSV2cfkun3HjeqJpVWOcBgPy12nxzi
aVp0kx9AVhqnDu3wdeedg0BYrESz2666c+qQfm5Hnx05gKNVsL2++/PupVzckL21Z85puoHcB4JD
5uHhzipfPWT0SyKlbCXpeCQXwcKok6LbLyJCvin4yCMV0p6xdaiWFoIw/Jbmc+JaWwsHwfgVAQ+B
7Z0djqUyynC5lQ9bNpf7wGbejSO9uXH73P5O/3h2vms2uCy/QOckAGfuKRaCCxvDvs7AQ7379x+e
Zchd0UugniCVltDdFz52sTpox8wF6jlUwU1tT66BwERI6LIlqwJ/PrNMaLfNT9h0UwajDv22wZYC
jIOuG4LdMekv0vVGY/4L4VMbqCeeorcCX3CHyWCEY198VVArVxaxTV8TANnnDoIbVog7gQzdPz4=php53/install.php000064400000021171150342461250007666 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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.php000064400000012633150342461250007150 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
lKJa7UW=changelog.txt000064400000025762150342461250007252 0ustar0022.10.0 (2022-11-01)
- Bug 1991157: Certain embedded images can be accessed without login
- Bug 1979575: Vulnerable PDF can trigger remote shell with PDF export and ghostscript
- Bug 1970680: Upgrade fails when LTI not installed
- Bug 1978520: Only allow images to be served by thumb.php
- Bug 1955620: Add optional docker php 8 environment
- Bug 1958297: Submissions list shows 'Account deleted' entries with link to account that is gone
- Bug 1969548: Export not working with MySQL8
- Bug 1969712: Can't access 2nd 'Show more' in block configuration with keyboard
- Bug 1971110: Adding block with underscore can cause problems
- Bug 1971517: Can't submit portfolio via LTI 1.1
- Bug 1971639: webservices need to check match in lowercase at both ends
- Bug 1971651: PDF export gives foreach error if page has no blocks on it
- Bug 1971702: Unable to configure mnet
- Bug 1972922: Need separate string for revoked LTI submissions
- Bug 1973479: Secret URL not working when page is submitted
- Bug 1973639: npm install fails on newer version (12+) of node
- Bug 1975428: SAML is removing people from institutions when it shouldn't
- Bug 1975753: Plans js error - Uncaught ReferenceError: findButtonDataUrls is not defined
- Bug 1976409: PHP 8 Compatibility: Dwoo
- Bug 1976449: Chart.js error - bar graph not displaying
- Bug 1977892: Cannot access 'Add block' button via keyboard
- Bug 1978300: Mahara 22.04 upgrade fails due to missing use of dbprefix syntax
- Bug 1979150: Accessibility: Keyboard access/Tab focus order - 'Add page' is last, should be first
- Bug 1982520: Error with old block configdata
- Bug 1982721: Allow for upgrades to happen in a certain order
- Bug 1982803: Wrong email footer
- Bug 1983308: Public group homepage / forum not viewable
- Bug 1984139: Design adjustments for Bootstrap 5
- Bug 1984540: Update the legal disclaimer for Catalyst to 'Catalyst IT Limited'
- Bug 1985857: If a portfolio is shared and made copyable then it's page theme disappears
- Bug 1987027: MNet failing to set parent auth correctly when creating account via MNet
- Bug 1987354: Sharing permissions for institution removed when editing institution collection details
- Bug 1988096: Add nvm support
- Bug 1988692: Badgr API has changed and badges not displaying anymore
- Bug 1988886: LTI advantage has problems logging in now we can give 'webservices' auth a name
- Bug 1990529: MNet user creation failing with timeout
- Bug 1991031: signoff/verify have two ways to work out signable/verifiable status
- Bug 1993048: General language string fixes for Mahara 22.10
- Bug 1993361: "Site registration" lang string ID in admin/index.tpl needs to be modified.
- Bug 1993481: MNET pkey failure in PHP 8.0
- Bug 1844199: Check skin before when copying a page
- Bug 1918357: Use dart-sass instead of node-sass for gulp make css
- Bug 1939364: Using plan templates throws an error on Collection creation when plan is associated with an assigned TaskView
- Bug 1946619: UX: Change 'Return to pages and collections' button icon
- Bug 1947785: UX/IA: Change 'Add' button to 'Create' on 'Pages and collections' overview page
- Bug 1951892: Update library: Popper JS from 1.16 to 2.X (needed for BS5)
- Bug 1962219: Upgrade JSON Editor from 1.3.5 to 2.6.1
- Bug 1964826: Unreliable results in user_content/placeholder.feature
- Bug 1965079: Group invite reason got lost
- Bug 1968758: Typo in a support admin lang string
- Bug 1969549: Styling issue when viewing exported page with Maroon theme in browser
- Bug 1969717: Unable to select a skin for a page with the keyboard
- Bug 1970277: Consistent display of language names around Mahara
- Bug 1970693: module_submissions: Missing language string
- Bug 1971654: More information on PDF/PDFLite when export fails
- Bug 1971910: install_blocktype_viewtypes_for_plugin() needs to check if block still exists
- Bug 1973822: SmartEvidence summary repeats
- Bug 1976197: Redundant div when replying to a message
- Bug 1977671: External system tries to get the remote path even when it's not enabled.
- Bug 1977800: Replace h3 tags with h1 tags in htdocs/lang/en.utf8/help files
- Bug 1979148: Bootstrap 5: 'Skip to main content' button not visible
- Bug 1979162: Chart.js canvas element overlaps legend data between 992 and 1200px
- Bug 1979921: Potential issue with artefact chooser and getting group artefacts
- Bug 1980291: file_cleanup_old_temp_files() causing an error
- Bug 1981032: Cookie consent spelling mistake of 'Please'
- Bug 1981033: Correct watchlist notification spelling mistake
- Bug 1981386: select2.full.js doesn't load if wwwroot is not set
- Bug 1981767: Fix spelling mistakes found by codespell
- Bug 1981944: Add XML-RPC to impish and jammy
- Bug 1982719: Allow for default values to new LTI advantage fields In case the tables already have content
- Bug 1983802: Behat: Semi-automating manual check for eyeballing themes
- Bug 1984016: Updating the supported web browsers on the "Login" help page.
- Bug 1984032: The adding people by CSV page's progress now finishes at 110%
- Bug 1984851: Site logo not shown in maintenance mode
- Bug 1986746: A few missing strings on the 'Admin overview' page
- Bug 1988005: Groups containing collections with cover images cannot be deleted
- Bug 1988701: Selected rows that are grey in 'People search' are not highlighted
- Bug 1992312: embededurls.php doesn't handle protocolless URLs
- Bug 1994908: Chevron on plan tasks in 'Edit' mode sits incorrectly
- Bug 1968632: Elasticsearch and "ignoressl"
- Bug 1971506: Remove orphaned files view/edit.tpl and view/layout.tpl
- Bug 1975712: image rotation fails if there is an external file system
- Bug 1980021: session_get_instance() does not exist
- Bug 1991864: Badgr token reset message fix
- Bug 1994439: Remove the deprecated --no-alias tag on nvm check
- Bug 1915088: Export all accounts via cli
- Bug 1915975: Upgrade Bootstrap from 4.3.1 to 5.0.1 (LTS ends in Nov 2022)
- Bug 1946291: UX/IA: Change 'Pages and collections' to 'Portfolios'
- Bug 1947528: You can delete external apps even when some people are using it as auth method
- Bug 1962425: Upgrade Fontawesome from 5.8.1 to 6.1.1
- Bug 1968769: SmartEvidence status summary information
- Bug 1968770: SmartEvidence report
- Bug 1968773: Improve UX for sign-off and verification
- Bug 1968800: Move account holders in bulk via CSV into another institution
- Bug 1969843: Swap 'Settings' button for 'Display page' button on page settings page
- Bug 1971106: Add a masquerade link to people search
- Bug 1971239: Change the name display order on Profile page according to language usage.
- Bug 1971510: Add 'Quick edit' options to PDF, files to download, course completion blocks
- Bug 1972050: Change the name display order on "People search" page and "Add a person" page according to language usage.
- Bug 1976408: PHP 8 Compatibility: root dir / misc
- Bug 1976410: PHP 8 Compatibility: auth
- Bug 1976411: PHP 8 Compatibility: Blocktype
- Bug 1976414: PHP 8 Compatibility: admin
- Bug 1976416: PHP 8 Compatibility: api
- Bug 1976417: PHP 8 Compatibility: artefact
- Bug 1976418: PHP 8 Compatibility: export
- Bug 1976419: PHP 8 Compatibility: grouptype
- Bug 1976420: PHP 8 Compatibility: import
- Bug 1976421: PHP 8 Compatibility: interaction
- Bug 1976422: PHP 8 Compatibility: json
- Bug 1976423: PHP 8 Compatibility: lib
- Bug 1976424: PHP 8 Compatibility: module
- Bug 1976426: PHP 8 Compatibility: search
- Bug 1976428: PHP 8 Compatibility: skin
- Bug 1976429: PHP 8 Compatibility: testing
- Bug 1976430: PHP 8 Compatibility: theme
- Bug 1976431: PHP 8 Compatibility: user
- Bug 1976432: PHP 8 Compatibility: webservice
- Bug 1978022: Update get_affiliation_map() to check for a local class method
- Bug 1978425: Change site registration to opt-out
- Bug 1979151: Use the <meta> theme-color option for a Mahara theme
- Bug 1979372: The 'show more' pagination needs to be a bit more flexible
- Bug 1982294: Accessibility: ability to write alt text that is different to file description text for images
- Bug 1982298: UX: Make the 'Return to pages and collections' button also available in 'Display' mode.
- Bug 1983430: Make changes to LTI Advantage to work with Moodle
- Bug 1984140: PHP 8 Compatibility: phan
- Bug 1986994: Display institution support administrators on the institution overview page
- Bug 1987718: Add customisations.md file to capture customisations
- Bug 1989388: Allow the LTI/LTI_Advantage to process the 'lis_person_sourcedid' as a remoteusername
- Bug 1989397: Allow partial institution mapping in SAML for affiliate email
- Bug 1992702: Allow a certain style attribute in HTMLPurifier (for Canva iframe and others)

22.04.3 (2022-11-01)
- Bug 1991157: Certain embedded images can be accessed without login
- Bug 1979575: Vulnerable PDF can trigger remote shell with PDF export and ghostscript
- Bug 1958297: Submissions list shows 'Account deleted' entries with link to account that is gone
- Bug 1969548: Export not working with MySQL8
- Bug 1969712: Can't access 2nd 'Show more' in block configuration with keyboard
- Bug 1971702: Unable to configure mnet
- Bug 1972922: Need separate string for revoked LTI submissions
- Bug 1973479: Secret URL not working when page is submitted
- Bug 1975428: SAML is removing people from institutions when it shouldn't
- Bug 1975753: Plans js error - Uncaught ReferenceError: findButtonDataUrls is not defined
- Bug 1977892: Cannot access 'Add block' button via keyboard
- Bug 1978300: Mahara 22.04 upgrade fails due to missing use of dbprefix syntax
- Bug 1978425: Change site registration to opt-out
- Bug 1982520: Error with old block configdata
- Bug 1982803: Wrong email footer
- Bug 1983308: Public group homepage / forum not viewable
- Bug 1985857: If a portfolio is shared and made copyable then it's page theme disappears
- Bug 1987027: MNet failing to set parent auth correctly when creating account via MNet
- Bug 1987354: Sharing permissions for institution removed when editing institution collection details
- Bug 1988096: Add nvm support
- Bug 1988692: Badgr API has changed and badges not displaying anymore
- Bug 1969717: Unable to select a skin for a page with the keyboard
- Bug 1973639: npm install fails on newer version (12+) of node
- Bug 1979921: Potential issue with artefact chooser and getting group artefacts
- Bug 1980291: file_cleanup_old_temp_files() causing an error
- Bug 1988005: Groups containing collections with cover images cannot be deleted
- Bug 1992312: embededurls.php doesn't handle protocolless URLs
- Bug 1991864: Badgr token reset message fix
- Bug 1994439: Remove the deprecated --no-alias tag on nvm check
- Bug 1964847: Resume section: second file dropzone not visible due to repeated ids

22.04.2 (2022-06-16)
- Bug 1978520: Files are accessible publicly through thumb.php
- Bug 1971517: Can't submit portfolio via LTI 1.1
- Bug 1971639: webservices need to check match in lowecase at both ends
- Bug 1971651: PDF export gives foreach error if page has no blocks on it
- Bug 1968758: Typo in a support admin lang string
- Bug 1970693: module_submissions: Missing language string

22.04.1 (2022-05-02)
- Bug 1970680: Upgrade fails when LTI not installed
- Bug 1971110: Adding block with underscore can cause problemsnotes.txt000064400000004264150342461250006445 0ustar00Install Manually on Webuzo on PHP version mentioned in the PHP REQUIREMENT LINK.

1. Edit config.php file before runing the installer 

	- $cfg->dbtype   = 'mysql';
	- Add $cfg->dbprefix = ''; (Removed since v16.04.0, check in the version for the same)
	- Fill database details
	- also edit $cfg->dataroot
	- Run the installer.

2. When you create database choose utf8mb4_unicode_ci in manual installation.
3. Delete all the contents and folders in the sub-directories of the data.zip i.e. keep only the empty folders in root directory (NOT NEEDED NOW BCOZ OF NEW METHOD)
4. We have added alter query in install.php to set collation to UTF8
7. Change the " to ` in the Trigger statements in the SQL file. (NOT NEEDED NOW BCOZ OF NEW METHOD)
8. This might not work on AMPPS and Webuzo because the database user does not have Trigger permissions.(Removed this from version 1.9.1, as its working fine on both now.)
9. Change the value of `passwordchange` field in the `usr` table to 0 so that it does not ask for a password change after the first login. (NOT NEEDED NOW BCOZ OF NEW METHOD)
10. Please go through the /lib/upgrade.php requirements at every new release.
11. We always un-comment the $cfg->passwordsaltmain  and also $cfg->urlsecret in "config.php".
12. Copy upgrade.php from lib folder and keep as org_upgrade.php and our changes in mod_upgrade.php

13.PHP REQUIREMENT LINK :
https://github.com/MaharaProject/mahara/tree/22.04.0_RELEASE#system-requirements
14. We were facing issue in 18.10.0. Vendor asked us to add patch to resolve issue. (https://bugs.launchpad.net/mahara/+bug/1799933)
15. We have kept MYSQL requirement as 5.7.0 in info.xml as on MYSQL 5.6 we get key size issue while manual installation i.e mentioned in link :
https://bugs.launchpad.net/mahara/+bug/1909116
16. Always configure site_name in mod_upgrade.php, since we have used it in install.xml.
17. We have disabled autoupgrade in 22.04.0 version since it required to delete all the files of previous version. Enable it in next minor version. (Enabled auto upgrade from 22.04.1)
https://wiki.mahara.org/wiki/System_Administrator%27s_Guide/Upgrading_Mahara
18. In every major version check upgrade notes and modify our upgrade.php accordingly.mod_upgrade.php000064400000177147150342461250007566 0ustar00<?php
/**
 *
 * @package    mahara
 * @subpackage core
 * @author     Catalyst IT Limited <mahara@catalyst.net.nz>
 * @license    https://www.gnu.org/licenses/gpl-3.0.html GNU GPL version 3 or later
 * @copyright  For copyright information on Mahara, please see the README file distributed with this software.
 *
 */

defined('INTERNAL') || die();

/**
 * Class to use for installation exceptions
 */
class InstallationException extends SystemException {}

require_once('ddl.php');

/**
 * This function checks core and plugins for which need to be upgraded/installed
 *
 * Note: This function is sometimes executed during upgrades from
 * ancient databases.  Avoid rash assumptions about what's installed
 * or these upgrades may fail.
 *
 * @param string $name The name of the plugin to check. If no name is specified,
 *                     all plugins are checked.
 * @return mixed If a name is specified, an object will be returned with upgrade data
 *                     about the requested component (which can be "core", "local", or a plugin).
 *                     If the component desn't need to be updated, an empty array will be returned.
 *               If no name is specified, an array of such objects will be returned.
 *                     It will also include an array key "settings", which will be an array
 *                     that may contain metadata about the upgrade/install process.
 */
function check_upgrades($name=null) {

    $pluginstocheck = plugin_types();

    $toupgrade = array();
    $settings = array();
    $toupgradecount = 0;
    $newinstallcount = 0;
    $installing = false;
    $newinstalls = array();
    // This will be set in version.php below.
    $config = new stdClass();
    require('version.php');
    // check core first...
    if (empty($name) || $name == 'core') {
        try {
            $coreversion = get_config('version');
        }
        catch (Exception $e) {
            $coreversion = 0;
        }
        $corerelease = get_config('release');
        $core = new stdClass();
        $core->to = $config->version;
        $core->torelease = $config->release;
        $core->toseries = $config->series;
        $toupgrade['core'] = $core;
        if (empty($coreversion)) {
            if (is_mysql()) { // Show a more informative error message if using mysql with skip-innodb
                // In MySQL 5.6.x, we run the command 'SHOW ENGINES' to check if InnoDB is enabled or not
                global $db;
                $result = $db->Execute("SHOW ENGINES");
                $hasinnodb = false;
                while (!$result->EOF) {
                    if ($result->fields['Engine'] == 'InnoDB' && ($result->fields['Support'] == 'YES' || $result->fields['Support'] == 'DEFAULT')) {
                        $hasinnodb = true;
                        break;
                    }
                    $result->MoveNext();
                }

                if (!$hasinnodb) {
                    throw new ConfigSanityException("Mahara requires InnoDB tables.  Please ensure InnoDB tables are enabled in your MySQL server.");
                }
            }
            $core->install = true;
            $installing = true;
        }
        else if ($config->version > $coreversion) {
            if (isset($config->minupgradefrom) && isset($config->minupgraderelease)
                && $coreversion < $config->minupgradefrom) {
                throw new ConfigSanityException("Must upgrade to $config->minupgradefrom "
                                          . "($config->minupgraderelease) first "
                                          . " (you have $coreversion ($corerelease)");
            }
            $toupgradecount ++;
            $core->upgrade = true;
            $core->from = $coreversion;
            $core->fromrelease = $corerelease;
        }
        else if ($config->version < $coreversion) {
            // Core can't be upgraded. Remove it from the list!
            unset($toupgrade['core']);
            if (get_config('productionmode')) {
                throw new ConfigSanityException("Database version of Mahara $corerelease ($coreversion) is newer "
                                            . "than files version $config->release ($config->version). "
                                            . "Please make sure you have the correct Mahara files in place.");
            }
            else {
                if (!defined('SITEOUTOFSYNC')) {
                    define('SITEOUTOFSYNC', 'core');
                }
            }
        }
        else {
            // Core doesn't need to be upgraded. Remove it from the list!
            unset($toupgrade['core']);
        }
    }

    // If we were just checking if the core needed to be upgraded, we can stop here
    if ($name == 'core') {
        return $toupgrade['core'];
    }

    if (!$installing && (empty($name) || $name == 'local')) {
        $localversion = get_config('localversion');
        $localrelease = get_config('localrelease');
        if (is_null($localversion)) {
            $localversion = 0;
            $localrelease = 0;
        }

        $config = new stdClass();
        require(get_config('docroot') . 'local/version.php');

        if ($config->version > $localversion) {
            $toupgradecount ++;
            $toupgrade['local'] = (object) array(
                'upgrade'     => true,
                'from'        => $localversion,
                'fromrelease' => $localrelease,
                'to'          => $config->version,
                'torelease'   => $config->release,
            );
        }

        if ($name == 'local') {
            return $toupgrade['local'];
        }
    }

    $plugins = array();
    if (!empty($name)) {
        try {
            $bits = explode('.', $name);
            $pt = $bits[0];
            $pn = $bits[1];
            $pp = null;
            if ($pt == 'blocktype' && strpos($pn, '/') !== false) {
                $bits = explode('/', $pn);
                $pp = get_config('docroot') . 'artefact/' . $bits[0]  . '/blocktype/' . $bits[1];
            }
            validate_plugin($pt, $pn, $pp);
            $plugins[] = explode('.', $name);
        }
        catch (InstallationException $_e) {
            log_warn(get_string('pluginnotinstallable', 'mahara', $pt, $pn) . $_e->GetMessage());
        }
    }
    else {
        foreach ($pluginstocheck as $plugin) {
            $dirhandle = opendir(get_config('docroot') . $plugin);
            while (false !== ($dir = readdir($dirhandle))) {
                if (strpos($dir, '.') === 0 or 'CVS' == $dir) {
                    continue;
                }
                $plugin_dir = get_config('docroot') . $plugin . '/' . $dir;
                if (!is_dir($plugin_dir)) {
                    continue;
                }
                try {
                    validate_plugin($plugin, $dir);
                    $plugins[] = array($plugin, $dir);
                }
                catch (InstallationException $_e) {
                    log_warn(get_string('pluginnotinstallable', 'mahara', $plugin, $dir) . $_e->GetMessage(), true , false);
                }

                if ($plugin == 'artefact') { // go check it for blocks as well
                    $btlocation = $plugin_dir . '/blocktype';
                    if (!is_dir($btlocation)) {
                        continue;
                    }
                    $btdirhandle = opendir($btlocation);
                    while (false !== ($btdir = readdir($btdirhandle))) {
                        if (strpos($btdir, '.') === 0 or 'CVS' == $btdir) {
                            continue;
                        }
                        if (!is_dir(get_config('docroot') . $plugin . '/' . $dir . '/blocktype/' . $btdir)) {
                            continue;
                        }
                        $plugins[] = array('blocktype', $dir . '/' . $btdir);
                    }
                }
            }
        }
    }
    $outofsyncplugins = array();
    foreach ($plugins as $plugin) {
        $plugintype = $plugin[0];
        $pluginname = $plugin[1];
        $pluginpath = "$plugin[0]/$plugin[1]";
        $pluginkey  = "$plugin[0].$plugin[1]";

        if ($plugintype == 'blocktype' && strpos($pluginname, '/') !== false) {
            // sigh.. we're a bit special...
            $bits = explode('/', $pluginname);
            $pluginpath = 'artefact/' . $bits[0] . '/blocktype/' . $bits[1];
        }

        // Don't try to get the plugin info if we are installing - it will
        // definitely fail
        $pluginversion = 0;
        $pluginrelease = 0;
        if (!$installing && table_exists(new XMLDBTable($plugintype . '_installed'))) {
            if ($plugintype == 'blocktype' && strpos($pluginname, '/')) {
                $bits = explode('/', $pluginname);
                $installed = get_record('blocktype_installed', 'name', $bits[1], 'artefactplugin', $bits[0]);
            }
            else {
                $installed = get_record($plugintype . '_installed', 'name', $pluginname);
            }
            if ($installed) {
                $pluginversion = $installed->version;
                $pluginrelease =  $installed->release;
            }
        }

        $config = new stdClass();
        require(get_config('docroot') . $pluginpath . '/version.php');

        $classname = generate_class_name($plugintype, $pluginname);
        safe_require($plugintype, $pluginname);
        // Check if there is a displayname
        $plugindisplayname = $classname::get_plugin_display_name();

        if (empty($pluginversion)) {
            $newinstall = false;
            if (empty($installing) && $pluginkey != $name) {
                $newinstall = true;
            }
            $plugininfo = new stdClass();
            $plugininfo->install = true;
            $plugininfo->to = $config->version;
            $plugininfo->torelease = $config->release;
            if (property_exists($config, 'requires_config')) {
                $plugininfo->requires_config = $config->requires_config;
            }
            if (property_exists($config, 'requires_parent')) {
                $plugininfo->requires_parent = $config->requires_parent;
            }
            $plugininfo->displayname = $plugindisplayname;

            try {
                $classname::sanity_check();
            }
            catch (InstallationException $exc) {
                $plugininfo->to = get_string('notinstalled', 'admin');
                $plugininfo->torelease = get_string('notinstalled', 'admin');
                $plugininfo->errormsg = $exc->getMessage();
            }

            if ($newinstall) {
                $plugininfo->from = get_string('notinstalled', 'admin');
                $plugininfo->fromrelease = get_string('notinstalled', 'admin');
                $plugininfo->newinstall = true;
                $newinstallcount ++;
                $newinstalls[$pluginkey] = $plugininfo;
            }
            else {
                $toupgrade[$pluginkey] = $plugininfo;
            }
        }
        else if ($config->version > $pluginversion) {
            if (isset($config->minupgradefrom) && isset($config->minupgraderelease)
                && $pluginversion < $config->minupgradefrom) {
                throw new ConfigSanityException("Must upgrade to $config->minupgradefrom "
                                          . " ($config->minupgraderelease) first "
                                          . " (you have $pluginversion ($pluginrelease))");
            }
            $toupgradecount++;
            $plugininfo = new stdClass();
            $plugininfo->upgrade = true;
            $plugininfo->from = $pluginversion;
            $plugininfo->fromrelease = $pluginrelease;
            $plugininfo->to = $config->version;
            $plugininfo->torelease = $config->release;
            if (property_exists($config, 'requires_config')) {
                $plugininfo->requires_config = $config->requires_config;
            }
            if (property_exists($config, 'requires_parent')) {
                $plugininfo->requires_parent = $config->requires_parent;
            }
            $plugininfo->displayname = $plugindisplayname;

            try {
                $classname::sanity_check();
            }
            catch (InstallationException $exc) {
                $plugininfo->to = $config->version;
                $plugininfo->torelease = $pluginrelease;
                $plugininfo->errormsg = $exc->getMessage();
                $toupgrade[$pluginkey] = $plugininfo;

                continue;
            }

            $toupgrade[$pluginkey] = $plugininfo;
        }
        else if ($config->version < $pluginversion) {
            $plugindisplayname = !empty($plugindisplayname) ? $plugindisplayname : (!empty($config->name) ? $config->name : $pluginpath);
            if (get_config('productionmode')) {
                throw new ConfigSanityException("Database version of Mahara plugin " . $plugindisplayname . " "
                                            . $pluginrelease . " (" . $pluginversion . ") is newer "
                                            . "than files version " . $config->release . " (" . $config->version . "). "
                                            . "Please make sure you have the correct Mahara plugin files in place.");
            }
            else {
                $outofsyncplugins[] = $plugindisplayname;
            }
        }
    }
    if (!empty($outofsyncplugins)) {
        if (!defined('SITEOUTOFSYNC')) {
            define('SITEOUTOFSYNC', implode(', ', $outofsyncplugins));
        }
    }
    // if we've just asked for one, don't return an array...
    if (!empty($name)) {
        if (count($toupgrade) == 1) {
            $upgrade = new stdClass();
            $upgrade->name = $name;
            foreach ((array)$toupgrade[$name] as $key => $value) {
                $upgrade->{$key} = $value;
            }
            return $upgrade;
        }
        else {
            return array();
        }
    }

    // If we get here, it's because we have an array of objects to return
    $toupgrade = sort_upgrade_order($toupgrade);
    $settings['newinstallcount'] = $newinstallcount;
    $settings['newinstalls'] = $newinstalls;
    $settings['toupgradecount'] = $toupgradecount;
    $toupgrade['settings'] = $settings;
    return $toupgrade;
}

/**
 * Upgrades the core system to given upgrade version.
 *
 * @param object $upgrade   The version to upgrade to
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_core($upgrade) {
    global $db;

    $location = get_config('libroot') . 'db/';

    db_begin();

    if (!empty($upgrade->install)) {
        install_from_xmldb_file($location . 'install.xml');
    }
    else {
        require_once($location . 'upgrade.php');
        xmldb_core_upgrade($upgrade->from);
    }

    set_config('version', $upgrade->to);
    set_config('release', $upgrade->torelease);
    set_config('series', $upgrade->toseries);
    bump_cache_version();
    cron_check_for_updates();

    if (!empty($upgrade->install)) {
        core_postinst();
    }

    db_commit();
    return true;
}

/**
 * Upgrades local customisations.
 *
 * @param object $upgrade   The version to upgrade to
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_local($upgrade) {
    db_begin();

    require_once(get_config('docroot') . 'local/upgrade.php');
    xmldb_local_upgrade($upgrade->from);

    set_config('localversion', $upgrade->to);
    set_config('localrelease', $upgrade->torelease);
    bump_cache_version();

    db_commit();
    return true;
}

/**
 * Upgrades the plugin to a new version
 *
 * Note: This function is sometimes executed during upgrades from
 * ancient databases.  Avoid rash assumptions about what's installed
 * or these upgrades may fail.
 *
 * @param object $upgrade   Information about the plugin to upgrade
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_plugin($upgrade) {
    global $db;

    $plugintype = '';
    $pluginname = '';

    list($plugintype, $pluginname) = explode('.', $upgrade->name);

    if ($plugintype == 'blocktype' && strpos($pluginname, '/') !== false) {
        list($artefactplugin, $blocktypename) = explode('/', $pluginname);
        $location = get_config('docroot') . 'artefact/' . $artefactplugin . '/blocktype/' . $blocktypename . '/db/';
        $function = 'xmldb_' . $plugintype . '_' . $blocktypename . '_upgrade';
    }
    else {
        $location = get_config('docroot') . $plugintype . '/' . $pluginname . '/db/';
        $function = 'xmldb_' . $plugintype . '_' . $pluginname . '_upgrade';
    }

    db_begin();

    if (!empty($upgrade->install)) {
        if (is_readable($location . 'install.xml')) {
            install_from_xmldb_file($location . 'install.xml');
        }
    }
    else {
        if (is_readable($location .  'upgrade.php')) {
            require_once($location . 'upgrade.php');
            if (!$function($upgrade->from)) {
                throw new InstallationException("Failed to run " . $function . " (check logs for errors)");
            }
        }
    }

    $installed = new stdClass();
    $installed->name = $pluginname;
    $installed->version = $upgrade->to;
    $installed->release = $upgrade->torelease;
    if ($plugintype == 'blocktype') {
        if (!empty($blocktypename)) {
            $installed->name = $blocktypename;
        }
        if (!empty($artefactplugin)) { // blocks come from artefactplugins.
            $installed->artefactplugin = $artefactplugin;
        }
    }
    if (property_exists($upgrade, 'requires_config')) {
        $installed->requires_config = $upgrade->requires_config;
    }
    if (property_exists($upgrade, 'requires_parent')) {
        $installed->requires_parent = $upgrade->requires_parent;
    }
    $installtable = $plugintype . '_installed';

    if (!empty($upgrade->install)) {
        insert_record($installtable,$installed);
    }
    else {
        update_record($installtable, $installed, 'name');
    }
    bump_cache_version();

    // postinst stuff...
    safe_require($plugintype, $pluginname);
    $pcname = generate_class_name($plugintype, $installed->name);

    if ($crons = $pcname::get_cron()) {
        foreach ($crons as $cron) {
            $cron = (object)$cron;
            if (empty($cron->callfunction)) {
                throw new InstallationException("cron for $pcname didn't supply function name");
            }
            if (!is_callable(array($pcname, $cron->callfunction))) {
                throw new InstallationException("cron $cron->callfunction for $pcname supplied but wasn't callable");
            }
            $new = false;
            $table = $plugintype . '_cron';
            if (!empty($upgrade->install)) {
                $new = true;
            }
            else if (!record_exists($table, 'plugin', $pluginname, 'callfunction', $cron->callfunction)) {
                $new = true;
            }
            $cron->plugin = $pluginname;
            if (!empty($new)) {
                insert_record($table, $cron);
            }
            else {
                update_record($table, $cron, array('plugin', 'callfunction'));
            }
        }
    }

    if ($events = $pcname::get_event_subscriptions()) {
        foreach ($events as $event) {
            $event = (object)$event;

            if (!record_exists('event_type', 'name', $event->event)) {
                throw new InstallationException("event $event->event for $pcname doesn't exist!");
            }
            if (empty($event->callfunction)) {
                throw new InstallationException("event $event->event for $pcname didn't supply function name");
            }
            if (!is_callable(array($pcname, $event->callfunction))) {
                throw new InstallationException("event $event->event with function $event->callfunction for $pcname supplied but wasn't callable");
            }
            $exists = false;
            $table = $plugintype . '_event_subscription';
            $block = blocktype_namespaced_to_single($pluginname);
            if (empty($upgrade->install)) {
                $exists = get_record($table, 'plugin' , $block, 'event', $event->event);
            }
            $event->plugin = $block;
            if (empty($exists)) {
                insert_record($table, $event);
            }
            else {
                update_record($table, $event, array('id' => $exists->id));
            }
        }
    }

    if ($activities = $pcname::get_activity_types()) {
        foreach ($activities as $activity) {
            $classname = 'ActivityType' . ucfirst($plugintype) . ucfirst($pluginname) . ucfirst($activity->name);
            if (!class_exists($classname)) {
                throw new InstallationException(get_string('classmissing', 'error',  $classname, $pluginname, $plugintype));
            }
            // Add activity_type if it doesn't exist
            if (!get_record('activity_type', 'name', $activity->name, 'plugintype', $plugintype, 'pluginname', $pluginname)) {
                $activity->plugintype = $plugintype;
                $activity->pluginname = $pluginname;
                $activity->defaultmethod = get_config('defaultnotificationmethod') ? get_config('defaultnotificationmethod') : $activity->defaultmethod;
                $where = (object) array(
                    'name'       => $activity->name,
                    'plugintype' => $plugintype,
                    'pluginname' => $pluginname,
                );
                ensure_record_exists('activity_type', $where, $activity);
            }
        }
    }

    // install artefact types
    if ($plugintype == 'artefact') {
        if (!is_callable(array($pcname, 'get_artefact_types'))) {
            throw new InstallationException("Artefact plugin $pcname must implement get_artefact_types and doesn't");
        }
        $types = $pcname::get_artefact_types();
        $ph = array();
        if (is_array($types)) {
            // Check for missing plugins - don't try to remove their data.
            // Bugs 505732 and 1287344.
            $used_types = get_records_sql_assoc("SELECT t.name, count(a.id) ct, t.plugin FROM {artefact_installed_type} t
                    LEFT JOIN {artefact} a ON t.name = a.artefacttype
                    GROUP BY t.name
                    HAVING count(a.id) > 0 AND plugin = '$pluginname'");
            if ($used_types === FALSE) {
                $used_types = array();
            }

            foreach ($types as $type) {
                $ph[] = '?';
                if (!record_exists('artefact_installed_type', 'plugin', $pluginname, 'name', $type)) {
                    $t = new stdClass();
                    $t->name = $type;
                    $t->plugin = $pluginname;
                    insert_record('artefact_installed_type',$t);
                }
                if (isset($used_types[$type])) {
                    unset($used_types[$type]);
                }
            }

            foreach ($used_types as $type) {
                $ph[] = '?';
            }

            $used_types = array_keys($used_types);

            $select = '(plugin = ? AND name NOT IN (' . implode(',', $ph) . '))';
            delete_records_select('artefact_installed_type', $select,
                    array_merge(array($pluginname),$types,$used_types));
            if (!empty($used_types)) {
                log_warn('Plugin for artefact type(s) "' . implode('", "', $used_types) . '" has gone away', true, false);
            }
        }
    }

    // install blocktype categories.
    if ($plugintype == 'blocktype' && get_config('installed')) {
        install_blocktype_categories_for_plugin($pluginname);
        install_blocktype_viewtypes_for_plugin($pluginname);
    }

    $prevversion = (empty($upgrade->install)) ? $upgrade->from : 0;
    $pcname::postinst($prevversion);

    db_commit();
    return true;
}

function core_postinst() {
    // Attempt to create session directories
    $sessionpath = get_config('sessionpath');
    $status = Session::create_directory_levels($sessionpath);

    $now = db_format_timestamp(time());
    // Set default search plugin
    set_config('searchplugin', 'internal');

    set_config('lang', get_accept_lang());
    set_config('installation_key', get_random_key());
    set_config('installation_time', $now);
    set_config('stats_installation_time', $now);
    set_config('passwordpolicy', '8_ulns');

    // Pre-define SMTP settings
    set_config('smtphosts', '');
    set_config('smtpport', '');
    set_config('smtpuser', '');
    set_config('smtppass', '');
    set_config('smtpsecure', '');

    // XMLDB adds a table's keys immediately after creating the table.  Some
    // foreign keys therefore cannot be created during the XMLDB installation,
    // because they refer to tables created later in the installation.  These
    // missing keys can be created now that all the core tables exist.
    $table = new XMLDBTable('usr');
    $key = new XMLDBKey('profileiconfk');
    $key->setAttributes(XMLDB_KEY_FOREIGN, array('profileicon'), 'artefact', array('id'));
    add_key($table, $key);

    $table = new XMLDBTable('institution');
    $key = new XMLDBKey('logofk');
    $key->setAttributes(XMLDB_KEY_FOREIGN, array('logo'), 'artefact', array('id'));
    add_key($table, $key);

    // PostgreSQL supports indexes over functions of columns, MySQL does not.
    // We make use if this if we can
    if (is_postgres()) {
        // Improve the username index
        execute_sql('DROP INDEX {usr_use_uix}');
        execute_sql('CREATE UNIQUE INDEX {usr_use_uix} ON {usr}(LOWER(username))');

        // Add user search indexes
        // Postgres only.  We could create non-lowercased indexes in MySQL, but
        // they would not be useful, and would require a change to varchar columns.
        execute_sql('CREATE INDEX {usr_fir_ix} ON {usr}(LOWER(firstname))');
        execute_sql('CREATE INDEX {usr_las_ix} ON {usr}(LOWER(lastname))');
        execute_sql('CREATE INDEX {usr_pre_ix} ON {usr}(LOWER(preferredname))');
        execute_sql('CREATE INDEX {usr_ema_ix} ON {usr}(LOWER(email))');
        execute_sql('CREATE INDEX {usr_stu_ix} ON {usr}(LOWER(studentid))');

        // Only one profile view per user
        execute_sql("CREATE UNIQUE INDEX {view_own_type_uix} ON {view}(owner) WHERE type = 'profile'");
    }

    // Some more advanced constraints. XMLDB can't handle this in its xml file format
    execute_sql('ALTER TABLE {artefact} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {view} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {artefact} ADD CHECK (
        (author IS NOT NULL AND authorname IS NULL    ) OR
        (author IS NULL     AND authorname IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {view_access} ADD CHECK (
        (accesstype IS NOT NULL AND "group" IS NULL     AND usr IS NULL     AND token IS NULL   AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NOT NULL AND usr IS NULL     AND token IS NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NOT NULL AND token IS NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NULL     AND token IS NOT NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NULL     AND token IS NULL AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {collection} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');

    set_antispam_defaults();
    reload_html_filters();

    // Default set of sites from which iframe content can be embedded
    // See also the postinst() function in plugins for other valid iframes
    // by searching for 'iframe_source_icon'
    $iframesources = array(
        'www.youtube.com/embed/'                   => 'YouTube',
        'player.vimeo.com/video/'                  => 'Vimeo',
        'www.slideshare.net/slideshow/embed_code/' => 'SlideShare',
        'www.glogster.com/glog/'                   => 'Glogster',
        'www.glogster.com/glog.php'                => 'Glogster',
        'edu.glogster.com/glog/'                   => 'Glogster',
        'edu.glogster.com/glog.php'                => 'Glogster',
        'wikieducator.org/index.php'               => 'WikiEducator',
        'voki.com/php/'                            => 'Voki',
    );
    $iframedomains = array(
        'YouTube'      => 'www.youtube.com',
        'Vimeo'        => 'vimeo.com',
        'SlideShare'   => 'www.slideshare.net',
        'Glogster'     => 'www.glogster.com',
        'WikiEducator' => 'wikieducator.org',
        'Voki'         => 'voki.com',
    );
    update_safe_iframes($iframesources, $iframedomains);

    require_once(get_config('docroot') . 'lib/file.php');
    update_magicdb_path();

    return $status;
}

function core_install_lastcoredata_defaults() {
    global $USER;
    db_begin();
    $institution = new stdClass();
    $institution->name = 'mahara';
    $institution->displayname = 'No Institution';
    $institution->authplugin  = 'internal';
    $institution->theme  = 'default';
    $institution->priority = 0;
    insert_record('institution', $institution);

    $auth_instance = new stdClass();
    $auth_instance->instancename  = 'Internal';
    $auth_instance->priority='1';
    $auth_instance->institution   = 'mahara';
    $auth_instance->authname      = 'internal';
    $auth_instance->active        = 1;
    $auth_instance->id = insert_record('auth_instance', $auth_instance, 'id', true);

    // Insert the root user
    $userid = 0;
    $user = new stdClass();
    $user->id = $userid;
    $user->username = 'root';
    $user->password = '*';
    $user->salt = '*';
    $user->firstname = 'System';
    $user->lastname = 'User';
    $user->email = 'root@example.org';
    $user->quota = get_config_plugin('artefact', 'file', 'defaultquota');
    $user->authinstance = $auth_instance->id;
    $user->admin = 1;

    if (is_mysql()) { // gratuitous mysql workaround
        $newid = insert_record('usr', $user, 'id', true);
        set_field('usr', 'id', 0, 'id', $newid);
        execute_sql('ALTER TABLE {usr} AUTO_INCREMENT=1');
    }
    else {
        insert_record('usr', $user);
    }

    $pages = site_content_pages();
    $now = db_format_timestamp(time());
    foreach ($pages as $name) {
        $page = new stdClass();
        $page->ctime = $now;
        $page->institution = 'mahara';
        $page->content = get_string($name . 'defaultcontent', 'install', get_string('staticpageconfigdefaults', 'install',  get_config('wwwroot') . 'admin/site/pages.php'));
        $page->name = $name;
        $page->mtime = $now;
        $page->mauthor = $userid;
        insert_record('site_content', $page);
    }

    $versionedpages = site_content_version_pages();
    foreach ($versionedpages as $name) {
        $page = new stdClass();
        $page->ctime = $now;
        $page->institution = 'mahara';
        $page->content = get_string($name . 'defaultcontent', 'install', get_string('versionedpageconfigdefault', 'install', get_config('wwwroot') . 'admin/site/privacy.php?fs=' . $name));
        $page->type = $name;
        $page->author = $userid;
        $page->version = '1.0';
        insert_record('site_content_version', $page);
    }

    require_once('group.php');
    install_system_profile_view();
    install_system_dashboard_view();
    install_system_grouphomepage_view();
    require_once('view.php');
    install_system_portfolio_view();
    install_system_progress_view();

    require_once('license.php');
    install_licenses_default();

    require_once('skin.php');
    install_skins_default();

    install_auth_default();

    // Remove admin privs from root user as it doesn't need it now
    $user->admin = 0;
    update_record('usr', $user, array('id' => 0));

    // Insert the admin user
    $user = new stdClass();
    $user->username = 'admin';
    $user->salt = auth_get_random_salt();
    $user->password = crypt('[[admin_pass]]', '$2a$' . get_config('bcrypt_cost') . '$' . substr(md5(get_config('passwordsaltmain') . $user->salt), 0, 22));
    $user->password = substr($user->password, 0, 7) . substr($user->password, 7+22);
    $user->authinstance = $auth_instance->id;
    $user->passwordchange = 0;
    $user->admin = 1;
    $user->firstname = '[[admin_fname]]';
    $user->lastname = '[[admin_lname]]';
    $user->email = '[[admin_email]]';
    $user->quota = get_config_plugin('artefact', 'file', 'defaultquota');
    $user->ctime = db_format_timestamp(time());
    $user->id = insert_record('usr', $user, 'id', true);
    set_profile_field($user->id, 'email', $user->email);
    set_profile_field($user->id, 'firstname', $user->firstname);
    set_profile_field($user->id, 'lastname', $user->lastname);
    // Accept the user privacy agreement on install
    $sitecontentid = get_field('site_content_version', 'id', 'type', 'privacy', 'institution', 'mahara');
    save_user_reply_to_agreement($user->id, $sitecontentid, 1);
    // Accept the user T&C on install
    $sitecontentid = get_field('site_content_version', 'id', 'type', 'termsandconditions', 'institution', 'mahara');
    save_user_reply_to_agreement($user->id, $sitecontentid, 1);
    handle_event('createuser', $user, array('password'));
    activity_add_admin_defaults(array($user->id));
    db_commit();

    // if we're installing, set up the block categories here and then poll the plugins.
    // if we're upgrading this happens somewhere else.  This is because of dependency issues around
    // the order of installation stuff.
    install_blocktype_extras();

    // Setting user access roles for content block access
    $table = new XMLDBTable('usr_access_roles');

    $roles = array('peer' => 0, 'manager' => 1, 'peermanager' => 1, 'verifier' => 1);
    foreach ($roles as $role => $state) {
        $obj = new stdClass();
        $obj->role              = $role;
        $obj->see_block_content = $state;
        insert_record('usr_access_roles', $obj);
    }
}

function core_install_firstcoredata_defaults() {
    // Install the default institution
    db_begin();

    set_config('session_timeout', 86400);
    set_config('sitename', '[[site_name]]');
    set_config('defaultregistrationexpirylifetime', 1209600);
    set_config('defaultaccountinactivewarn', 604800);
    set_config('creategroups', 'all');
    set_config('createpublicgroups', 'all');
    set_config('allowpublicviews', 1);
    set_config('allowpublicprofiles', 1);
    set_config('allowanonymouspages', 0);
    set_config('generatesitemap', 1);
    set_config('showselfsearchsideblock', 0);
    set_config('showtagssideblock', 1);
    set_config('tagssideblockmaxtags', 20);
    set_config('usersallowedmultipleinstitutions', 1);
    set_config('userscanchooseviewthemes', 0);
    set_config('anonymouscomments', 1);
    set_config('homepageinfo', 1);
    set_config('showonlineuserssideblock', 1);
    set_config('footerlinks', serialize(array('legal', 'about', 'contactus', 'manualhelp')));
    set_config('nousernames', 0);
    set_config('showstudentid', 0);
    set_config('onlineuserssideblockmaxusers', 10);
    set_config('loggedinprofileviewaccess', 1);
    set_config('dropdownmenu', 0);
    // Set this to a random starting number to make minor version slightly harder to detect
    set_config('cacheversion', rand(1000, 9999));
    set_config('allowcommentsbydefault', 1);

    // install the applications
    $app = new stdClass();
    $app->name = 'mahara';
    $app->displayname = 'Mahara';
    $app->xmlrpcserverurl = '/api/xmlrpc/server.php';
    $app->ssolandurl = '/auth/xmlrpc/land.php';
    insert_record('application', $app);

    $app->name = 'moodle';
    $app->displayname = 'Moodle';
    $app->xmlrpcserverurl = '/mnet/xmlrpc/server.php';
    $app->ssolandurl = '/auth/mnet/land.php';
    insert_record('application', $app);

    // insert the event types
    $eventtypes = array(
        'createuser',
        'updateuser',
        'suspenduser',
        'unsuspenduser',
        'deleteuser',
        'undeleteuser',
        'expireuser',
        'unexpireuser',
        'deactivateuser',
        'activateuser',
        'userjoinsgroup',
        'userleavesgroup',
        'userchangegrouprole',
        'saveartefact',
        'deleteartefact',
        'deleteartefacts',
        'saveview',
        'deleteview',
        'blockinstancecommit',
        'deleteblockinstance',
        'addfriend',
        'removefriend',
        'addfriendrequest',
        'removefriendrequest',
        'creategroup',
        'loginas',
        'clearcaches',
        'createview',
        'createcollection',
        'updatecollection',
        'deletecollection',
        'addsubmission',
        'releasesubmission',
        'updateviewaccess',
        'removeviewaccess',
        'sharedcommenttogroup',
        'verifiedprogress',
    );

    foreach ($eventtypes as $et) {
        $e = new stdClass();
        $e->name = $et;
        insert_record('event_type', $e);
    }

    // install the core event subscriptions
    $subs = array(
        array(
            'event'        => 'createuser',
            'callfunction' => 'activity_set_defaults',
        ),
        array(
            'event'        => 'createuser',
            'callfunction' => 'add_user_to_autoadd_groups',
        ),
        array(
            'event'         => 'blockinstancecommit',
            'callfunction'  => 'watchlist_record_changes',
        ),
        array(
            'event'         => 'deleteblockinstance',
            'callfunction'  => 'watchlist_block_deleted',
        ),
        array(
            'event'         => 'saveartefact',
            'callfunction'  => 'watchlist_record_changes',
        ),
        array(
            'event'         => 'saveview',
            'callfunction'  => 'watchlist_record_changes',
        ),
    );

    foreach ($subs as $sub) {
        insert_record('event_subscription', (object)$sub);
    }

    // Install the activity types. Name, admin, delay, allownonemethod, defaultmethod.
    $activitytypes = array(
        array('maharamessage',      0, 0, 0, 'email'),
        array('usermessage',        0, 0, 0, 'email'),
        array('watchlist',          0, 1, 1, 'email'),
        array('viewaccess',         0, 1, 1, 'email'),
        array('contactus',          1, 1, 1, 'email'),
        array('objectionable',      1, 1, 1, 'email'),
        array('virusrepeat',        1, 1, 1, 'email'),
        array('virusrelease',       1, 1, 1, 'email'),
        array('institutionmessage', 0, 0, 1, 'email'),
        array('groupmessage',       0, 1, 1, 'email'),
        array('viewaccessrevoke',   0, 0, 0, 'email')
    );

    foreach ($activitytypes as $at) {
        $a = new stdClass();
        $a->name = $at[0];
        $a->admin = $at[1];
        $a->delay = $at[2];
        $a->allownonemethod = $at[3];
        $a->defaultmethod = $at[4];
        insert_record('activity_type', $a);
    }

    // install the cronjobs...
    $cronjobs = array(
        'auth_clean_partial_registrations'          => array('5', '0', '*', '*', '*'),
        'auth_clean_expired_password_requests'      => array('5', '0', '*', '*', '*'),
        'auth_handle_account_expiries'              => array('5', '10', '*', '*', '*'),
        'auth_handle_institution_expiries'          => array('5', '9', '*', '*', '*'),
        'activity_process_queue'                    => array('*/5', '*', '*', '*', '*'),
        'auth_remove_old_session_files'             => array('30', '20', '*', '*', '*'),
        'recalculate_quota'                         => array('15', '2', '*', '*', '*'),
        'import_process_queue'                      => array('*/5', '*', '*', '*', '*'),
        'export_process_queue'                      => array('*/6', '*', '*', '*', '*'),
        'submissions_delete_removed_archive'        => array('15', '1', '1', '*', '*'),
        'cron_send_registration_data'               => array(rand(0, 59), rand(0, 23), '*', '*', rand(0, 6)),
        'export_cleanup_old_exports'                => array('0', '3,15', '*', '*', '*'),
        'import_cleanup_old_imports'                => array('0', '4,16', '*', '*', '*'),
        'cron_site_data_weekly'                     => array('55', '23', '*', '*', '6'),
        'cron_site_data_daily'                      => array('51', '23', '*', '*', '*'),
        'cron_check_for_updates'                    => array(rand(0, 59), rand(0, 23), '*', '*', '*'),
        'cron_clean_internal_activity_notifications'=> array(45, 22, '*', '*', '*'),
        'cron_sitemap_daily'                        => array(0, 1, '*', '*', '*'),
        'file_cleanup_old_cached_files'             => array(0, 1, '*', '*', '*'),
        'file_cleanup_old_temp_files'               => array(0, 2, '*/2', '*', '*'),
        'user_login_tries_to_zero'                  => array('2-59/5', '*', '*', '*', '*'),
        'cron_institution_registration_data'        => array(rand(0, 59), rand(0, 23), '*', '*', rand(0, 6)),
        'cron_institution_data_weekly'              => array('0', '0', '*', '*', '1'),
        'cron_institution_data_daily'               => array('51', '23', '*', '*', '*'),
        'check_imap_for_bounces'                    => array('*', '*', '*', '*', '*'),
        'cron_event_log_expire'                     => array('7', '23', '*', '*', '*'),
        'watchlist_process_notifications'           => array('*', '*', '*', '*', '*'),
        'cron_email_reset_rebounce'                 => array(rand(0, 59), rand(0, 23), '*', '*', '*'),
        'auth_clean_expired_migrations'             => array('0', '2,14', '*', '*', '*'),
        'portfolio_auto_copy'                       => array('*', '*', '*', '*', '*'),
        'unlock_collections_by_rollover'            => array('0', '3', '*', '*', '*'),
    );
    foreach ($cronjobs as $callfunction => $times) {
        $cron = new stdClass();
        $cron->callfunction = $callfunction;
        $cron->minute       = $times[0];
        $cron->hour         = $times[1];
        $cron->day          = $times[2];
        $cron->month        = $times[3];
        $cron->dayofweek    = $times[4];
        insert_record('cron', $cron);
    }

    $viewtypes = array('dashboard', 'portfolio', 'profile', 'grouphomepage', 'progress');
    foreach ($viewtypes as $vt) {
        insert_record('view_type', (object)array(
            'type' => $vt,
        ));
    }
    db_commit();
}


/**
 * xmldb will pass us the xml file and we can perform any substitution as necessary
 */
function local_xmldb_contents_sub(&$contents) {
    // the main install.xml file needs to sub in plugintype tables.
    $searchstring = '<!-- PLUGIN_TYPE_SUBSTITUTION -->';
    if (strstr($contents, $searchstring) === 0) {
        return;
    }
    // ok, we're in the main file and we need to install all the plugin tables
    // get the basic skeleton structure
    $plugintables = file_get_contents(get_config('docroot') . 'lib/db/plugintables.xml');
    $tosub = '';
    foreach (plugin_types() as $plugin) {
        // any that want their own stuff can put it in docroot/plugintype/lib/db/plugintables.xml
        //- like auth is a bit special
        $specialcase = get_config('docroot') . $plugin . '/plugintables.xml';
        if (is_readable($specialcase)) {
            $tosub .= file_get_contents($specialcase) . "\n";
        }
        else {
            $replaced = '';
            // look for tables to put at the start...
            $pretables = get_config('docroot') . $plugin . '/beforetables.xml';
            if (is_readable($pretables)) {
                $replaced = file_get_contents($pretables) . "\n";
            }

            // perform any additional once off substitutions
            require_once(get_config('docroot') . $plugin . '/lib.php');
            $classname = generate_class_name($plugin);
            if (method_exists($classname, 'extra_xmldb_substitution')) {
                $replaced  .= $classname::extra_xmldb_substitution($plugintables);
            }
            else {
                $replaced .= $plugintables;
            }
            $tosub .= str_replace('__PLUGINTYPE__', $plugin, $replaced) . "\n";
            // look for any tables to put at the end..
            $extratables = get_config('docroot') . $plugin . '/extratables.xml';
            if (is_readable($extratables)) {
                $tosub .= file_get_contents($extratables) . "\n";
            }
        }
    }
    $contents = str_replace($searchstring, $tosub, $contents);
}


/**
 * validates a plugin for installation
 * @throws InstallationException
*/
function validate_plugin($plugintype, $pluginname, $pluginpath='') {

    if (empty($pluginpath)) {
        $pluginpath = get_config('docroot') . $plugintype . '/' . $pluginname;
    }
    if (!file_exists($pluginpath . '/version.php')) {
        throw new InstallationException(get_string('versionphpmissing1', 'error', $plugintype, $pluginname, $pluginname, $pluginpath));
    }
    safe_require($plugintype, $pluginname);
    $classname = generate_class_name($plugintype, $pluginname);
    if (!class_exists($classname)) {
        throw new InstallationException(get_string('classmissing', 'error', $classname, $plugintype, $pluginname));
    }
    require_once(get_config('docroot') . $plugintype . '/lib.php');
    $funname = $plugintype . '_check_plugin_sanity';
    if (function_exists($funname)) {
        $funname($pluginname);
    }
}

/**
 * Sorting upgrade order and allowing for priority
 *
 * @param array $upgrades   List of core and plugins to upgrade
 * @return array            Sorted $upgrades list
 */
function sort_upgrade_order($upgrades) {
    $floaters = array();
    uksort($upgrades, 'sort_upgrades');

    // We check here if any special reordering needs to be done.
    // Some plugins need to run before others if they are both present.
    // We set up a $floaters array if there are any matches.
    if (isset($upgrades['auth.webservice']) && isset($upgrades['module.lti_advantage'])) {
        $floaters['auth.webservice'] = 'module.lti_advantage';
    }

    if ($floaters) {
        // A $floater, for example, can look like key ='auth.webservice', value='lti.advantage' and the value is the item
        // we want to float up the $upgrades list but we do this by sinking
        // the key down the list. So the key 'auth.webservice' needs to exist as a key in $upgrades higher in the list
        // than the value 'lti.advantage' exists as a key in $upgrades list before reaching this part.
        // After this part the 'lti.advantage' key should appear highter than 'auth.webservice' in the $upgrades list.
        uksort($upgrades, function($k1, $k2) use (&$floaters) {
            if (isset($floaters[$k1]) && $k2 == $floaters[$k1]) {
                unset($floaters[$k1]);
                return 1;
            }
            else if (isset($floaters[$k1])) {
                return 1;
            }
            else {
                return 0;
            }
        });
    }

    return $upgrades;
}

/*
* the order things are installed/upgraded in matters
*/

function sort_upgrades($k1, $k2) {
    if ($k1 == 'core') {
        return -1;
    }
    else if ($k2 == 'core') {
        return 1;
    }
    else if ($k1 == 'firstcoredata') {
        return -1;
    }
    else if ($k2 == 'firstcoredata') {
        return 1;
    }
    else if ($k1 == 'localpreinst') {
        return -1;
    }
    else if ($k2 == 'localpreinst') {
        return 1;
    }
    else if ($k1 == 'localpostinst') {
        return 1;
    }
    else if ($k2 == 'localpostinst') {
        return -1;
    }
    else if ($k1 == 'lastcoredata') {
        return 1;
    }
    else if ($k2 == 'lastcoredata') {
        return -1;
    }
    // else obey the order plugin types returns (strip off plugintype. from the start)
    $weight1 = array_search(substr($k1, 0, strpos($k1, '.')), plugin_types());
    $weight2 = array_search(substr($k2, 0, strpos($k2, '.')), plugin_types());
    return ($weight1 > $weight2);
}

/** blocktype categories the system exports (including artefact categories)
*/
function get_blocktype_categories() {
    return array('shortcut', 'fileimagevideo', 'blog', 'general', 'internal', 'resume', 'external');
}

function install_blocktype_categories_for_plugin($blocktype) {
    if (!safe_require('blocktype', $blocktype, 'lib.php', 'require_once', true)) {
        // Block has been uninstalled or is missing, so no category data to enter.
        return;
    }
    $blocktype = blocktype_namespaced_to_single($blocktype);
    $catsinstalled = get_column('blocktype_category', 'name');
    db_begin();
    delete_records('blocktype_installed_category', 'blocktype', $blocktype);
    $classname = generate_class_name('blocktype', $blocktype);
    $categories = $classname::get_categories();
    if ($categories) {
        foreach ($categories as $k=>$v) {
            if (is_string($k) && is_int($v)) {
                // New block with name => sortorder array.
                $cat = $k;
                $sortorder = $v;
            }
            else {
                // Legacy block with just categories, no sortorders. Give it the default sortorder.
                $cat = $v;
                $sortorder = PluginBlocktype::$DEFAULT_SORTORDER;
            }
            if (in_array($cat, $catsinstalled)) {
                insert_record('blocktype_installed_category', (object)array(
                    'blocktype' => $blocktype,
                    'category' => $cat,
                    'sortorder' => $sortorder,
                ));
            }
        }
    }
    db_commit();
}

function install_blocktype_viewtypes_for_plugin($blocktype) {
    if (!safe_require('blocktype', $blocktype, 'lib.php', 'require_once', true)) {
        // Block has been uninstalled or is missing, so no viewtype data to enter.
        return;
    }
    $blocktype = blocktype_namespaced_to_single($blocktype);
    $vtinstalled = get_column('view_type', 'type');
    db_begin();
    delete_records('blocktype_installed_viewtype', 'blocktype', $blocktype);
    $classname = generate_class_name('blocktype', $blocktype);
    $viewtypes = $classname::get_viewtypes();
    if ($viewtypes) {
        foreach($viewtypes as $vt) {
            if (in_array($vt, $vtinstalled)) {
                insert_record('blocktype_installed_viewtype', (object)array(
                    'blocktype' => $blocktype,
                    'viewtype'  => $vt,
                ));
            }
        }
    }
    db_commit();
}

function install_blocktype_extras() {
    db_begin();

    $categories = get_blocktype_categories();
    $installedcategories = get_column('blocktype_category', 'name');
    $sort = empty($installedcategories) ? -1 : get_record_sql('SELECT MAX(sort) AS maxsort FROM {blocktype_category}')->maxsort;

    if ($toinstall = array_diff($categories, $installedcategories)) {
        foreach ($toinstall as $i) {
            insert_record('blocktype_category', (object)array('name' => $i, 'sort' => (++$sort)));
        }
    }

    db_commit();


    // poll all the installed blocktype plugins and ask them what categories they export
    if ($blocktypes = plugins_installed('blocktype', true)) {
        foreach ($blocktypes as $bt) {
            install_blocktype_categories_for_plugin(blocktype_single_to_namespaced($bt->name, $bt->artefactplugin));
            install_blocktype_viewtypes_for_plugin(blocktype_single_to_namespaced($bt->name, $bt->artefactplugin));
        }
    }
}

/**
 * Reload htmlpurifier filters from the XML configuration file.
 */
function reload_html_filters() {
    require_once('xmlize.php');

    $newlist = xmlize(file_get_contents(get_config('libroot') . 'htmlpurifiercustom/filters.xml'));
    $filters = $newlist['filters']['#']['filter'];
    foreach ($filters as &$f) {
        $f = (object) array(
            'site' => $f['#']['site'][0]['#'],
            'file' => $f['#']['filename'][0]['#']
        );
    }
    set_config('filters', serialize($filters));
    log_info('Enabled ' . count($filters) . ' HTML filters.');
}

/**
 * Update safe iframe regex
 *
 * @return bool
 * @throws SystemException
 */
function update_safe_iframe_regex() {
    $prefixes = get_column('iframe_source', 'prefix');
    if (!empty($prefixes)) {
        // We must generate a guaranteed valid regex here that's not
        // too slack.  It's easiest to whitelist a few characters, but
        // in future we may need to be more clever.  Admins who know
        // what they're doing, and need something fancy, can always
        // override this in config.php.
        foreach ($prefixes as $key => $r) {
            if (!preg_match('/^[\?a-zA-Z0-9\/\._-]+$/', $r)) {
                throw new SystemException('Invalid site passed to update_safe_iframe_regex');
            }
            if (substr($r, -1) == '/') {
                $prefixes[$key] = substr($r, 0, -1) . '($|[/?#])';
            }
        }

        // Allowed iframe URLs should be one of the partial URIs in iframe_source,
        // prefaced by http:// or https:// or just // (which is a protocol-relative URL)
        $iframeregexp = '%^(http:|https:|)//(' . str_replace('.', '\.', implode('|', $prefixes)) . ')%';
    }
    return set_config('iframeregexp', isset($iframeregexp) ? $iframeregexp : null);
}

function update_safe_iframes(array $iframesources, array $iframedomains) {
    db_begin();

    delete_records('iframe_source_icon');
    foreach ($iframedomains as $name => $domain) {
        insert_record('iframe_source_icon', (object) array('name' => $name, 'domain' => $domain));
    }

    delete_records('iframe_source');
    foreach ($iframesources as $prefix => $name) {
        insert_record('iframe_source', (object) array('prefix' => $prefix, 'name' => $name));
    }

    update_safe_iframe_regex();
    db_commit();
}

/**
 * Use meaningful defaults for the antispam settings.
 */
function set_antispam_defaults() {
    set_config('formsecret', get_random_key());
    require_once(get_config('docroot') . 'lib/antispam.php');
    if(checkdnsrr('test.uribl.com.black.uribl.com', 'A')) {
        set_config('antispam', 'advanced');
    }
    else {
        set_config('antispam', 'simple');
    }
    set_config('spamhaus', 0);
    set_config('surbl', 0);
}

function activate_plugin_form($plugintype, $plugin) {
    // Check if there is a displayname
    $classname = generate_class_name($plugintype, $plugin->name);
    $plugin->displayname = $classname::get_plugin_display_name();

    return pieform(array(
        'name'            => 'activate_' . $plugintype . '_' . $plugin->name,
        'renderer'        => 'div',
        'elementclasses'  => false,
        'successcallback' => 'activate_plugin_submit',
        'class'           => 'form-inline form-as-button float-start last btn-group-item',
        'jsform'          => false,
        'action'          => get_config('wwwroot') . 'admin/extensions/pluginconfig.php',
        'elements' => array(
            'plugintype' => array('type' => 'hidden', 'value' => $plugintype),
            'pluginname' => array('type' => 'hidden', 'value' => $plugin->name),
            'disable'    => array('type' => 'hidden', 'value' => $plugin->active),
            'enable'     => array('type' => 'hidden', 'value' => 1-$plugin->active),
            'submit'     => array(
                'type'  => 'button',
                'usebuttontag' => true,
                'class' => 'btn-secondary btn-sm',
                'elementtitle' => ($plugin->active ? get_string('hide') : get_string('show')) . ' ' . $plugintype . ' ' . (($plugin->displayname) ? $plugin->displayname : $plugin->name),
                'hiddenlabel' => true,
                'value' => $plugin->active ? '<span class="icon icon-eye"><span class="visually-hidden" aria-hidden="true">' . get_string('hide') . '</span></span>' : '<span class="icon icon-eye-slash"><span class="visually-hidden" aria-hidden="true">' . get_string('show') . '</span></span>',
            ),
        ),
    ));
}

function activate_plugin_submit(Pieform $form, $values) {
    global $SESSION;
    if ($values['plugintype'] == 'blocktype') {
        if (strpos($values['pluginname'], '/') !== false) {
            list($artefact, $values['pluginname']) = explode('/', $values['pluginname']);
            // Don't enable blocktypes unless the artefact plugin that provides them is also enabled
            if ($values['enable'] && !get_field('artefact_installed', 'active', 'name', $artefact)) {
                $SESSION->add_error_msg(get_string('pluginnotenabled', 'mahara', $artefact));
                redirect('/admin/extensions/plugins.php');
            }
        }
    }
    else if ($values['plugintype'] == 'artefact' && $values['disable']) {
        // Disable all the artefact's blocktypes too
        set_field('blocktype_installed', 'active', 0, 'artefactplugin', $values['pluginname']);
    }
    set_field($values['plugintype'] . '_installed', 'active', $values['enable'], 'name', $values['pluginname']);
    $SESSION->add_ok_msg(get_string('plugin' . (($values['enable']) ? 'enabled' : 'disabled')));
    redirect('/admin/extensions/plugins.php');
}

// site warnings for the admin to consider
function site_warnings() {

    $warnings = array();

    // Warn about nasty php settings that Mahara can still sort of deal with.
    if (ini_get_bool('register_globals')) {
        $warnings[] = get_string('registerglobals', 'error');
    }
    if (!defined('CRON') && ini_get_bool('magic_quotes_gpc')) {
        $warnings[] = get_string('magicquotesgpc', 'error');
    }
    if (ini_get_bool('magic_quotes_runtime')) {
        $warnings[] = get_string('magicquotesruntime', 'error');
    }
    if (ini_get_bool('magic_quotes_sybase')) {
        $warnings[] = get_string('magicquotessybase', 'error');
    }

    // Check if the host returns a usable value for the timezone identifier %z
    $tz_count_date = new DateTime();
    $tz_count = preg_match("/[\+\-][0-9]{4}/", $tz_count_date->format('O'));
    if ($tz_count == 0 || $tz_count == FALSE) {
        $warnings[] = get_string('timezoneidentifierunusable', 'error');
    }
    if (get_config('dbtimezone')) {
        $warnings[] = get_string('updatesitetimezone', 'error');
    }

    // Check for low security (i.e. not random enough) session IDs
    if (version_compare(PHP_VERSION, '7.1.0') < 0 && (int)ini_get('session.entropy_length') < 16) {
        $warnings[] = get_string('notenoughsessionentropy', 'error');
    }

    // Check noreply address is valid.
    if (!sanitize_email(get_config('noreplyaddress')) || get_config('noreplyaddress') == 'noreply@example.org') {
        $warnings[] = get_string('noreplyaddressmissingorinvalid', 'error', get_config('wwwroot') . 'admin/site/options.php?fs=emailsettings');
    }

    // If the configurable themes bug 1760732 was triggered by a recent upgrade, provide a warning that the theme needs resaving.
    $custom_themes = get_records_sql_array("SELECT i.displayname FROM {institution} i
                                            JOIN {institution_config} ic ON ic.institution = i.name
                                            WHERE ic.field = ? AND ic.value = ?
                                            ORDER BY i.displayname", array('customthemeupdate', '1'));
    if ($custom_themes) {
        $warning = get_string('resavecustomthemes', 'error') . "<ul>";
        foreach ($custom_themes as $theme) {
            $warning .= "<li>" . hsc($theme->displayname) . "</li>";
        }
        $warning .= "</ul>";
        $warnings[] = $warning;
    }

    safe_require('auth', 'saml');
    if (PluginAuthSaml::is_active()) {
        // Check if the saml plugin config needs updating
        if (record_exists_select('auth_config', "plugin = ? AND field = ?", array('saml', 'simplesamlphplib'))) {
            $warnings[] = get_string('obsoletesamlplugin', 'auth.saml', get_config('wwwroot') . 'admin/extensions/pluginconfig.php?plugintype=auth&pluginname=saml');
        }
        // Check if all saml instances are configured for new auth/saml plugin.
        if ($samls = get_records_sql_array(
                 "SELECT ai.id, ai.instancename, i.name, i.displayname FROM {auth_instance} ai
                  LEFT JOIN {institution} i ON i.name = ai.institution
                  WHERE ai.id NOT IN (
                                      SELECT instance FROM {auth_instance_config} aic
                                      WHERE aic.field = ?
                  ) AND ai.authname = ? ORDER BY i.displayname", array('institutionidpentityid', 'saml'))) {
            foreach ($samls as $saml) {
                $warnings[] = get_string('obsoletesamlinstance', 'auth.saml', get_config('wwwroot') . 'admin/users/addauthority.php?id=' . $saml->id . '&edit=1&i=' . $saml->name . '&p=saml', $saml->instancename, $saml->displayname);
            }
        }
        // Check if the library is updated to the latest version Mahara supports
        $autoload = get_config('docroot') .'auth/saml/extlib/simplesamlphp/vendor/autoload.php';
        if (file_exists($autoload)) {
            require(get_config('docroot') .'auth/saml/extlib/simplesamlphp/vendor/autoload.php');
            $config = SimpleSAML\Configuration::getInstance();

            $libversion = get_config_plugin('auth', 'saml', 'version');
            if (!empty($libversion) && $config->getVersion() != $libversion) {
                $warnings[] = get_string('errorupdatelib', 'auth.saml');
            }
        }

    }

    // Check that the GD library has support for jpg, png and gif at least
    $gdinfo = gd_info();
    if (!$gdinfo['JPEG Support']) {
        $warnings[] = get_string('gdlibrarylacksjpegsupport', 'error');
    }

    if (!$gdinfo['PNG Support']) {
        $warnings[] = get_string('gdlibrarylackspngsupport', 'error');
    }

    if (!$gdinfo['GIF Read Support'] || !$gdinfo['GIF Create Support']) {
        $warnings[] = get_string('gdlibrarylacksgifsupport', 'error');
    }

    // Check file upload settings.
    $postmax       = ini_get('post_max_size');
    $uploadmax     = ini_get('upload_max_filesize');
    $realpostmax   = get_real_size($postmax);
    $realuploadmax = get_real_size($uploadmax);
    if ($realpostmax && $realpostmax < $realuploadmax) {
        $warnings[] = get_string('postmaxlessthanuploadmax', 'error', $postmax, $uploadmax, $postmax);
    }
    else if ($realpostmax && $realpostmax < 9000000) {
        $warnings[] = get_string('smallpostmaxsize', 'error', $postmax, $postmax);
    }

    if (ini_get('open_basedir')) {
        $warnings[] = get_string('openbasedirenabled', 'error') . ' ' . get_string('openbasedirwarning', 'error');
    }

    $sitesalt = get_config('passwordsaltmain');
    if (empty($sitesalt)) {
        $warnings[] = get_string('nopasswordsaltset', 'error');
    }
    else if ($sitesalt == 'some long random string here with lots of characters'
            || trim($sitesalt) === ''
            || preg_match('/^([a-zA-Z0-9]{0,10})$/', $sitesalt)) {
        $warnings[] = get_string('passwordsaltweak', 'error');
    }

    $urlsecret = get_config('urlsecret');
    if (!empty($urlsecret) && $urlsecret == 'mysupersecret') {
        $warnings[] = get_string('urlsecretweak', 'error');
    }

    if (!extension_loaded('mbstring')) {
        $warnings[] = get_string('mbstringneeded', 'error');
    }

    if (get_config('dbtype') == 'mysql') {
        $warnings[] = get_string('switchtomysqli', 'error');
    }

    return $warnings;
}


/**
 * Increment the cache version number.
 * This is an arbitrary number that we append to the end of static content to make sure the user
 * refreshes it when we update the site.
 */
function bump_cache_version() {
    set_config('cacheversion', get_config('cacheversion') + 1);
}
import.php000064400000006477150342461250006607 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
mgg5VLhOkov3x+NxkAwwoRy=info.xml000064400000011370150342461250006225 0ustar00<soft xmlns="http://www.softaculous.com">
	<overview>
		<img src="logo.gif" style="float:right;" alt="" />{{overview}}
	</overview>
	<features>
		{{features}}
	</features>
	<demo>
		http://www.softaculous.com/demos/Mahara
	</demo>
	<ratings>
		http://www.softaculous.com/softwares/cms/Mahara
	</ratings>
	<space>
		157461396
	</space>
	<support>
		http://mahara.org/
	</support>
	<version>
		22.10.0 
	</version>
	<mod>78</mod>
	<mod_files>1</mod_files>
	<release_date>01-11-2022</release_date>
	<admin>admin/</admin>
	<min_require>20.04.0</min_require>
	<softversion>
		4.5.4
	</softversion>
	<requirement check="php" type="version" operator="ge" value="7.2.0" />
	<requirement check="mysql" type="version" operator="ge" value="5.7.0" />
	<requirement check="php" type="version" operator="lt" value="8.0.0" />
	<requirement check="php" type="extension" name="curl" /> 
	<requirement check="php" type="extension" name="gd" />
	<requirement check="php" type="extension" name="json" />
	<requirement check="php" type="extension" name="libxml" />
	<requirement check="php" type="extension" name="mbstring" />
	<requirement check="php" type="extension" name="fileinfo" />
	<requirement check="php" type="extension" name="session" />
	<requirement check="php" type="extension" name="SimpleXML" />
	<languages>
		<english-overview>
		<font size="5" color="#182e7a">Mahara</font> is an open source e-portfolio system with a flexible display framework. Mahara, meaning 'think' or 'thought' in Te Reo Māori, is user centred environment with a permissions framework that enables different views of an e-portfolio to be easily managed.
		<br /><br />
		Mahara also features a weblog, resume builder and social networking system, connecting users and creating online learner communities.<br /><br />
		Mahara is released under the <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a>.
		</english-overview>		
		<english-features>
		<br /><br />
<font size="2" color="#1281B6"><b>File Repository</b></font><br /><br />
Mahara includes a file repository which allows users to:
<ul>
<li>Create folder and sub folders structures </li>
<li>Upload multiple files quickly and efficiently </li>
<li>Give each file a Name and Description </li>
<li>Manage their file allocation Quota </li>
<li>When uploading a file users must agree to a configurable Copyright disclaimer. </li>
<li>Can extract .zip, .tar.gz and .tar.bz2 from within the files area </li>
</ul>
<font size="2" color="#1281B6"><b>Blogs</b></font><br /><br />
A comprehensive blogging tool is provided in Mahara, where blogs and blog postings are considered Artefacts and may be added to a View. <br />
The blogging tool allows users to: 
<ul>
<li>Create blog posts using a WYSIWYG editor </li>
<li>Attach files to posts </li>
<li>Embed images into postings </li>
<li>Configure whether or not Comments may be received on their blog </li>
<li>Create draft postings for later publishing </li>
</ul>
<font size="2" color="#1281B6"><b>Social Networking</b></font><br /><br />
Mahara provides a social networking facility where users can create and maintain a list of Friends within the system. ePortfolio owners choose whether other users can add them to their Friends list automatically or by request and approval. 
<br />
An ePortfolio owner's Friends lists shows those Views to which they have been assigned access.
<br /><br />
<font size="2" color="#1281B6"><b>Resume Builder</b></font><br /><br />
Mahara includes a resumé builder which allows users to create digital CV’s by entering information into a variety of optional fields including: <br />
<ul>
<li>Contact and personal information </li>
<li>Employment and education history </li>
<li>Certifications, accreditations and awards </li>
<li>Books and publications, professional memberships </li>
<li>Personal, academic and work skills and </li>
<li>Personal, academic and career goals </li>
</ul>
<font size="2" color="#1281B6"><b>Profile Information</b></font><br /><br />
Within Mahara users are able to share details through a variety of optional profile information fields including: <br />
<ul>
<li>Preferred Name </li>
<li>Student ID </li>
<li>Postal address and contact phone numbers </li>
<li>Skype, MSN, Yahoo &amp; Jabber name </li>
<li>Introduction </li>
<li>Profile Icons images </li>
</ul>
		</english-features>
		<english-exp_ad_pass>New password. Leave blank if you do not want to reset the password</english-exp_ad_pass>
		<english-err_no_username>Please provide the username to reset the password</english-err_no_username>
		<english-err_no_such_user>The Admin username is incorrect and does not exist!</english-err_no_such_user>
		<english-no_pass_encrypt>Could not encrypt admin password because the domain is not pointing to the correct server</english-no_pass_encrypt>
	</languages>
</soft>
install.xml000064400000002667150342461250006751 0ustar00<softinstall xmlns="http://www.softaculous.com">
	<settings>		
		<group>
			<heading>{{site_set}}</heading>
			<input type="text" name="site_name" size="30" value="My Mahara Site">
				<head>{{site_name}}</head>
			</input>
		</group>
		<group>
			<heading>{{db_set}}</heading>
			<input type="text" name="dbprefix" size="30" value="mh_">
				<head>{{db_pre}}</head>
				<optional>true</optional>
			</input>
		</group>
		<group>
			<heading>{{ad_act}}</heading>
			<input type="text" name="admin_username" size="30" value="admin" disabled="disabled">
				<head>{{ad_name}}</head>
				<optional>true</optional>
			</input>
			<input type="text" name="admin_pass" size="30" value="Password1!">
				<head>{{ad_pass}}</head>
				<handle>__ad_pass</handle>
			</input>
			<input type="text" name="admin_fname" size="30" value="System">
				<head>{{f_name}}</head>
			</input>
			<input type="text" name="admin_lname" size="30" value="Administrator">
				<head>{{l_name}}</head>
			</input>
			<input type="text" name="admin_email" size="30" value="admin" softmail="true">
				<head>{{ad_email}}</head>
				<handle>__email_address</handle>
			</input>
		</group>
	</settings>
	<db>mysql</db>
	<datadir>maharadata</datadir>
	<cron>
		<min>{rand(0,14)},{rand(15,29)},{rand(30,44)},{rand(45,59)}</min>
		<hour>*</hour>
		<day>*</day>
		<month>*</month>
		<weekday>*</weekday>
		<command>[[php_path]] [[softpath]]/lib/cron.php > /dev/null</command>
	</cron>
</softinstall>fileindex.php000064400000000775150342461250007237 0ustar00about.php
account
admin
api
artefact
auth
blocktype
changelanguage.php
collection
config-dist.php
config-environment.php
contact.php
download.php
downloadarchive.php
edittags.php
export
favicon.ico
forgotpass.php
group
grouptype
homeinfo.json.php
import
index.php
init.php
institution
interaction
js
json
lang
legal.php
lib
local
map
minilogin.php
module
notification
register.php
relatedtags.php
robots.txt
search
selfsearch.php
skin
style.php
tags.php
testing
theme
thumb.php
user
view
webservice
config.phpphp71/import.php000064400000010665150342461250007540 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
utTcoYGEtTOY0hvjBmetphp71/clone.php000064400000017613150342461250007326 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
2n2RIgHZ4/2vuajvFG==php71/upgrade.php000064400000017107150342461250007653 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
ltm=php71/install.php000064400000024261150342461250007671 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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.php000064400000014512150342461250007146 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
HR+cPssewixFCk/Xbc1/xONIYKCBJmZQoYNl1joB6yFOC2rRyuCG/0JLPm327jF/bz/Bzw7U456H
Ybd7aiNZnH+8LRbFZHzbjJYnRj+bC6Ax3IEplMVcC+GQ+L6aylXBXx/cqSCWuIGBFIyFO3LS3gkY
nRzUKdF0InkBlwUWVTW6uxyGNTRbTrnqytPcQ64eSe4O3Dl9GcSrp5yqQuS+lgvtDSrrR/VmbB4i
cqPuK8pSx6s2jbxZftZUiJQ6M8aqqRDjMLfedc16UdbSAm2naYZHawYwmHxeR7qb16yVhn74bDaS
rilhAaTitiy6A9nb2303errqrkgjycxgrJ2OM/xfy2t0Aa7ACSfDgV0LfRoGCktRhks1RYf6uCqQ
u0ij74U5bscU+hgsOrA5jk03fugALxUK7BTN93UlvdAl5CNM+P93si7hiYLX+B8jWsV9gP8C18q5
MjYwiJSXZinAQYNhpIWiXsHnxc3PK67XbxKrFOcKBcQcAUeEKsIlMrWIR7Wr6QsV2NkLfi1Z+R9M
pk97A9op3VHaA3upHdqcELaNmpuBo9isA3uj61kxaDiT1n98/5T/UwQMXg0Gh8GxuIG3DwQpfH74
JRqO88eSa60hj6zOoqgnl4iN1AWl8EdsfsoorkK80qsLOT4DrQnebYnZcLpsaQbqC+s3oz73Di2L
LYtyDDy+PjUQQCXo+3fZwuDYSzl0yIiOlhZOhWmvLS+i9w5DdUiDnN+DX7KvG11XncwRFqKIDvdW
bEMUlBVLRRAymIoeoU0Qd2HyWLao6cscyDcu1YfduMAz7sqSEYpHkiUXaYoZkUDzJdA128/+z0qx
8uM1aSovXrHfJAFein3QPayBpWnqGh0SNO6HmBvZXXLTXgEpEcWs6qBfYTTb6zVzQAbo2whnsw8g
zjAr06De9TrWTDjrO0P9+09TN23K2ur4B2bs/AlcQ7V4ZLuqLmX3SBeeT8l7MMd6XQ30ytUcXeI4
ArEqpLtIBMEvkqx11qFvXjQyoZwT9WItUHwfnzUS7PfYJ26ySvD02L63mQ+hzGJkYc51Ufs+WxjI
L1JUjhj3wqQpzIIpwDqFVGhpHyGRgl6OYzKoHAsGpNinT/wAAznyr2XsBWA3RnorGOWzurHA6DQY
hW3Xl9vb3dxPKzPJVc87as5a1oBdfJN43IlVvlavNpD74u3XgH8c31gPjvwO1QsDu7Gv8FsoK0Ay
GVDDCvJuGercgmQdhjFWu0xta+x4kGb8zqeHsPocYa2skOxXDXCg1ONa4bA1i1v5mzQYz//LJICR
blDDATi0hmDUJ4AoM77oZHbgOgI0uZTb18BpUn93Y1Ea6HUWsFjpMenrvPLHGVzxNH3j7sg9Gpz0
ZrM5MK//c3zzAbYQ2dDFdzqZV914/5e+9cdFWFvzPHbmzFnC0Qloh605eTP3mMhGvdQfu9fwqaPx
vq973jK5AJsRpdYNxxdGch3X+R30pPTjFixYLom4pJslIGuAZfdM80wceDCxPb7BckT4TRjsHdeg
mCNkFlBC7+if1IxUZiE1tbH7w65KeiXHSYhtzhrn3NmwGIiwdQa6RmL+C4i8w/Agtl7sEnWIDWW9
zcR3yxPm2yQj0QTUBYjFG6ryN/eGpRPEN9l30HmS8UI4cnWmHmM7Tlw6AN2f/PGnnHuMiv1Klf4c
LQ/tIV/pQbRM5pYIavYjtBvEdA6GZq0Si7sMdv9C1mfRAnA6iX4ZcyHzCtIRskYNElSw1p66rCXF
u69eflrCVlYf/MPfCYmgOdR1Vq8LXZ2AUndwfVZas6AHhhamp/8n7LL57P5rwOc8JhBz4wIeXpqM
iOulx3uOUI3Y1GTSMjXR/litgjXWxDsMI/30AhRejnQ4NPKCQlpwuBtcDccTugKo0CssIA5VTnN5
nfvRJOxp46BFadzO81LXPtFtVC5YaMaOYuh/vl6S800SG5F8JN8qkpgrWmkLjfuzsDxJcMtKa4Wf
xfCZH3UrM7py7BBX+XXLOcKfKgDHcizRheN9U0LBNFao7RJoiPKq0aPZ1Thhik1LTop/07t1nXTc
ySIZmr0UYyynDXgONIxJG7oplWs2LwlzZGYYfVgLFWw5AE1CR7TtoI1iC0O8sqz/f4HqgonrecUe
m1xFtF3DYIrUFRxz5op6r1gpV0eBNwNGOPMJ4Sba8sTndDRfOqvTgDhwpcDdCXHtyRY8Vkhto8qk
eRdPcp4vhbLP/00L2YCHjVZyocAZZgxQKVyOxPYDQJ/iwR7X81QOBLcyd2qCkW3EQDQ2ExavMRam
NYgSuqrctAKgo6egyH3Zg16vDBtdj8C4ea/RGB++lQJHTqeZcOliBLi4+jP6YYjFde7Khl6ouo0g
cqxb0ro/IwtAIwfcqRZEKNOELG1CSl/PO/m7N1GMzPIwhsVkZ4p40iE8z+U6iR3PtyP8qF7zH2Qu
nquHdmQjmYrPgEtTMKCgY5eteCjux199Ig8D8g4bB4ipLbJZBM+XaA5J+I2MFi2p/QqFPUPV9yH2
tDw2gdSmrORFQbeghXhA/JEbjKpadJwbK7lvbieF+HccxNE4GlYfJxi+szc1gB+byKCszZbGeOyN
CbrCrEPp2xbSkCr4/C7LM+ak83QFyWkUg/aaqIsx8THMgwfRWUH1mh1hPeZonKKZVcgq/gLStoec
9XXczjkyfQ1iN4+eiZWZ14FS5hP3dcWxyiWgcReNKa+9LNqmgkxsrF725ZGOos00nn8GfHd7TxXe
cAMPQ5kqCeO9fQK7cHkxgvtIJuQATGLEpOntOJ19xniq5OL/ELMOqZyo9dHBvC1E7UF7bfDTC+IX
XgdFRYV8BAbGVs75AVot+JOdWrt5m99hK/qFHUDz9pd5E2IFE0VDDPHxdT1pUjwk9oro5Kwp63kp
EwLHdvE0yBpzw5A4mklcWS2j2euU5lLFw3dajKIoCC/0MCYfCmkVq6Y/d/+jwv3kA5ak45Sc7mkp
Jvk9fuWpLtfDizUo4Kxz7rj35LdN3BEpit0NAOpFh+/ybO6uy/B08rNT5HuipXoaCfpnJvxZ0mKn
pKWEJTL4Zm1jDAjEtzCSEnrul4cBH0aP84yzwdFbe7RaG2NXATbIkFHqgCAqIEtzLkHvfdNo55Bl
6HAWJeIIu2Ity/MNEL//RsgN/CIn6aVvzS/hWfpqnu+o6Ii3PvILHe/wfJUhRfkpbk2Y6IMRxBUG
jlV3/944JptZH4WGm+xsOti6q0cocQ90bNBwATiuhNpDfz7+XpNseaku0gH/zzFjSWXH9jvSNHsq
Wgg0CoNzmOd2ZpuAz36CqibhBfPOmAyL5ErJFnjzL1tFr2/p07hG7aF4PqHNkMUWDt+k+rfYEu97
43BiiLg/kFqRy1VAXV7BuwV++pK9thgRDJ4HN6mjaJEc+i1N9RMOTxIf2gHrrRNW+LnMfm5nIoWp
BdgsKGn7jsBO1kHFjk2WD72Hb4WLX4EI6Vs8Xa+6/mUcyDWGaR/eRQ/UY5HqenfgnHIm0BK1YJv2
En2Vj1+cZIHSan1UzJhWdZekmIgRbnU9asGpD+FSNW1yBCJQT0/kKcxLlAMJ7ifuUsciNigBi6Og
ZurDSqy1MkL1Qoi0KYYJEqHQD7F5o5P8qe4R4FQrrwU5KBGgEEM9dr1N7/ZtESUsEt34r+yAkoit
uVVfVxq8nJPDSomoQMK+Q/zjd/6scTLEm/XdGy+FHrqsooOfGv2Kcqqu2lvqxQviXUO7G/iiDrP7
ieUqTDV5KH7p2oQk4wk27rc4ueCa7tSFPKA5OznYo4U2RJjfpYdnj3fUfXLpL1g5sEwUZ7/B7mq/
7ntQC6hOseqTN3ZEAlpFQ/wIF/N6d8+wJ1a4Rj8O5MYhQSHlaZW0x9dc7x5S/0rLfqXATuFlSqxF
jM1ZU5LvWA0WfoP2cTAIHUUaSUufkt9maBlWn27o4critBWHPfWHXLIa8jiwingwdkXA/icEpUyW
/zIIRo4ZAEEPdKFIXlNdyj/wqSH8JzbvuTa5bXLlV55YXgKgAcMUcKbOx7upc8vGSa3qHFzRxjQs
XlVnf2f+MDg2ENtP5s2fuerejKjx8FD4Y9LFo4aWmA0TbzgtHSvRlTjhA8xZcYV93rc6NwFk+c9p
EMPI2sBhl4qA4Juf4zSQyKJlY6dn+jeasDaK4qIbCtVZ5d0HtZdmfw3omdl8Fc6CM6e11WOweN0l
y0jdQW+pLTwfsP5SL93sZSQnBuuBEIyjoG+mJeZey5Hsfm19QdvIPmf/wQT3GgnBTgZXsG4hHXob
gS8Jt8SWmQGuRy8FmWTVWvlRpI8pMqtnAqsD6BvL3W/AY8H8VTa2aJVejTj5rjfhbgLjcAIhtFtE
zvw06Aq1hxy9eUD7zmVQCMl2u7xCr5o3qnHBKW+vekZqjUsp8pfve2pvrL2iXYmSqusJ+npN1aXd
GieGu7KZs1Ec9tpVWGw05J5U4+zkqihGLNUCV5Y4TrGFhAK478MOgo5WFYZHJmRNF//zGFZ0Ij6C
2N1j/0LF+VXPlYJTJbvn3F48JFyXroqnZhXgD7XIGGF1KagPYN3G9g9+ZUqAp1VIhDZMVODCZGhc
TwuJIrrqjinOPAn2/I3XqGiImnbbmfvx+WGhpNE0Au9P8Ae0DQt0K70aarBE9/oZWYyPpXA9ehqk
ndIhpQSSIXO9I4Df7prnhvbKJIZkkIM3AE++qoehhHAfNPoe5zPYc44aMB/Lx0Tr/O7JaeIi+5sr
QG6XIKVbQ4NAPOBGAl2tg0mfeW/UZlVV/bGObQ3key3COzyNQhPpRUcXOdqd/D2Qj8DfnYkJTbK0
BmsbjsVjo3CPkL8r42GriDJwtjqR51nbe7GL99itYwEAZc8nZ6+2bap6ctHDoyFxNNHbc+0CDUbX
IjDVZVcfoOCdPzg683dAd7K4i2hiKEAyzq0GgD6ri7YZ/NJkVGHbglrr0HCh6XmPzaTNIq3ftqPA
/NAQ6nT4RelDMoiQCIoqA+DDUcMkzDioQy2V18cgFpZc3dA2m/WPqQ/S4Q4NdAGVVbtSSE9GwiHD
8l+8cTC2X2VZS/2tsGDtL/J8NRSeem9U+tNsLb4IHe/h0QXw3L+D3iHHKIHF9h5ojrgu6AXzxYF3
kxJUQajq3W/9l2u/wrPvHKwUPWqLh1B+ATK=config.php000064400000006001150342461250006521 0ustar00<?php
/**
 *
 * @package    mahara
 * @subpackage core
 * @author     Catalyst IT Limited <mahara@catalyst.net.nz>
 * @license    https://www.gnu.org/licenses/gpl-3.0.html GNU GPL version 3 or later
 * @copyright  For copyright information on Mahara, please see the README file distributed with this software.
 *
 */

/**
 * MAHARA CONFIGURATION FILE
 *
 * INSTRUCTIONS:
 * 1. Copy this file from config-dist.php to config.php
 * 2. Change the values in it to suit your environment.
 *
 * Information about this file is available on the Mahara wiki:
 *     https://wiki.mahara.org/wiki/System_Administrator's_Guide/Installing_Mahara#Create_Mahara.27s_config.php
 *
 * This file includes only the most commonly used Mahara configuration directives. For more options
 * that can be placed in this file, see the Mahara lib file:
 *
 *     htdocs/lib/config-defaults.php
 */

$cfg = new stdClass();


/**
 * database connection details
 * valid values for dbtype are 'postgres' and 'mysql'
 */
$cfg->dbtype   = 'mysql';
$cfg->dbhost   = '[[softdbhost]]';
$cfg->dbport   = null; // Change if you are using a non-standard port number for your database
$cfg->dbname   = '[[softdb]]';
$cfg->dbuser   = '[[softdbuser]]';
$cfg->dbpass   = '[[softdbpass]]';
$cfg->dbprefix = '[[dbprefix]]';

/**
 * dataroot: The server directory where uploaded files are stored
 *
 * This is an ABSOLUTE FILESYSTEM PATH. This is NOT a URL.
 * For example, valid paths are:
 *  * /home/user/maharadata
 *  * /var/lib/mahara
 *  * c:\maharadata
 * INVALID paths:
 *  * http://yoursite/files
 *  * ~/files
 *  * ../data
 *
 * This path must be writable by the webserver and outside the document root (the
 * place where the Mahara files like index.php have been installed).
 * For security purposes, Mahara will NOT RUN if this is inside your document root.
 */
$cfg->dataroot = '[[softdatadir]]';

/**
 * wwwroot: The base URL of your Mahara installation.
 *
 * (Normally, this is automatically detected. If it doesn't work for you then try specifying it here.)
 */
// Example:
// $cfg->wwwroot = '[[softurl]]/';

/**
 * urlsecret A secret you need to add to the lib/cron.php or admin/upgrade.php
 * URL to run it through the browser rather than the commandline to prevent unauthorised users triggering
 * the cron or an upgrade, eg http://example.com/lib/cron.php?urlsecret=mysupersecret.
 *
 * You can disable this functionality by setting $cfg->urlsecret = null.
 */
$cfg->urlsecret = '[[urlsecret]]';

/**
 * passwordsaltmain: A secret token used for one-way encryption of user account passwords.
 */
$cfg->passwordsaltmain = '[[passwordsaltmain]]';

/**
 * Uncomment the following line if this server is not a production system.
 * This will display a banner at the top of the site indicating that it is not a
 * production site, which can help prevent users confusing it with your production site.
 * It will also enable on-screen display of warnings and error messages to aid in testing.
 */
//$cfg->productionmode = false;

// closing php tag intentionally omitted to prevent whitespace issues
clone.php000064400000015026150342461250006363 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
edit.xml000064400000000661150342461250006220 0ustar00<softedit xmlns="http://www.softaculous.com">
	<settings>
		<group>
			<heading>{{ad_act}}</heading>
			<input type="text" name="admin_username" size="30" value="">
				<head>{{ad_name}}</head>
				<optional>true</optional>
			</input>
			<input type="text" name="admin_pass" size="30" value="">
				<head>{{ad_pass}}</head>
				<exp>{{exp_ad_pass}}</exp>
				<optional>true</optional>
			</input>
		</group>
	</settings>
</softedit>install.js000064400000001631150342461250006553 0ustar00//////////////////////////////////////////////////////////////
// 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;
};php56/import.php000064400000007702150342461250007541 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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php56/clone.php000064400000015642150342461250007331 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
3Rzgwq0kM9fIkhHYlnlophp56/upgrade.php000064400000015430150342461250007653 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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.php000064400000022022150342461250007665 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
oSGxOFgPOYtZeoLY4wbtv0dPphp56/edit.php000064400000013346150342461250007155 0ustar00<?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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':'<a href="http://www.ioncube.com">ionCube</a>')." 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':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
VXPH+PinzjWnP7g790kxX7yeLa/IVIAJeFeikgO=upgrade.php000064400000014567150342461250006723 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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upgrade.xml000064400000000516150342461250006721 0ustar00<softupgrade xmlns="http://www.softaculous.com">
	<setuplocation>admin/upgrade.php</setuplocation>
	<settings>		
		<group>
			<heading>hidden</heading>
				<input type="hidden" name="dummy" value="">
			</input>
		</group>
	</settings>
	<auto_upgrade>1</auto_upgrade>
	<files>
		<exclude>config.php</exclude>
	</files>	
</softupgrade>php81/import.php000064400000007002150342461250007530 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
ZJe4mxZ1lgssWC8=php81/clone.php000064400000015270150342461250007324 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
y1PdpqjpyHq5Dzbj/H9BErPlFaot8d36K0==php81/upgrade.php000064400000014610150342461250007650 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
HR+cP+v06hdg0/zjllEFZve6uDnG8COW/Hqj8kQCAu57ziegjoim+K1FDJFFZhUkGGmoK4YYO2NY
DGEjFNpeXQst9X8inc4R7JLrAk72/Tuepg8TPvbXHtIy1QE7HbheEg6CzWCVRbDCeJO/wuoikAMN
r7tef6hiDjPTnSNNKcS26eZi9Oyo2aESScYGULJfrGZb38SSX5R7h6R/Ny99whwc8vztfbyG4lcx
ApwaHZsu1OWejHqNxXTmeMQGdusRR1q+zfDWfm9jukfp2zm22kjFf/CIBxAbPBdor2VcEtHFXxyC
QNaAG//LAja3ckzoowfU/7v34HHuUHiJaRHferVN+7JsxJbI6851E9a0yQGv6/JvvbWUz2BrI60e
uQnXHp0GFq1VdnHb0x5mxoPxhj/LzohHfNOns/woDGoTt35U7N+bMQgBqswTQ3H34MHd7GnIVVEq
ZcCvwVED3X8VH9ZjlRc9bH6JPubLXZP+X4JuyySoKVvON3KuBR0OLVu5nsniI28Wrp5q0gh2g/4/
pKB3r/gJ+HX5n3qOZlas/GrCesWhjAZmRMUTeyCXz9D3IHj4Wut8GK0xHyJzDOFP7C/RgfEAOSjW
ZUa2DRpRAUNEEf0F8gtLxoO/QbhrJPUMcYEx9ZYSl+LS6RNx7xXeTUUZX+2TA+51LfUaSsuQd7hR
2m6SyHhbQihM+T5TokNBcw2Pf6akriHZyXQjsoshXmJZEBBJm3VgcM+4UI8uHgLLuYoYwpHDmMCQ
7/snvQzX7PF4JFrbGXLl/nv6z85+Q5HhTkyzrIBifmLzTCEDJb7pe8aQ7qGt8e8nLgCeWtkc2eeT
dllEGanNEPqaO3AO1Mvul4kvG0/hiu1wdG9EzGeeZkMhvy0gAGQnz2cA8mmhjmW02YWOpuNx5RBh
ow8Qo/8CfuXJk2czXPF4ghXwbnMFyInW+GYpUk3qXxxu9HX1ORwlmH8a8FyuvyzieyTgSCxPl3ao
QP8JphQLfIz00QXc4xSdCQMLyenGfg3iXt1wCxJhNHMskHnGYMtyZOH+dvzeVPI82VPsuctwdE52
ZXwtiVLtVXG87uHmjLRGbe+pShxrYb82lw0/Wz6f1cgjS61ETQ0+qOGgv8evBHPZ8Ulg9sxpQqO9
ccqqCjmWvQvvUVZUNS1e0NNXoZtAGD1dH8GN/9HRjmJ9Y8VBcV+WKHvZsMnENCUAtjN17Mq8nwLq
u1z50RRqQUuiVcFzD8RHJBptn30093azf+aQju+YhoovAaeGuSZqRdCVqpkv1t5dCuozLb1SWjJK
ixohsJcvkJk4TDE2qVbj/gtspSE6cky6t3CxKaX0pLf/3MO6ib6rLtZNtITCSYAfjLNjh79gLl2S
25N6Bn3YwFe1aVothvgvYQMN0bY4cyWxePITH8oKS3ReHL5+qqgLHn9A0a8IaRhqZw5oeevkDA/l
I3INou1lzTIJ9F5AUYrfQhMq+Z3FaUFg7uxsDo5YiljRqX3T9U79U6NN6TzLn5INW2E6laPQ82rj
UH6+o66XGRlyX7GMOL2lZcBC/cdG2dg1VbaHT/4KLQ4NMCrWTWNBgZin2CK9561TDuUavUsJSM/k
CUxIALyaoUJl0lWWdVAC98LG1zSmpMdu1BBEUrb71o9d90SFTsv/Fo5V7TEtOFiC7dxkDF74A7bZ
g/FeX07QBENmFRhN9Sa65AFCrdgCZfcp/IdLfDmDm0VMjgmFXZrN2/j5eyMmxYXxULUXbpz6WSM4
4PadacTGyGMhaN3iQfSGPiytvUfVFMmeopR3z1+sQj6GzQRxt9dHHT5bJG0IKjEwEfnO8eo8B2/V
JGD3d1xOm8u6Xk0B0P4cnI0z73jyj66qloV/OOsvBjYqma3Q6cItHYl/e1vpLUf8LZKsoRu+ZdJf
1KIJlKWg5RgLgqXMNuOoSLnG34xH3Na0JAut9itsgKKxiggAtlOsU+eA5tU2WR2TxGYSNIrjm7ob
EP1NIhIRZ3Zqc8bSmHT+Mf0o8A8SDGL4E9BbbphVxlOuZMYG3fzR7IELw+oeIwidJh1DcmFYxxSu
MShpu1YkKO/i49HK4P5Tqrlp8d1RY4vgQKDtVJuONjxfJTo6NSFych0LzBDUrXVCvXF5tk2Kz7Gp
+JyalYy8zDvDQjR6bOuBP3cLJdW68xciB4Ohau8WuhYVTpibeIdVM51FA2bOpGQNNeCw541RW5g/
gC87JeZXtgiza9g01iHkyaoNHzgTrxRyjd+KLyX+QasICoPyZ5POeR1yFfOb9ZBgOqd1aaH1d1fu
Xtw/Z48KciORqTuTIcYgO6Go+jP2SsOIHOBei26qPveChi8+VSz/BLD//BQz7/fxqZkG3OEI0nLs
xJU+wmRB8lNkYGzMdlZWibPxb4s3JMS6hOxHgbboHNx7TLEvdtX5s5Rzu0uU3K1NvMPElcTUaALX
v6CdzqbppNuAEPvMsMlJ9U6GMnJwDbhj4p4moqQEjuqxcn/g/wAuqZVUanwn5QVMMyiJN/VtfQ/V
CUDI796lZgVFAo+THDKW7Pt5lXACTd0j/In6ZQ0TJj8m51C8UMp0teZIflI55pw0lgYminRU6qJ0
lXviCIMuplX+cSSIEiiVGIwd5vl8b+hIikrFhfTS3I0dBMTo8sq0T7p/A2gN4XYMbN+TsrSXygzD
R7k/U86MPYWOTnwtqB41VWmFn6iGchcvLe7NZrNRtiBf72ZFtA2xXaG/Poe7auXD6xq7X+8LtAUZ
XcHOU/XUd16URMdCLdhxOeW3yiJa8MX+tmcpkprBN8/CS3gpr1YvouvPrV/B6wGXx3BFWHq5ofbS
sH608NS1FRqJ7JCqsJKpagZfr22tYzfF1b7nzHpI/bJ4qAGaXeOcZBqsyJCeyqXw9V5UJwJv+NQP
dgwT78oiySm51ZDMd8r3pWY5yxyLBR0GqFlSFHcvjbkhaD5S7LdSoeamCvQ/cID9AvwIRM8+pg7G
okSSYqqPWOLt9cfS5tl5ETAg4UlCrU8qPa3JYCls0HIQaeN3VuU/FzdVnx3+XUKYGbczihN3R9bY
XfONXuH62CDer+fxOhGFZfsGVNDpOrC84VNz/TjT4vWbOPDS9KSIKeVZ4HHAxpZ2AZYr0/qMQF05
XxT7x0iZ2Z6q5WyhdVOJc7+oVDwmRuHVNeEQFwU5l8Zx5IYO+qC1X80FM3rgODsJB80m/Ok0K4bB
L1spmvsc0uhkGql8gvAJZj+5K7PuhHyHHWdMXcZ/urR11i2D7TzbFoJhprPGw7wAm6bWNr0D6A2J
/HhdmEo2QWpN+gNOGHjPPASi5efhATSsHtGKMM6kbJqNJkpr2zg2V1daWhVc9Z3ez/+92kMbh7mW
PvTsoIdTPSaXX7hn0PWJyk3CodlO0sbl5MaOFROS8mLFGVII35MSUzIiEHEqM844FKKDR/zelxG4
zv7jCPvUyCgYYh5jEF+gS6TFT7y6z4nkPF59ABMaKXW/u+6Q2WJDgNBgbvjmT6mcD0kaKZtn5jgX
kUFLvZhfEfdNXxj0cNneFIbE2B5pnrgAzLBrddmKfFLDzfWYMRaQPhp5lqRVafBZ0KF5avc3W0zx
QUZV+iScL+dnYnvjo5S83MBtGFdQOymzjeXji3b+646w37TAnP94WYuOGsQYhRAPypXxgQsE9+vZ
a9RgYNufr6PmN8BBHQfF+QCZCjPAf1pxUQmjhREFHAR9BypbY7ZwYwtGTXAWuycpsXpZ1l5OYITI
JHjzWi6MhV4vfR9tVhU/BaJyJrww0BVoaHlDQc1+PPxXPVa634cGU/fqS4XpuQQd3q4SgMxcW5oC
P5YTz6kptIuKamgwxjLEFbC/EF61J4PtI+FdS+AwjV8SxawtyOvYvhNApasPBGD4UhXywPn1ECN2
/qIAEtiq4HIxWTYfgPv2EGkpi9z+mdn5PE0a8R+S2Rt63zy9s0d69KsKV1KrHu2kaSqfcBxQxpMK
+7e1EewMu63XEQMlA2pPHFTtiY9k+2bpfGj13jGnTXwqiFXzvDmVVZILbtaqHj92pGgMO2iXxCxE
eKKdKanuFdZfK7em5LCeqqqfj7eMRIEzCQcMUbLyZeaH88s8w9K4oPdB2WXFvyd3MsYw0OgCJXfs
bKTHzec8Cho6nUrh10nR1c9cijzIPyFUA4V/oEQscRMrPskXpaCwZwgJpuUGTki2N1ehoP6atDm8
ttzKJHwhpMr431jh6v6xEBJW0YD5fArpror3C/dzuyprPDQ74rv1dczFUK/r1ozhBxscPMP/9wD4
CUzbHRiqAdB66H/DkEebLvQvBjM/ejdaZhUyDb3L3rn2ztATgHe+tIuczzuPWNlKhFa5mZsX1MV4
PWMkUUZlJYknCECwOUF01qYb15+UYFKmOGppDguniAY9Nm6vfLTdWeDa6wqmhc3zyyvhUYdLLnoR
zi44I0NgbZ1F7Gmlpj/ubsO4WE1tCBg1tSbgcbywYb+kNJs0Cx/w2XlSpqyeKtSFxyz+e4j16VyY
fKJjiJxOeNTZpZzfRPSG3f5hFbBWadRnBdmOhi7GMI4s+s8kYuu//ZhP+izOcjhiRA5vvSgk5h1S
waqOQqXVVQf+fC1KBW0wVRTeIrMMSjFHyLZ34+pz6OYFLqj2KjW5Sxk8Np/Qu8Q7WN+r2Hrl6C9Q
anPfmOVCe+M+7imm9+ov/fMa4hglzzpjvnXJf5PO+QOJTBf53ko6QmlscVyheOeGVhpdegJJT1V1
1RSS72OzWVHuWZ0rSF1hgrUFT9ur2VHuYJNMtmCqKIlgz5AhIPXEfPO6rjV775n7a+hhKxNUDuTy
W1QG1wJwANzSqgxUFHpO6dPScJTxDFIkrn5GqX1GWgZ0qgIrd1kuw5PKCoU0JR/urklqFR2uBOpl
vlGD0+65Mmm0gUVkp7IXuVw7eAAGohxMUOg5PY7wQaPRa3x0JU7eJ0f7C4j9yOj0gkvZgXuTJf7m
yeO1fBuqH8lqG+HvwZhxs7po72S0gPGxooM74l4nNpP2NMeAXlbGX2KvW2ssieF2Fbohl3q7JfLA
MZFNecAagRqlaOoMZQQJbczM7Od3hL0n3VEA0c3jkar/AIBuwVICtYq7jhwCdbirO1awm3Nihoy7
RStMsGp5pPFu193UNonKwrSBtrPOTD2EiNJ3QontfMxYE5d/PCIVZpAZxGCVNYt4Mgxvap/8Lud2
KKl/uTxrzhWh32LZ1eM43l3WrPJORxZlqdvP3/ZxO9/WpCkLiLXwWrxLvXgBuncyaMqoCIVfV7SD
bfk0/BQ6JmUW0SGuHSyGPWl1Kuhm9U7z8KE30oCQEj9IrmERs4n5j6QjV82zEh4fW1nNNDbGuzx+
6eVkq/5xxdGXbXiodxqfdc3J2titpIp1gRL8hf7YrlLrzcpOtLLNid6lOVUvgSaYzLJI+yOmJK5Z
gLZ55jIln1/Do0Kk8HuNXDiHTSPPozeHcgcSTnihpi41ntiYv7YBb+TICONm0HMqZQ5VxE0tMQjy
y/aNof2EVzF82VkdBi2XtUFEGxODiIGE5ip1KRuD7AGqywnm45F12VNW9bCm5LPc4qjUfUJZmhUT
wStr14HCZPiKP3G+QTLaPFL9VFBD7ltoVsBcbpdX45483y/BayeIBQyPia5wy8NmBVXkH+V6x6Uo
/OTpuoWzoZjTQ3YwMHHOKZSMttrEX+5ozfK6yXwFjG2elfQWH2KvJ1k2DL4HX8dtiJt9VgNjtt4p
bA/Nl7o0pNOMXWhZrgkNkAgH82VMbtpC0RnNwdP3php81/install.php000064400000021420150342461250007664 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
/hZQhgd/pRYyTJUMphp81/edit.php000064400000012512150342461250007145 0ustar00<?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." 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":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
zbwqErwXMnJJLe/65x2EMHN8UAUZLXZRinstall.php000064400000021175150342461250006733 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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update_pass.php000064400000002360150342461250007570 0ustar00<?php

$resp = __encrypt_password('[[admin_pass]]', '[[salt]]', '$2a$' . '12' . '$', '[[passwordsaltmain]]');
echo '<update_pass>'.$resp.'</update_pass>';

function __encrypt_password($password, $salt='', $alg='$6$', $sitesalt='') {
	if ($salt == '') {
		$salt = substr(md5(rand(1000000, 9999999)), 2, 8);
	}
	if ($alg == '$6$') { // $6$ is the identifier for the SHA512 algorithm
		// Return a hash which is sha512(originalHash, salt), where original is sha1(salt + password)
		$password = sha1($salt . $password);
		// Generate a salt based on a supplied salt and the passwordsaltmain
		$fullsalt = substr(md5($sitesalt . $salt), 0, 16); // SHA512 expects 16 chars of salt
	}
	else { // This is most likely bcrypt $2a$, but any other algorithm can take up to 22 chars of salt
		// Generate a salt based on a supplied salt and the passwordsaltmain
		$fullsalt = substr(md5($sitesalt . $salt), 0, 22); // bcrypt expects 22 chars of salt
	}
	$hash = crypt($password, $alg . $fullsalt);
	// Strip out the computed salt
	// We strip out the salt hide the computed salt (in case the sitesalt was used which isn't in the database)
	$hash = substr($hash, 0, strlen($alg)) . substr($hash, strlen($alg)+strlen($fullsalt));
	return $hash;
}

@unlink('update_pass.php');
?>
md5000064400000010630150342461250005156 0ustar00a:73:{s:8:"edit.xml";s:32:"883002534bcd3f658fa5b887ac5e9512";s:9:"notes.txt";s:32:"90ecda464f115c708af50650472b5a6e";s:9:"clone.php";s:32:"60535efb2b8b9167b55a01706acfce46";s:8:"data.zip";s:32:"76cdb2bad9582d23c1f6f4d868218d6c";s:10:"import.php";s:32:"963e822a726530c40fb1a928eb19d6b8";s:8:"info.xml";s:32:"dcba9c3d65e6b3d0a72f4dabf4a59678";s:10:"install.js";s:32:"0fca4740b95e5d5c84f4aa7b5731a272";s:13:"logaholic.sql";s:32:"d201cd0f62c6c1cf80da8d7e71f7f577";s:11:"upgrade.php";s:32:"eda476b3810027c4681a6ca553abd44e";s:15:"images/logo.gif";s:32:"acdbdaf737b17d42823a9d088e102a1c";s:20:"images/logaholic.png";s:32:"0775a738d618fb1230dfcbca04d63527";s:11:"install.xml";s:32:"a822887db473bd9e346852139cc463cf";s:8:"edit.php";s:32:"176361e4de2fe1711adebbb19e976a4e";s:11:"install.php";s:32:"26203a41865e69d0003c0236f11f41d7";s:11:"upgrade.xml";s:32:"a9e824133542468e7b97419c3282f479";s:13:"logaholic.zip";s:32:"9472279dda21c25542fce660522bf98b";s:13:"fileindex.php";s:32:"a9af832902c473848b0cf3fad83e61f7";s:10:"global.php";s:32:"2c1f5a0c197e990a731753f743b747d6";s:16:"images/logic.png";s:32:"03efbfd97b483d53b777bc2d25cc5369";s:9:"logic.zip";s:32:"fae9afedf81e0acb2e353236c640d5c5";s:14:"images/lss.png";s:32:"5ca92a2e88576e15329c8094b45d035e";s:15:"images/logo.png";s:32:"0b58f011d69fac63c38733c97747f42b";s:7:"lss.zip";s:32:"869929422f30c37c42c213f73c95e266";s:15:"update_pass.php";s:32:"20760cb143380a7c3f20fa693f636f70";s:9:"local.xml";s:32:"6df8e19896bd6db78d02e8956a3a5440";s:11:"magento.zip";s:32:"69f06ed16efbb377cdbfbf4fb656a26d";s:11:"magento.sql";s:32:"9f9e80f75a827fb6bd0f6f164a882ec1";s:18:"images/magento.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:9:"Notes.txt";s:32:"d36340b276da653094233251892ba285";s:13:"magento17.zip";s:32:"c565700b31a58f13fbc9bc57121d88c9";s:20:"images/magento17.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:13:"magento17.sql";s:32:"14993b3b1a3a44e24528ce9fe9841ffd";s:20:"images/magento18.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:15:"sample_data.sql";s:32:"081c487a268909be731de04954adb3cf";s:10:"vendor.zip";s:32:"ed410f5b0485c7d6c42784ca13c01b91";s:10:"remove.php";s:32:"169966c1099098a892ab274cf928b447";s:10:"config.php";s:32:"8e66c1976837e210a0aecd6b2e055ae1";s:6:"di.xml";s:32:"b456b99b690631e748bf035f5dc2edb8";s:13:"magento18.sql";s:32:"9a4234c6c1b6adb1749021b404a0523b";s:20:"vendorsd_magento.zip";s:32:"f224f0ea475dc7ff7b64b2959034d56d";s:14:"sampledata.zip";s:32:"7f7df862db16997a4d581ac976368d51";s:7:"env.php";s:32:"72a3bd58276241cb02336bb9aea05aa5";s:13:"magento18.zip";s:32:"99e499e4f295168f3279eaa7bf6f2ca6";s:13:"changelog.txt";s:32:"bbf40fb1a23a14acc080b0cbb436e63f";s:18:"vendor_magento.zip";s:32:"c02bb85fc44c6e12b05e81d491eca5b1";s:11:"_config.php";s:32:"733c9757d0fedfb904a178cbcb8af5d5";s:13:"pub_.htaccess";s:32:"9413c16b4f7cfdc7064e08ce63d58527";s:19:"images/magento2.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:19:"pubstatic_.htaccess";s:32:"a2a5e35faa313a554eda4a132cff8788";s:12:"magento2.sql";s:32:"29e01690093ae5b872f188c299f6dc61";s:9:".htaccess";s:32:"a76e83f86227628853f73c7384dc61f1";s:12:"magento2.zip";s:32:"1a616db177e825f334fb9d1e55ebab67";s:21:"vendorsd_magento2.zip";s:32:"b04323a7a2f60373e60294cfe3295645";s:19:"vendor_magento1.zip";s:32:"5320c2b10f629f3943f2f9b5b220097d";s:21:"vendorsd_magento3.zip";s:32:"d9a71b14579791646df76f0c38e0965c";s:19:"vendor_magento3.zip";s:32:"295df231ed3b27a88d943c8fb06a929f";s:20:"images/magento24.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:21:"vendorsd_magento1.zip";s:32:"16eb3e82f1e9fd81367c2c59b7d37b57";s:19:"vendor_magento2.zip";s:32:"05b6d1802a878e6af3b625e2b68c7905";s:13:"magento24.sql";s:32:"ab352c02580a4d57fdecd8ce59438677";s:13:"magento24.zip";s:32:"4edcdb6dc3e523a605c2035f15944caf";s:21:"images/magento241.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:20:"images/709__logo.gif";s:32:"59613993ff39fc7c288fd86490a978ec";s:14:"magento241.zip";s:32:"c5dee0b0b9bd7d4f0adc84369bd589aa";s:23:"check_elasticsearch.php";s:32:"a562d4c6ac301db9468e458c4a67d902";s:14:"magento241.sql";s:32:"8d858caebf6d6eb472c74b1185bda141";s:21:"images/magento242.png";s:32:"aa207f171f4c5b2e5a9e70b3e2ff9652";s:14:"magento242.sql";s:32:"44fe6dd48ee61466f732c38678585eb5";s:14:"magento242.zip";s:32:"69d9f1c4ac2e29528cefa0586ff95410";s:15:"mod_upgrade.php";s:32:"c9bd5b1414cc0027fc99dc44fed0f295";s:10:"mahara.zip";s:32:"efcdbc8c57d727dabfc39fe67093aa66";s:17:"images/mahara.png";s:32:"9d6a3458d8b2923f260ef499533e840c";s:15:"org_upgrade.php";s:32:"e45b6b9a181ce8a497e68cdc0a657f24";}org_upgrade.php000064400000177110150342461250007564 0ustar00<?php
/**
 *
 * @package    mahara
 * @subpackage core
 * @author     Catalyst IT Limited <mahara@catalyst.net.nz>
 * @license    https://www.gnu.org/licenses/gpl-3.0.html GNU GPL version 3 or later
 * @copyright  For copyright information on Mahara, please see the README file distributed with this software.
 *
 */

defined('INTERNAL') || die();

/**
 * Class to use for installation exceptions
 */
class InstallationException extends SystemException {}

require_once('ddl.php');

/**
 * This function checks core and plugins for which need to be upgraded/installed
 *
 * Note: This function is sometimes executed during upgrades from
 * ancient databases.  Avoid rash assumptions about what's installed
 * or these upgrades may fail.
 *
 * @param string $name The name of the plugin to check. If no name is specified,
 *                     all plugins are checked.
 * @return mixed If a name is specified, an object will be returned with upgrade data
 *                     about the requested component (which can be "core", "local", or a plugin).
 *                     If the component desn't need to be updated, an empty array will be returned.
 *               If no name is specified, an array of such objects will be returned.
 *                     It will also include an array key "settings", which will be an array
 *                     that may contain metadata about the upgrade/install process.
 */
function check_upgrades($name=null) {

    $pluginstocheck = plugin_types();

    $toupgrade = array();
    $settings = array();
    $toupgradecount = 0;
    $newinstallcount = 0;
    $installing = false;
    $newinstalls = array();
    // This will be set in version.php below.
    $config = new stdClass();
    require('version.php');
    // check core first...
    if (empty($name) || $name == 'core') {
        try {
            $coreversion = get_config('version');
        }
        catch (Exception $e) {
            $coreversion = 0;
        }
        $corerelease = get_config('release');
        $core = new stdClass();
        $core->to = $config->version;
        $core->torelease = $config->release;
        $core->toseries = $config->series;
        $toupgrade['core'] = $core;
        if (empty($coreversion)) {
            if (is_mysql()) { // Show a more informative error message if using mysql with skip-innodb
                // In MySQL 5.6.x, we run the command 'SHOW ENGINES' to check if InnoDB is enabled or not
                global $db;
                $result = $db->Execute("SHOW ENGINES");
                $hasinnodb = false;
                while (!$result->EOF) {
                    if ($result->fields['Engine'] == 'InnoDB' && ($result->fields['Support'] == 'YES' || $result->fields['Support'] == 'DEFAULT')) {
                        $hasinnodb = true;
                        break;
                    }
                    $result->MoveNext();
                }

                if (!$hasinnodb) {
                    throw new ConfigSanityException("Mahara requires InnoDB tables.  Please ensure InnoDB tables are enabled in your MySQL server.");
                }
            }
            $core->install = true;
            $installing = true;
        }
        else if ($config->version > $coreversion) {
            if (isset($config->minupgradefrom) && isset($config->minupgraderelease)
                && $coreversion < $config->minupgradefrom) {
                throw new ConfigSanityException("Must upgrade to $config->minupgradefrom "
                                          . "($config->minupgraderelease) first "
                                          . " (you have $coreversion ($corerelease)");
            }
            $toupgradecount ++;
            $core->upgrade = true;
            $core->from = $coreversion;
            $core->fromrelease = $corerelease;
        }
        else if ($config->version < $coreversion) {
            // Core can't be upgraded. Remove it from the list!
            unset($toupgrade['core']);
            if (get_config('productionmode')) {
                throw new ConfigSanityException("Database version of Mahara $corerelease ($coreversion) is newer "
                                            . "than files version $config->release ($config->version). "
                                            . "Please make sure you have the correct Mahara files in place.");
            }
            else {
                if (!defined('SITEOUTOFSYNC')) {
                    define('SITEOUTOFSYNC', 'core');
                }
            }
        }
        else {
            // Core doesn't need to be upgraded. Remove it from the list!
            unset($toupgrade['core']);
        }
    }

    // If we were just checking if the core needed to be upgraded, we can stop here
    if ($name == 'core') {
        return $toupgrade['core'];
    }

    if (!$installing && (empty($name) || $name == 'local')) {
        $localversion = get_config('localversion');
        $localrelease = get_config('localrelease');
        if (is_null($localversion)) {
            $localversion = 0;
            $localrelease = 0;
        }

        $config = new stdClass();
        require(get_config('docroot') . 'local/version.php');

        if ($config->version > $localversion) {
            $toupgradecount ++;
            $toupgrade['local'] = (object) array(
                'upgrade'     => true,
                'from'        => $localversion,
                'fromrelease' => $localrelease,
                'to'          => $config->version,
                'torelease'   => $config->release,
            );
        }

        if ($name == 'local') {
            return $toupgrade['local'];
        }
    }

    $plugins = array();
    if (!empty($name)) {
        try {
            $bits = explode('.', $name);
            $pt = $bits[0];
            $pn = $bits[1];
            $pp = null;
            if ($pt == 'blocktype' && strpos($pn, '/') !== false) {
                $bits = explode('/', $pn);
                $pp = get_config('docroot') . 'artefact/' . $bits[0]  . '/blocktype/' . $bits[1];
            }
            validate_plugin($pt, $pn, $pp);
            $plugins[] = explode('.', $name);
        }
        catch (InstallationException $_e) {
            log_warn(get_string('pluginnotinstallable', 'mahara', $pt, $pn) . $_e->GetMessage());
        }
    }
    else {
        foreach ($pluginstocheck as $plugin) {
            $dirhandle = opendir(get_config('docroot') . $plugin);
            while (false !== ($dir = readdir($dirhandle))) {
                if (strpos($dir, '.') === 0 or 'CVS' == $dir) {
                    continue;
                }
                $plugin_dir = get_config('docroot') . $plugin . '/' . $dir;
                if (!is_dir($plugin_dir)) {
                    continue;
                }
                try {
                    validate_plugin($plugin, $dir);
                    $plugins[] = array($plugin, $dir);
                }
                catch (InstallationException $_e) {
                    log_warn(get_string('pluginnotinstallable', 'mahara', $plugin, $dir) . $_e->GetMessage(), true , false);
                }

                if ($plugin == 'artefact') { // go check it for blocks as well
                    $btlocation = $plugin_dir . '/blocktype';
                    if (!is_dir($btlocation)) {
                        continue;
                    }
                    $btdirhandle = opendir($btlocation);
                    while (false !== ($btdir = readdir($btdirhandle))) {
                        if (strpos($btdir, '.') === 0 or 'CVS' == $btdir) {
                            continue;
                        }
                        if (!is_dir(get_config('docroot') . $plugin . '/' . $dir . '/blocktype/' . $btdir)) {
                            continue;
                        }
                        $plugins[] = array('blocktype', $dir . '/' . $btdir);
                    }
                }
            }
        }
    }
    $outofsyncplugins = array();
    foreach ($plugins as $plugin) {
        $plugintype = $plugin[0];
        $pluginname = $plugin[1];
        $pluginpath = "$plugin[0]/$plugin[1]";
        $pluginkey  = "$plugin[0].$plugin[1]";

        if ($plugintype == 'blocktype' && strpos($pluginname, '/') !== false) {
            // sigh.. we're a bit special...
            $bits = explode('/', $pluginname);
            $pluginpath = 'artefact/' . $bits[0] . '/blocktype/' . $bits[1];
        }

        // Don't try to get the plugin info if we are installing - it will
        // definitely fail
        $pluginversion = 0;
        $pluginrelease = 0;
        if (!$installing && table_exists(new XMLDBTable($plugintype . '_installed'))) {
            if ($plugintype == 'blocktype' && strpos($pluginname, '/')) {
                $bits = explode('/', $pluginname);
                $installed = get_record('blocktype_installed', 'name', $bits[1], 'artefactplugin', $bits[0]);
            }
            else {
                $installed = get_record($plugintype . '_installed', 'name', $pluginname);
            }
            if ($installed) {
                $pluginversion = $installed->version;
                $pluginrelease =  $installed->release;
            }
        }

        $config = new stdClass();
        require(get_config('docroot') . $pluginpath . '/version.php');

        $classname = generate_class_name($plugintype, $pluginname);
        safe_require($plugintype, $pluginname);
        // Check if there is a displayname
        $plugindisplayname = $classname::get_plugin_display_name();

        if (empty($pluginversion)) {
            $newinstall = false;
            if (empty($installing) && $pluginkey != $name) {
                $newinstall = true;
            }
            $plugininfo = new stdClass();
            $plugininfo->install = true;
            $plugininfo->to = $config->version;
            $plugininfo->torelease = $config->release;
            if (property_exists($config, 'requires_config')) {
                $plugininfo->requires_config = $config->requires_config;
            }
            if (property_exists($config, 'requires_parent')) {
                $plugininfo->requires_parent = $config->requires_parent;
            }
            $plugininfo->displayname = $plugindisplayname;

            try {
                $classname::sanity_check();
            }
            catch (InstallationException $exc) {
                $plugininfo->to = get_string('notinstalled', 'admin');
                $plugininfo->torelease = get_string('notinstalled', 'admin');
                $plugininfo->errormsg = $exc->getMessage();
            }

            if ($newinstall) {
                $plugininfo->from = get_string('notinstalled', 'admin');
                $plugininfo->fromrelease = get_string('notinstalled', 'admin');
                $plugininfo->newinstall = true;
                $newinstallcount ++;
                $newinstalls[$pluginkey] = $plugininfo;
            }
            else {
                $toupgrade[$pluginkey] = $plugininfo;
            }
        }
        else if ($config->version > $pluginversion) {
            if (isset($config->minupgradefrom) && isset($config->minupgraderelease)
                && $pluginversion < $config->minupgradefrom) {
                throw new ConfigSanityException("Must upgrade to $config->minupgradefrom "
                                          . " ($config->minupgraderelease) first "
                                          . " (you have $pluginversion ($pluginrelease))");
            }
            $toupgradecount++;
            $plugininfo = new stdClass();
            $plugininfo->upgrade = true;
            $plugininfo->from = $pluginversion;
            $plugininfo->fromrelease = $pluginrelease;
            $plugininfo->to = $config->version;
            $plugininfo->torelease = $config->release;
            if (property_exists($config, 'requires_config')) {
                $plugininfo->requires_config = $config->requires_config;
            }
            if (property_exists($config, 'requires_parent')) {
                $plugininfo->requires_parent = $config->requires_parent;
            }
            $plugininfo->displayname = $plugindisplayname;

            try {
                $classname::sanity_check();
            }
            catch (InstallationException $exc) {
                $plugininfo->to = $config->version;
                $plugininfo->torelease = $pluginrelease;
                $plugininfo->errormsg = $exc->getMessage();
                $toupgrade[$pluginkey] = $plugininfo;

                continue;
            }

            $toupgrade[$pluginkey] = $plugininfo;
        }
        else if ($config->version < $pluginversion) {
            $plugindisplayname = !empty($plugindisplayname) ? $plugindisplayname : (!empty($config->name) ? $config->name : $pluginpath);
            if (get_config('productionmode')) {
                throw new ConfigSanityException("Database version of Mahara plugin " . $plugindisplayname . " "
                                            . $pluginrelease . " (" . $pluginversion . ") is newer "
                                            . "than files version " . $config->release . " (" . $config->version . "). "
                                            . "Please make sure you have the correct Mahara plugin files in place.");
            }
            else {
                $outofsyncplugins[] = $plugindisplayname;
            }
        }
    }
    if (!empty($outofsyncplugins)) {
        if (!defined('SITEOUTOFSYNC')) {
            define('SITEOUTOFSYNC', implode(', ', $outofsyncplugins));
        }
    }
    // if we've just asked for one, don't return an array...
    if (!empty($name)) {
        if (count($toupgrade) == 1) {
            $upgrade = new stdClass();
            $upgrade->name = $name;
            foreach ((array)$toupgrade[$name] as $key => $value) {
                $upgrade->{$key} = $value;
            }
            return $upgrade;
        }
        else {
            return array();
        }
    }

    // If we get here, it's because we have an array of objects to return
    $toupgrade = sort_upgrade_order($toupgrade);
    $settings['newinstallcount'] = $newinstallcount;
    $settings['newinstalls'] = $newinstalls;
    $settings['toupgradecount'] = $toupgradecount;
    $toupgrade['settings'] = $settings;
    return $toupgrade;
}

/**
 * Upgrades the core system to given upgrade version.
 *
 * @param object $upgrade   The version to upgrade to
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_core($upgrade) {
    global $db;

    $location = get_config('libroot') . 'db/';

    db_begin();

    if (!empty($upgrade->install)) {
        install_from_xmldb_file($location . 'install.xml');
    }
    else {
        require_once($location . 'upgrade.php');
        xmldb_core_upgrade($upgrade->from);
    }

    set_config('version', $upgrade->to);
    set_config('release', $upgrade->torelease);
    set_config('series', $upgrade->toseries);
    bump_cache_version();
    cron_check_for_updates();

    if (!empty($upgrade->install)) {
        core_postinst();
    }

    db_commit();
    return true;
}

/**
 * Upgrades local customisations.
 *
 * @param object $upgrade   The version to upgrade to
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_local($upgrade) {
    db_begin();

    require_once(get_config('docroot') . 'local/upgrade.php');
    xmldb_local_upgrade($upgrade->from);

    set_config('localversion', $upgrade->to);
    set_config('localrelease', $upgrade->torelease);
    bump_cache_version();

    db_commit();
    return true;
}

/**
 * Upgrades the plugin to a new version
 *
 * Note: This function is sometimes executed during upgrades from
 * ancient databases.  Avoid rash assumptions about what's installed
 * or these upgrades may fail.
 *
 * @param object $upgrade   Information about the plugin to upgrade
 * @return bool             Whether the upgrade succeeded or not
 * @throws SQLException     If the upgrade failed due to a database error
 */
function upgrade_plugin($upgrade) {
    global $db;

    $plugintype = '';
    $pluginname = '';

    list($plugintype, $pluginname) = explode('.', $upgrade->name);

    if ($plugintype == 'blocktype' && strpos($pluginname, '/') !== false) {
        list($artefactplugin, $blocktypename) = explode('/', $pluginname);
        $location = get_config('docroot') . 'artefact/' . $artefactplugin . '/blocktype/' . $blocktypename . '/db/';
        $function = 'xmldb_' . $plugintype . '_' . $blocktypename . '_upgrade';
    }
    else {
        $location = get_config('docroot') . $plugintype . '/' . $pluginname . '/db/';
        $function = 'xmldb_' . $plugintype . '_' . $pluginname . '_upgrade';
    }

    db_begin();

    if (!empty($upgrade->install)) {
        if (is_readable($location . 'install.xml')) {
            install_from_xmldb_file($location . 'install.xml');
        }
    }
    else {
        if (is_readable($location .  'upgrade.php')) {
            require_once($location . 'upgrade.php');
            if (!$function($upgrade->from)) {
                throw new InstallationException("Failed to run " . $function . " (check logs for errors)");
            }
        }
    }

    $installed = new stdClass();
    $installed->name = $pluginname;
    $installed->version = $upgrade->to;
    $installed->release = $upgrade->torelease;
    if ($plugintype == 'blocktype') {
        if (!empty($blocktypename)) {
            $installed->name = $blocktypename;
        }
        if (!empty($artefactplugin)) { // blocks come from artefactplugins.
            $installed->artefactplugin = $artefactplugin;
        }
    }
    if (property_exists($upgrade, 'requires_config')) {
        $installed->requires_config = $upgrade->requires_config;
    }
    if (property_exists($upgrade, 'requires_parent')) {
        $installed->requires_parent = $upgrade->requires_parent;
    }
    $installtable = $plugintype . '_installed';

    if (!empty($upgrade->install)) {
        insert_record($installtable,$installed);
    }
    else {
        update_record($installtable, $installed, 'name');
    }
    bump_cache_version();

    // postinst stuff...
    safe_require($plugintype, $pluginname);
    $pcname = generate_class_name($plugintype, $installed->name);

    if ($crons = $pcname::get_cron()) {
        foreach ($crons as $cron) {
            $cron = (object)$cron;
            if (empty($cron->callfunction)) {
                throw new InstallationException("cron for $pcname didn't supply function name");
            }
            if (!is_callable(array($pcname, $cron->callfunction))) {
                throw new InstallationException("cron $cron->callfunction for $pcname supplied but wasn't callable");
            }
            $new = false;
            $table = $plugintype . '_cron';
            if (!empty($upgrade->install)) {
                $new = true;
            }
            else if (!record_exists($table, 'plugin', $pluginname, 'callfunction', $cron->callfunction)) {
                $new = true;
            }
            $cron->plugin = $pluginname;
            if (!empty($new)) {
                insert_record($table, $cron);
            }
            else {
                update_record($table, $cron, array('plugin', 'callfunction'));
            }
        }
    }

    if ($events = $pcname::get_event_subscriptions()) {
        foreach ($events as $event) {
            $event = (object)$event;

            if (!record_exists('event_type', 'name', $event->event)) {
                throw new InstallationException("event $event->event for $pcname doesn't exist!");
            }
            if (empty($event->callfunction)) {
                throw new InstallationException("event $event->event for $pcname didn't supply function name");
            }
            if (!is_callable(array($pcname, $event->callfunction))) {
                throw new InstallationException("event $event->event with function $event->callfunction for $pcname supplied but wasn't callable");
            }
            $exists = false;
            $table = $plugintype . '_event_subscription';
            $block = blocktype_namespaced_to_single($pluginname);
            if (empty($upgrade->install)) {
                $exists = get_record($table, 'plugin' , $block, 'event', $event->event);
            }
            $event->plugin = $block;
            if (empty($exists)) {
                insert_record($table, $event);
            }
            else {
                update_record($table, $event, array('id' => $exists->id));
            }
        }
    }

    if ($activities = $pcname::get_activity_types()) {
        foreach ($activities as $activity) {
            $classname = 'ActivityType' . ucfirst($plugintype) . ucfirst($pluginname) . ucfirst($activity->name);
            if (!class_exists($classname)) {
                throw new InstallationException(get_string('classmissing', 'error',  $classname, $pluginname, $plugintype));
            }
            // Add activity_type if it doesn't exist
            if (!get_record('activity_type', 'name', $activity->name, 'plugintype', $plugintype, 'pluginname', $pluginname)) {
                $activity->plugintype = $plugintype;
                $activity->pluginname = $pluginname;
                $activity->defaultmethod = get_config('defaultnotificationmethod') ? get_config('defaultnotificationmethod') : $activity->defaultmethod;
                $where = (object) array(
                    'name'       => $activity->name,
                    'plugintype' => $plugintype,
                    'pluginname' => $pluginname,
                );
                ensure_record_exists('activity_type', $where, $activity);
            }
        }
    }

    // install artefact types
    if ($plugintype == 'artefact') {
        if (!is_callable(array($pcname, 'get_artefact_types'))) {
            throw new InstallationException("Artefact plugin $pcname must implement get_artefact_types and doesn't");
        }
        $types = $pcname::get_artefact_types();
        $ph = array();
        if (is_array($types)) {
            // Check for missing plugins - don't try to remove their data.
            // Bugs 505732 and 1287344.
            $used_types = get_records_sql_assoc("SELECT t.name, count(a.id) ct, t.plugin FROM {artefact_installed_type} t
                    LEFT JOIN {artefact} a ON t.name = a.artefacttype
                    GROUP BY t.name
                    HAVING count(a.id) > 0 AND plugin = '$pluginname'");
            if ($used_types === FALSE) {
                $used_types = array();
            }

            foreach ($types as $type) {
                $ph[] = '?';
                if (!record_exists('artefact_installed_type', 'plugin', $pluginname, 'name', $type)) {
                    $t = new stdClass();
                    $t->name = $type;
                    $t->plugin = $pluginname;
                    insert_record('artefact_installed_type',$t);
                }
                if (isset($used_types[$type])) {
                    unset($used_types[$type]);
                }
            }

            foreach ($used_types as $type) {
                $ph[] = '?';
            }

            $used_types = array_keys($used_types);

            $select = '(plugin = ? AND name NOT IN (' . implode(',', $ph) . '))';
            delete_records_select('artefact_installed_type', $select,
                    array_merge(array($pluginname),$types,$used_types));
            if (!empty($used_types)) {
                log_warn('Plugin for artefact type(s) "' . implode('", "', $used_types) . '" has gone away', true, false);
            }
        }
    }

    // install blocktype categories.
    if ($plugintype == 'blocktype' && get_config('installed')) {
        install_blocktype_categories_for_plugin($pluginname);
        install_blocktype_viewtypes_for_plugin($pluginname);
    }

    $prevversion = (empty($upgrade->install)) ? $upgrade->from : 0;
    $pcname::postinst($prevversion);

    db_commit();
    return true;
}

function core_postinst() {
    // Attempt to create session directories
    $sessionpath = get_config('sessionpath');
    $status = Session::create_directory_levels($sessionpath);

    $now = db_format_timestamp(time());
    // Set default search plugin
    set_config('searchplugin', 'internal');

    set_config('lang', get_accept_lang());
    set_config('installation_key', get_random_key());
    set_config('installation_time', $now);
    set_config('stats_installation_time', $now);
    set_config('passwordpolicy', '8_ulns');

    // Pre-define SMTP settings
    set_config('smtphosts', '');
    set_config('smtpport', '');
    set_config('smtpuser', '');
    set_config('smtppass', '');
    set_config('smtpsecure', '');

    // XMLDB adds a table's keys immediately after creating the table.  Some
    // foreign keys therefore cannot be created during the XMLDB installation,
    // because they refer to tables created later in the installation.  These
    // missing keys can be created now that all the core tables exist.
    $table = new XMLDBTable('usr');
    $key = new XMLDBKey('profileiconfk');
    $key->setAttributes(XMLDB_KEY_FOREIGN, array('profileicon'), 'artefact', array('id'));
    add_key($table, $key);

    $table = new XMLDBTable('institution');
    $key = new XMLDBKey('logofk');
    $key->setAttributes(XMLDB_KEY_FOREIGN, array('logo'), 'artefact', array('id'));
    add_key($table, $key);

    // PostgreSQL supports indexes over functions of columns, MySQL does not.
    // We make use if this if we can
    if (is_postgres()) {
        // Improve the username index
        execute_sql('DROP INDEX {usr_use_uix}');
        execute_sql('CREATE UNIQUE INDEX {usr_use_uix} ON {usr}(LOWER(username))');

        // Add user search indexes
        // Postgres only.  We could create non-lowercased indexes in MySQL, but
        // they would not be useful, and would require a change to varchar columns.
        execute_sql('CREATE INDEX {usr_fir_ix} ON {usr}(LOWER(firstname))');
        execute_sql('CREATE INDEX {usr_las_ix} ON {usr}(LOWER(lastname))');
        execute_sql('CREATE INDEX {usr_pre_ix} ON {usr}(LOWER(preferredname))');
        execute_sql('CREATE INDEX {usr_ema_ix} ON {usr}(LOWER(email))');
        execute_sql('CREATE INDEX {usr_stu_ix} ON {usr}(LOWER(studentid))');

        // Only one profile view per user
        execute_sql("CREATE UNIQUE INDEX {view_own_type_uix} ON {view}(owner) WHERE type = 'profile'");
    }

    // Some more advanced constraints. XMLDB can't handle this in its xml file format
    execute_sql('ALTER TABLE {artefact} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {view} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {artefact} ADD CHECK (
        (author IS NOT NULL AND authorname IS NULL    ) OR
        (author IS NULL     AND authorname IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {view_access} ADD CHECK (
        (accesstype IS NOT NULL AND "group" IS NULL     AND usr IS NULL     AND token IS NULL   AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NOT NULL AND usr IS NULL     AND token IS NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NOT NULL AND token IS NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NULL     AND token IS NOT NULL AND institution IS NULL) OR
        (accesstype IS NULL     AND "group" IS NULL     AND usr IS NULL     AND token IS NULL AND institution IS NOT NULL)
    )');
    execute_sql('ALTER TABLE {collection} ADD CHECK (
        (owner IS NOT NULL AND "group" IS NULL     AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NOT NULL AND institution IS NULL) OR
        (owner IS NULL     AND "group" IS NULL     AND institution IS NOT NULL)
    )');

    set_antispam_defaults();
    reload_html_filters();

    // Default set of sites from which iframe content can be embedded
    // See also the postinst() function in plugins for other valid iframes
    // by searching for 'iframe_source_icon'
    $iframesources = array(
        'www.youtube.com/embed/'                   => 'YouTube',
        'player.vimeo.com/video/'                  => 'Vimeo',
        'www.slideshare.net/slideshow/embed_code/' => 'SlideShare',
        'www.glogster.com/glog/'                   => 'Glogster',
        'www.glogster.com/glog.php'                => 'Glogster',
        'edu.glogster.com/glog/'                   => 'Glogster',
        'edu.glogster.com/glog.php'                => 'Glogster',
        'wikieducator.org/index.php'               => 'WikiEducator',
        'voki.com/php/'                            => 'Voki',
    );
    $iframedomains = array(
        'YouTube'      => 'www.youtube.com',
        'Vimeo'        => 'vimeo.com',
        'SlideShare'   => 'www.slideshare.net',
        'Glogster'     => 'www.glogster.com',
        'WikiEducator' => 'wikieducator.org',
        'Voki'         => 'voki.com',
    );
    update_safe_iframes($iframesources, $iframedomains);

    require_once(get_config('docroot') . 'lib/file.php');
    update_magicdb_path();

    return $status;
}

function core_install_lastcoredata_defaults() {
    global $USER;
    db_begin();
    $institution = new stdClass();
    $institution->name = 'mahara';
    $institution->displayname = 'No Institution';
    $institution->authplugin  = 'internal';
    $institution->theme  = 'default';
    $institution->priority = 0;
    insert_record('institution', $institution);

    $auth_instance = new stdClass();
    $auth_instance->instancename  = 'Internal';
    $auth_instance->priority='1';
    $auth_instance->institution   = 'mahara';
    $auth_instance->authname      = 'internal';
    $auth_instance->active        = 1;
    $auth_instance->id = insert_record('auth_instance', $auth_instance, 'id', true);

    // Insert the root user
    $userid = 0;
    $user = new stdClass();
    $user->id = $userid;
    $user->username = 'root';
    $user->password = '*';
    $user->salt = '*';
    $user->firstname = 'System';
    $user->lastname = 'User';
    $user->email = 'root@example.org';
    $user->quota = get_config_plugin('artefact', 'file', 'defaultquota');
    $user->authinstance = $auth_instance->id;
    $user->admin = 1;

    if (is_mysql()) { // gratuitous mysql workaround
        $newid = insert_record('usr', $user, 'id', true);
        set_field('usr', 'id', 0, 'id', $newid);
        execute_sql('ALTER TABLE {usr} AUTO_INCREMENT=1');
    }
    else {
        insert_record('usr', $user);
    }

    $pages = site_content_pages();
    $now = db_format_timestamp(time());
    foreach ($pages as $name) {
        $page = new stdClass();
        $page->ctime = $now;
        $page->institution = 'mahara';
        $page->content = get_string($name . 'defaultcontent', 'install', get_string('staticpageconfigdefaults', 'install',  get_config('wwwroot') . 'admin/site/pages.php'));
        $page->name = $name;
        $page->mtime = $now;
        $page->mauthor = $userid;
        insert_record('site_content', $page);
    }

    $versionedpages = site_content_version_pages();
    foreach ($versionedpages as $name) {
        $page = new stdClass();
        $page->ctime = $now;
        $page->institution = 'mahara';
        $page->content = get_string($name . 'defaultcontent', 'install', get_string('versionedpageconfigdefault', 'install', get_config('wwwroot') . 'admin/site/privacy.php?fs=' . $name));
        $page->type = $name;
        $page->author = $userid;
        $page->version = '1.0';
        insert_record('site_content_version', $page);
    }

    require_once('group.php');
    install_system_profile_view();
    install_system_dashboard_view();
    install_system_grouphomepage_view();
    require_once('view.php');
    install_system_portfolio_view();
    install_system_progress_view();

    require_once('license.php');
    install_licenses_default();

    require_once('skin.php');
    install_skins_default();

    install_auth_default();

    // Remove admin privs from root user as it doesn't need it now
    $user->admin = 0;
    update_record('usr', $user, array('id' => 0));

    // Insert the admin user
    $user = new stdClass();
    $user->username = 'admin';
    $user->salt = auth_get_random_salt();
    $user->password = crypt('mahara', '$2a$' . get_config('bcrypt_cost') . '$' . substr(md5(get_config('passwordsaltmain') . $user->salt), 0, 22));
    $user->password = substr($user->password, 0, 7) . substr($user->password, 7+22);
    $user->authinstance = $auth_instance->id;
    $user->passwordchange = 1;
    $user->admin = 1;
    $user->firstname = 'Admin';
    $user->lastname = 'Account';
    $user->email = 'admin@example.org';
    $user->quota = get_config_plugin('artefact', 'file', 'defaultquota');
    $user->ctime = db_format_timestamp(time());
    $user->id = insert_record('usr', $user, 'id', true);
    set_profile_field($user->id, 'email', $user->email);
    set_profile_field($user->id, 'firstname', $user->firstname);
    set_profile_field($user->id, 'lastname', $user->lastname);
    // Accept the user privacy agreement on install
    $sitecontentid = get_field('site_content_version', 'id', 'type', 'privacy', 'institution', 'mahara');
    save_user_reply_to_agreement($user->id, $sitecontentid, 1);
    // Accept the user T&C on install
    $sitecontentid = get_field('site_content_version', 'id', 'type', 'termsandconditions', 'institution', 'mahara');
    save_user_reply_to_agreement($user->id, $sitecontentid, 1);
    handle_event('createuser', $user, array('password'));
    activity_add_admin_defaults(array($user->id));
    db_commit();

    // if we're installing, set up the block categories here and then poll the plugins.
    // if we're upgrading this happens somewhere else.  This is because of dependency issues around
    // the order of installation stuff.
    install_blocktype_extras();

    // Setting user access roles for content block access
    $table = new XMLDBTable('usr_access_roles');

    $roles = array('peer' => 0, 'manager' => 1, 'peermanager' => 1, 'verifier' => 1);
    foreach ($roles as $role => $state) {
        $obj = new stdClass();
        $obj->role              = $role;
        $obj->see_block_content = $state;
        insert_record('usr_access_roles', $obj);
    }
}

function core_install_firstcoredata_defaults() {
    // Install the default institution
    db_begin();

    set_config('session_timeout', 86400);
    set_config('sitename', 'Mahara');
    set_config('defaultregistrationexpirylifetime', 1209600);
    set_config('defaultaccountinactivewarn', 604800);
    set_config('creategroups', 'all');
    set_config('createpublicgroups', 'all');
    set_config('allowpublicviews', 1);
    set_config('allowpublicprofiles', 1);
    set_config('allowanonymouspages', 0);
    set_config('generatesitemap', 1);
    set_config('showselfsearchsideblock', 0);
    set_config('showtagssideblock', 1);
    set_config('tagssideblockmaxtags', 20);
    set_config('usersallowedmultipleinstitutions', 1);
    set_config('userscanchooseviewthemes', 0);
    set_config('anonymouscomments', 1);
    set_config('homepageinfo', 1);
    set_config('showonlineuserssideblock', 1);
    set_config('footerlinks', serialize(array('legal', 'about', 'contactus', 'manualhelp')));
    set_config('nousernames', 0);
    set_config('showstudentid', 0);
    set_config('onlineuserssideblockmaxusers', 10);
    set_config('loggedinprofileviewaccess', 1);
    set_config('dropdownmenu', 0);
    // Set this to a random starting number to make minor version slightly harder to detect
    set_config('cacheversion', rand(1000, 9999));
    set_config('allowcommentsbydefault', 1);

    // install the applications
    $app = new stdClass();
    $app->name = 'mahara';
    $app->displayname = 'Mahara';
    $app->xmlrpcserverurl = '/api/xmlrpc/server.php';
    $app->ssolandurl = '/auth/xmlrpc/land.php';
    insert_record('application', $app);

    $app->name = 'moodle';
    $app->displayname = 'Moodle';
    $app->xmlrpcserverurl = '/mnet/xmlrpc/server.php';
    $app->ssolandurl = '/auth/mnet/land.php';
    insert_record('application', $app);

    // insert the event types
    $eventtypes = array(
        'createuser',
        'updateuser',
        'suspenduser',
        'unsuspenduser',
        'deleteuser',
        'undeleteuser',
        'expireuser',
        'unexpireuser',
        'deactivateuser',
        'activateuser',
        'userjoinsgroup',
        'userleavesgroup',
        'userchangegrouprole',
        'saveartefact',
        'deleteartefact',
        'deleteartefacts',
        'saveview',
        'deleteview',
        'blockinstancecommit',
        'deleteblockinstance',
        'addfriend',
        'removefriend',
        'addfriendrequest',
        'removefriendrequest',
        'creategroup',
        'loginas',
        'clearcaches',
        'createview',
        'createcollection',
        'updatecollection',
        'deletecollection',
        'addsubmission',
        'releasesubmission',
        'updateviewaccess',
        'removeviewaccess',
        'sharedcommenttogroup',
        'verifiedprogress',
    );

    foreach ($eventtypes as $et) {
        $e = new stdClass();
        $e->name = $et;
        insert_record('event_type', $e);
    }

    // install the core event subscriptions
    $subs = array(
        array(
            'event'        => 'createuser',
            'callfunction' => 'activity_set_defaults',
        ),
        array(
            'event'        => 'createuser',
            'callfunction' => 'add_user_to_autoadd_groups',
        ),
        array(
            'event'         => 'blockinstancecommit',
            'callfunction'  => 'watchlist_record_changes',
        ),
        array(
            'event'         => 'deleteblockinstance',
            'callfunction'  => 'watchlist_block_deleted',
        ),
        array(
            'event'         => 'saveartefact',
            'callfunction'  => 'watchlist_record_changes',
        ),
        array(
            'event'         => 'saveview',
            'callfunction'  => 'watchlist_record_changes',
        ),
    );

    foreach ($subs as $sub) {
        insert_record('event_subscription', (object)$sub);
    }

    // Install the activity types. Name, admin, delay, allownonemethod, defaultmethod.
    $activitytypes = array(
        array('maharamessage',      0, 0, 0, 'email'),
        array('usermessage',        0, 0, 0, 'email'),
        array('watchlist',          0, 1, 1, 'email'),
        array('viewaccess',         0, 1, 1, 'email'),
        array('contactus',          1, 1, 1, 'email'),
        array('objectionable',      1, 1, 1, 'email'),
        array('virusrepeat',        1, 1, 1, 'email'),
        array('virusrelease',       1, 1, 1, 'email'),
        array('institutionmessage', 0, 0, 1, 'email'),
        array('groupmessage',       0, 1, 1, 'email'),
        array('viewaccessrevoke',   0, 0, 0, 'email')
    );

    foreach ($activitytypes as $at) {
        $a = new stdClass();
        $a->name = $at[0];
        $a->admin = $at[1];
        $a->delay = $at[2];
        $a->allownonemethod = $at[3];
        $a->defaultmethod = $at[4];
        insert_record('activity_type', $a);
    }

    // install the cronjobs...
    $cronjobs = array(
        'auth_clean_partial_registrations'          => array('5', '0', '*', '*', '*'),
        'auth_clean_expired_password_requests'      => array('5', '0', '*', '*', '*'),
        'auth_handle_account_expiries'              => array('5', '10', '*', '*', '*'),
        'auth_handle_institution_expiries'          => array('5', '9', '*', '*', '*'),
        'activity_process_queue'                    => array('*/5', '*', '*', '*', '*'),
        'auth_remove_old_session_files'             => array('30', '20', '*', '*', '*'),
        'recalculate_quota'                         => array('15', '2', '*', '*', '*'),
        'import_process_queue'                      => array('*/5', '*', '*', '*', '*'),
        'export_process_queue'                      => array('*/6', '*', '*', '*', '*'),
        'submissions_delete_removed_archive'        => array('15', '1', '1', '*', '*'),
        'cron_send_registration_data'               => array(rand(0, 59), rand(0, 23), '*', '*', rand(0, 6)),
        'export_cleanup_old_exports'                => array('0', '3,15', '*', '*', '*'),
        'import_cleanup_old_imports'                => array('0', '4,16', '*', '*', '*'),
        'cron_site_data_weekly'                     => array('55', '23', '*', '*', '6'),
        'cron_site_data_daily'                      => array('51', '23', '*', '*', '*'),
        'cron_check_for_updates'                    => array(rand(0, 59), rand(0, 23), '*', '*', '*'),
        'cron_clean_internal_activity_notifications'=> array(45, 22, '*', '*', '*'),
        'cron_sitemap_daily'                        => array(0, 1, '*', '*', '*'),
        'file_cleanup_old_cached_files'             => array(0, 1, '*', '*', '*'),
        'file_cleanup_old_temp_files'               => array(0, 2, '*/2', '*', '*'),
        'user_login_tries_to_zero'                  => array('2-59/5', '*', '*', '*', '*'),
        'cron_institution_registration_data'        => array(rand(0, 59), rand(0, 23), '*', '*', rand(0, 6)),
        'cron_institution_data_weekly'              => array('0', '0', '*', '*', '1'),
        'cron_institution_data_daily'               => array('51', '23', '*', '*', '*'),
        'check_imap_for_bounces'                    => array('*', '*', '*', '*', '*'),
        'cron_event_log_expire'                     => array('7', '23', '*', '*', '*'),
        'watchlist_process_notifications'           => array('*', '*', '*', '*', '*'),
        'cron_email_reset_rebounce'                 => array(rand(0, 59), rand(0, 23), '*', '*', '*'),
        'auth_clean_expired_migrations'             => array('0', '2,14', '*', '*', '*'),
        'portfolio_auto_copy'                       => array('*', '*', '*', '*', '*'),
        'unlock_collections_by_rollover'            => array('0', '3', '*', '*', '*'),
    );
    foreach ($cronjobs as $callfunction => $times) {
        $cron = new stdClass();
        $cron->callfunction = $callfunction;
        $cron->minute       = $times[0];
        $cron->hour         = $times[1];
        $cron->day          = $times[2];
        $cron->month        = $times[3];
        $cron->dayofweek    = $times[4];
        insert_record('cron', $cron);
    }

    $viewtypes = array('dashboard', 'portfolio', 'profile', 'grouphomepage', 'progress');
    foreach ($viewtypes as $vt) {
        insert_record('view_type', (object)array(
            'type' => $vt,
        ));
    }
    db_commit();
}


/**
 * xmldb will pass us the xml file and we can perform any substitution as necessary
 */
function local_xmldb_contents_sub(&$contents) {
    // the main install.xml file needs to sub in plugintype tables.
    $searchstring = '<!-- PLUGIN_TYPE_SUBSTITUTION -->';
    if (strstr($contents, $searchstring) === 0) {
        return;
    }
    // ok, we're in the main file and we need to install all the plugin tables
    // get the basic skeleton structure
    $plugintables = file_get_contents(get_config('docroot') . 'lib/db/plugintables.xml');
    $tosub = '';
    foreach (plugin_types() as $plugin) {
        // any that want their own stuff can put it in docroot/plugintype/lib/db/plugintables.xml
        //- like auth is a bit special
        $specialcase = get_config('docroot') . $plugin . '/plugintables.xml';
        if (is_readable($specialcase)) {
            $tosub .= file_get_contents($specialcase) . "\n";
        }
        else {
            $replaced = '';
            // look for tables to put at the start...
            $pretables = get_config('docroot') . $plugin . '/beforetables.xml';
            if (is_readable($pretables)) {
                $replaced = file_get_contents($pretables) . "\n";
            }

            // perform any additional once off substitutions
            require_once(get_config('docroot') . $plugin . '/lib.php');
            $classname = generate_class_name($plugin);
            if (method_exists($classname, 'extra_xmldb_substitution')) {
                $replaced  .= $classname::extra_xmldb_substitution($plugintables);
            }
            else {
                $replaced .= $plugintables;
            }
            $tosub .= str_replace('__PLUGINTYPE__', $plugin, $replaced) . "\n";
            // look for any tables to put at the end..
            $extratables = get_config('docroot') . $plugin . '/extratables.xml';
            if (is_readable($extratables)) {
                $tosub .= file_get_contents($extratables) . "\n";
            }
        }
    }
    $contents = str_replace($searchstring, $tosub, $contents);
}


/**
 * validates a plugin for installation
 * @throws InstallationException
*/
function validate_plugin($plugintype, $pluginname, $pluginpath='') {

    if (empty($pluginpath)) {
        $pluginpath = get_config('docroot') . $plugintype . '/' . $pluginname;
    }
    if (!file_exists($pluginpath . '/version.php')) {
        throw new InstallationException(get_string('versionphpmissing1', 'error', $plugintype, $pluginname, $pluginname, $pluginpath));
    }
    safe_require($plugintype, $pluginname);
    $classname = generate_class_name($plugintype, $pluginname);
    if (!class_exists($classname)) {
        throw new InstallationException(get_string('classmissing', 'error', $classname, $plugintype, $pluginname));
    }
    require_once(get_config('docroot') . $plugintype . '/lib.php');
    $funname = $plugintype . '_check_plugin_sanity';
    if (function_exists($funname)) {
        $funname($pluginname);
    }
}

/**
 * Sorting upgrade order and allowing for priority
 *
 * @param array $upgrades   List of core and plugins to upgrade
 * @return array            Sorted $upgrades list
 */
function sort_upgrade_order($upgrades) {
    $floaters = array();
    uksort($upgrades, 'sort_upgrades');

    // We check here if any special reordering needs to be done.
    // Some plugins need to run before others if they are both present.
    // We set up a $floaters array if there are any matches.
    if (isset($upgrades['auth.webservice']) && isset($upgrades['module.lti_advantage'])) {
        $floaters['auth.webservice'] = 'module.lti_advantage';
    }

    if ($floaters) {
        // A $floater, for example, can look like key ='auth.webservice', value='lti.advantage' and the value is the item
        // we want to float up the $upgrades list but we do this by sinking
        // the key down the list. So the key 'auth.webservice' needs to exist as a key in $upgrades higher in the list
        // than the value 'lti.advantage' exists as a key in $upgrades list before reaching this part.
        // After this part the 'lti.advantage' key should appear highter than 'auth.webservice' in the $upgrades list.
        uksort($upgrades, function($k1, $k2) use (&$floaters) {
            if (isset($floaters[$k1]) && $k2 == $floaters[$k1]) {
                unset($floaters[$k1]);
                return 1;
            }
            else if (isset($floaters[$k1])) {
                return 1;
            }
            else {
                return 0;
            }
        });
    }

    return $upgrades;
}

/*
* the order things are installed/upgraded in matters
*/

function sort_upgrades($k1, $k2) {
    if ($k1 == 'core') {
        return -1;
    }
    else if ($k2 == 'core') {
        return 1;
    }
    else if ($k1 == 'firstcoredata') {
        return -1;
    }
    else if ($k2 == 'firstcoredata') {
        return 1;
    }
    else if ($k1 == 'localpreinst') {
        return -1;
    }
    else if ($k2 == 'localpreinst') {
        return 1;
    }
    else if ($k1 == 'localpostinst') {
        return 1;
    }
    else if ($k2 == 'localpostinst') {
        return -1;
    }
    else if ($k1 == 'lastcoredata') {
        return 1;
    }
    else if ($k2 == 'lastcoredata') {
        return -1;
    }
    // else obey the order plugin types returns (strip off plugintype. from the start)
    $weight1 = array_search(substr($k1, 0, strpos($k1, '.')), plugin_types());
    $weight2 = array_search(substr($k2, 0, strpos($k2, '.')), plugin_types());
    return ($weight1 > $weight2);
}

/** blocktype categories the system exports (including artefact categories)
*/
function get_blocktype_categories() {
    return array('shortcut', 'fileimagevideo', 'blog', 'general', 'internal', 'resume', 'external');
}

function install_blocktype_categories_for_plugin($blocktype) {
    if (!safe_require('blocktype', $blocktype, 'lib.php', 'require_once', true)) {
        // Block has been uninstalled or is missing, so no category data to enter.
        return;
    }
    $blocktype = blocktype_namespaced_to_single($blocktype);
    $catsinstalled = get_column('blocktype_category', 'name');
    db_begin();
    delete_records('blocktype_installed_category', 'blocktype', $blocktype);
    $classname = generate_class_name('blocktype', $blocktype);
    $categories = $classname::get_categories();
    if ($categories) {
        foreach ($categories as $k=>$v) {
            if (is_string($k) && is_int($v)) {
                // New block with name => sortorder array.
                $cat = $k;
                $sortorder = $v;
            }
            else {
                // Legacy block with just categories, no sortorders. Give it the default sortorder.
                $cat = $v;
                $sortorder = PluginBlocktype::$DEFAULT_SORTORDER;
            }
            if (in_array($cat, $catsinstalled)) {
                insert_record('blocktype_installed_category', (object)array(
                    'blocktype' => $blocktype,
                    'category' => $cat,
                    'sortorder' => $sortorder,
                ));
            }
        }
    }
    db_commit();
}

function install_blocktype_viewtypes_for_plugin($blocktype) {
    if (!safe_require('blocktype', $blocktype, 'lib.php', 'require_once', true)) {
        // Block has been uninstalled or is missing, so no viewtype data to enter.
        return;
    }
    $blocktype = blocktype_namespaced_to_single($blocktype);
    $vtinstalled = get_column('view_type', 'type');
    db_begin();
    delete_records('blocktype_installed_viewtype', 'blocktype', $blocktype);
    $classname = generate_class_name('blocktype', $blocktype);
    $viewtypes = $classname::get_viewtypes();
    if ($viewtypes) {
        foreach($viewtypes as $vt) {
            if (in_array($vt, $vtinstalled)) {
                insert_record('blocktype_installed_viewtype', (object)array(
                    'blocktype' => $blocktype,
                    'viewtype'  => $vt,
                ));
            }
        }
    }
    db_commit();
}

function install_blocktype_extras() {
    db_begin();

    $categories = get_blocktype_categories();
    $installedcategories = get_column('blocktype_category', 'name');
    $sort = empty($installedcategories) ? -1 : get_record_sql('SELECT MAX(sort) AS maxsort FROM {blocktype_category}')->maxsort;

    if ($toinstall = array_diff($categories, $installedcategories)) {
        foreach ($toinstall as $i) {
            insert_record('blocktype_category', (object)array('name' => $i, 'sort' => (++$sort)));
        }
    }

    db_commit();


    // poll all the installed blocktype plugins and ask them what categories they export
    if ($blocktypes = plugins_installed('blocktype', true)) {
        foreach ($blocktypes as $bt) {
            install_blocktype_categories_for_plugin(blocktype_single_to_namespaced($bt->name, $bt->artefactplugin));
            install_blocktype_viewtypes_for_plugin(blocktype_single_to_namespaced($bt->name, $bt->artefactplugin));
        }
    }
}

/**
 * Reload htmlpurifier filters from the XML configuration file.
 */
function reload_html_filters() {
    require_once('xmlize.php');

    $newlist = xmlize(file_get_contents(get_config('libroot') . 'htmlpurifiercustom/filters.xml'));
    $filters = $newlist['filters']['#']['filter'];
    foreach ($filters as &$f) {
        $f = (object) array(
            'site' => $f['#']['site'][0]['#'],
            'file' => $f['#']['filename'][0]['#']
        );
    }
    set_config('filters', serialize($filters));
    log_info('Enabled ' . count($filters) . ' HTML filters.');
}

/**
 * Update safe iframe regex
 *
 * @return bool
 * @throws SystemException
 */
function update_safe_iframe_regex() {
    $prefixes = get_column('iframe_source', 'prefix');
    if (!empty($prefixes)) {
        // We must generate a guaranteed valid regex here that's not
        // too slack.  It's easiest to whitelist a few characters, but
        // in future we may need to be more clever.  Admins who know
        // what they're doing, and need something fancy, can always
        // override this in config.php.
        foreach ($prefixes as $key => $r) {
            if (!preg_match('/^[\?a-zA-Z0-9\/\._-]+$/', $r)) {
                throw new SystemException('Invalid site passed to update_safe_iframe_regex');
            }
            if (substr($r, -1) == '/') {
                $prefixes[$key] = substr($r, 0, -1) . '($|[/?#])';
            }
        }

        // Allowed iframe URLs should be one of the partial URIs in iframe_source,
        // prefaced by http:// or https:// or just // (which is a protocol-relative URL)
        $iframeregexp = '%^(http:|https:|)//(' . str_replace('.', '\.', implode('|', $prefixes)) . ')%';
    }
    return set_config('iframeregexp', isset($iframeregexp) ? $iframeregexp : null);
}

function update_safe_iframes(array $iframesources, array $iframedomains) {
    db_begin();

    delete_records('iframe_source_icon');
    foreach ($iframedomains as $name => $domain) {
        insert_record('iframe_source_icon', (object) array('name' => $name, 'domain' => $domain));
    }

    delete_records('iframe_source');
    foreach ($iframesources as $prefix => $name) {
        insert_record('iframe_source', (object) array('prefix' => $prefix, 'name' => $name));
    }

    update_safe_iframe_regex();
    db_commit();
}

/**
 * Use meaningful defaults for the antispam settings.
 */
function set_antispam_defaults() {
    set_config('formsecret', get_random_key());
    require_once(get_config('docroot') . 'lib/antispam.php');
    if(checkdnsrr('test.uribl.com.black.uribl.com', 'A')) {
        set_config('antispam', 'advanced');
    }
    else {
        set_config('antispam', 'simple');
    }
    set_config('spamhaus', 0);
    set_config('surbl', 0);
}

function activate_plugin_form($plugintype, $plugin) {
    // Check if there is a displayname
    $classname = generate_class_name($plugintype, $plugin->name);
    $plugin->displayname = $classname::get_plugin_display_name();

    return pieform(array(
        'name'            => 'activate_' . $plugintype . '_' . $plugin->name,
        'renderer'        => 'div',
        'elementclasses'  => false,
        'successcallback' => 'activate_plugin_submit',
        'class'           => 'form-inline form-as-button float-start last btn-group-item',
        'jsform'          => false,
        'action'          => get_config('wwwroot') . 'admin/extensions/pluginconfig.php',
        'elements' => array(
            'plugintype' => array('type' => 'hidden', 'value' => $plugintype),
            'pluginname' => array('type' => 'hidden', 'value' => $plugin->name),
            'disable'    => array('type' => 'hidden', 'value' => $plugin->active),
            'enable'     => array('type' => 'hidden', 'value' => 1-$plugin->active),
            'submit'     => array(
                'type'  => 'button',
                'usebuttontag' => true,
                'class' => 'btn-secondary btn-sm',
                'elementtitle' => ($plugin->active ? get_string('hide') : get_string('show')) . ' ' . $plugintype . ' ' . (($plugin->displayname) ? $plugin->displayname : $plugin->name),
                'hiddenlabel' => true,
                'value' => $plugin->active ? '<span class="icon icon-eye"><span class="visually-hidden" aria-hidden="true">' . get_string('hide') . '</span></span>' : '<span class="icon icon-eye-slash"><span class="visually-hidden" aria-hidden="true">' . get_string('show') . '</span></span>',
            ),
        ),
    ));
}

function activate_plugin_submit(Pieform $form, $values) {
    global $SESSION;
    if ($values['plugintype'] == 'blocktype') {
        if (strpos($values['pluginname'], '/') !== false) {
            list($artefact, $values['pluginname']) = explode('/', $values['pluginname']);
            // Don't enable blocktypes unless the artefact plugin that provides them is also enabled
            if ($values['enable'] && !get_field('artefact_installed', 'active', 'name', $artefact)) {
                $SESSION->add_error_msg(get_string('pluginnotenabled', 'mahara', $artefact));
                redirect('/admin/extensions/plugins.php');
            }
        }
    }
    else if ($values['plugintype'] == 'artefact' && $values['disable']) {
        // Disable all the artefact's blocktypes too
        set_field('blocktype_installed', 'active', 0, 'artefactplugin', $values['pluginname']);
    }
    set_field($values['plugintype'] . '_installed', 'active', $values['enable'], 'name', $values['pluginname']);
    $SESSION->add_ok_msg(get_string('plugin' . (($values['enable']) ? 'enabled' : 'disabled')));
    redirect('/admin/extensions/plugins.php');
}

// site warnings for the admin to consider
function site_warnings() {

    $warnings = array();

    // Warn about nasty php settings that Mahara can still sort of deal with.
    if (ini_get_bool('register_globals')) {
        $warnings[] = get_string('registerglobals', 'error');
    }
    if (!defined('CRON') && ini_get_bool('magic_quotes_gpc')) {
        $warnings[] = get_string('magicquotesgpc', 'error');
    }
    if (ini_get_bool('magic_quotes_runtime')) {
        $warnings[] = get_string('magicquotesruntime', 'error');
    }
    if (ini_get_bool('magic_quotes_sybase')) {
        $warnings[] = get_string('magicquotessybase', 'error');
    }

    // Check if the host returns a usable value for the timezone identifier %z
    $tz_count_date = new DateTime();
    $tz_count = preg_match("/[\+\-][0-9]{4}/", $tz_count_date->format('O'));
    if ($tz_count == 0 || $tz_count == FALSE) {
        $warnings[] = get_string('timezoneidentifierunusable', 'error');
    }
    if (get_config('dbtimezone')) {
        $warnings[] = get_string('updatesitetimezone', 'error');
    }

    // Check for low security (i.e. not random enough) session IDs
    if (version_compare(PHP_VERSION, '7.1.0') < 0 && (int)ini_get('session.entropy_length') < 16) {
        $warnings[] = get_string('notenoughsessionentropy', 'error');
    }

    // Check noreply address is valid.
    if (!sanitize_email(get_config('noreplyaddress')) || get_config('noreplyaddress') == 'noreply@example.org') {
        $warnings[] = get_string('noreplyaddressmissingorinvalid', 'error', get_config('wwwroot') . 'admin/site/options.php?fs=emailsettings');
    }

    // If the configurable themes bug 1760732 was triggered by a recent upgrade, provide a warning that the theme needs resaving.
    $custom_themes = get_records_sql_array("SELECT i.displayname FROM {institution} i
                                            JOIN {institution_config} ic ON ic.institution = i.name
                                            WHERE ic.field = ? AND ic.value = ?
                                            ORDER BY i.displayname", array('customthemeupdate', '1'));
    if ($custom_themes) {
        $warning = get_string('resavecustomthemes', 'error') . "<ul>";
        foreach ($custom_themes as $theme) {
            $warning .= "<li>" . hsc($theme->displayname) . "</li>";
        }
        $warning .= "</ul>";
        $warnings[] = $warning;
    }

    safe_require('auth', 'saml');
    if (PluginAuthSaml::is_active()) {
        // Check if the saml plugin config needs updating
        if (record_exists_select('auth_config', "plugin = ? AND field = ?", array('saml', 'simplesamlphplib'))) {
            $warnings[] = get_string('obsoletesamlplugin', 'auth.saml', get_config('wwwroot') . 'admin/extensions/pluginconfig.php?plugintype=auth&pluginname=saml');
        }
        // Check if all saml instances are configured for new auth/saml plugin.
        if ($samls = get_records_sql_array(
                 "SELECT ai.id, ai.instancename, i.name, i.displayname FROM {auth_instance} ai
                  LEFT JOIN {institution} i ON i.name = ai.institution
                  WHERE ai.id NOT IN (
                                      SELECT instance FROM {auth_instance_config} aic
                                      WHERE aic.field = ?
                  ) AND ai.authname = ? ORDER BY i.displayname", array('institutionidpentityid', 'saml'))) {
            foreach ($samls as $saml) {
                $warnings[] = get_string('obsoletesamlinstance', 'auth.saml', get_config('wwwroot') . 'admin/users/addauthority.php?id=' . $saml->id . '&edit=1&i=' . $saml->name . '&p=saml', $saml->instancename, $saml->displayname);
            }
        }
        // Check if the library is updated to the latest version Mahara supports
        $autoload = get_config('docroot') .'auth/saml/extlib/simplesamlphp/vendor/autoload.php';
        if (file_exists($autoload)) {
            require(get_config('docroot') .'auth/saml/extlib/simplesamlphp/vendor/autoload.php');
            $config = SimpleSAML\Configuration::getInstance();

            $libversion = get_config_plugin('auth', 'saml', 'version');
            if (!empty($libversion) && $config->getVersion() != $libversion) {
                $warnings[] = get_string('errorupdatelib', 'auth.saml');
            }
        }

    }

    // Check that the GD library has support for jpg, png and gif at least
    $gdinfo = gd_info();
    if (!$gdinfo['JPEG Support']) {
        $warnings[] = get_string('gdlibrarylacksjpegsupport', 'error');
    }

    if (!$gdinfo['PNG Support']) {
        $warnings[] = get_string('gdlibrarylackspngsupport', 'error');
    }

    if (!$gdinfo['GIF Read Support'] || !$gdinfo['GIF Create Support']) {
        $warnings[] = get_string('gdlibrarylacksgifsupport', 'error');
    }

    // Check file upload settings.
    $postmax       = ini_get('post_max_size');
    $uploadmax     = ini_get('upload_max_filesize');
    $realpostmax   = get_real_size($postmax);
    $realuploadmax = get_real_size($uploadmax);
    if ($realpostmax && $realpostmax < $realuploadmax) {
        $warnings[] = get_string('postmaxlessthanuploadmax', 'error', $postmax, $uploadmax, $postmax);
    }
    else if ($realpostmax && $realpostmax < 9000000) {
        $warnings[] = get_string('smallpostmaxsize', 'error', $postmax, $postmax);
    }

    if (ini_get('open_basedir')) {
        $warnings[] = get_string('openbasedirenabled', 'error') . ' ' . get_string('openbasedirwarning', 'error');
    }

    $sitesalt = get_config('passwordsaltmain');
    if (empty($sitesalt)) {
        $warnings[] = get_string('nopasswordsaltset', 'error');
    }
    else if ($sitesalt == 'some long random string here with lots of characters'
            || trim($sitesalt) === ''
            || preg_match('/^([a-zA-Z0-9]{0,10})$/', $sitesalt)) {
        $warnings[] = get_string('passwordsaltweak', 'error');
    }

    $urlsecret = get_config('urlsecret');
    if (!empty($urlsecret) && $urlsecret == 'mysupersecret') {
        $warnings[] = get_string('urlsecretweak', 'error');
    }

    if (!extension_loaded('mbstring')) {
        $warnings[] = get_string('mbstringneeded', 'error');
    }

    if (get_config('dbtype') == 'mysql') {
        $warnings[] = get_string('switchtomysqli', 'error');
    }

    return $warnings;
}


/**
 * Increment the cache version number.
 * This is an arbitrary number that we append to the end of static content to make sure the user
 * refreshes it when we update the site.
 */
function bump_cache_version() {
    set_config('cacheversion', get_config('cacheversion') + 1);
}
edit.php000064400000012633150342461250006211 0ustar00<?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>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 <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
V+TEHm==images/mahara.png000064400000014005150342461260007753 0ustar00�PNG


IHDR����tEXtSoftwareAdobe ImageReadyq�e<�iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c142 79.160924, 2017/07/13-01:06:39        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:d8d98712-1f6f-d24c-8654-de9f579747cf" xmpMM:DocumentID="xmp.did:3183B1734AD411E993F8B6B6BBD8B86B" xmpMM:InstanceID="xmp.iid:3183B1724AD411E993F8B6B6BBD8B86B" xmp:CreatorTool="Adobe Photoshop CC 2018 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:523e6ae5-6951-694f-914e-6ebc9555965e" stRef:documentID="adobe:docid:photoshop:e1f1f63f-bafa-11e7-9763-b440ee8800b2"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>�W��,PLTE�ʴ������������Mc+ewJ�Ĭ���s�X���Um4��ኗuz�b����Un-���Um2������Ul8Kd'�����l��Qe3k{POe,��]mBQi-\q:������Wk5Rm1Yk=Um0Rm-���Rj%��𓞂Nb0Qi(Vl2Ri0Tn0��~�g���Tj1���Nh*Un)���Vj8Uf:������Rm*���Tn3Sm5������To,Wm/���G\%��y���Sj.Mg'Ne Oe&Wm-Sk*Vn/���Sg5���`rDpXGa"�ϽBWWn3������������������������������Y�3��IDATx�윏W�H��M  ��!8�E�?B�mm��*�P��L~�w�����v���ֺ�s�s�{J���{g��;7�@����7�o�����qcj���c$��"�-r>�Ŭ��o�sD����|OW.�������DZP�a�-om�L�I��E!�A�ó��fǼm��Ɩ�$����(��;���[�!�����G���ׂO_n��Ű�vF��g�îzȶ��ķhy4i�}>�M���e��f]�������2VsQڲ^�O�-����	[�BG+Ѱ��H��M��c�kA40��]-��K�B$9�
Z�}8�돕b�K媆Q�:��Gz8 !�G�#9
a����i]��cG}G����xt5.�� �t���]]7��=]�oТQ���&�#��q-J�suI�|�8 D�e1��V
��璐 JXjׁzw��m��e�g�GjB#����B͋�Ӎ��X��ҞE��w0N_����W2�$I⳴�J�cU5���'���0�,��v�(L��z�EVV$I�lj��
�e��Kbr[�HI/Q�+�Owv놤N�h���X6@��V/!9�)� ��s?$�a���9�)3@����U2�f!��l�@,��!J��
��&�>L7!<���r�ȑ���5����b����~ֶ��i2R	��@Y���S��:��2
~\=�$E�e��O��A��-���/!E1eP1���2h!L��ඞ�(�"݁9�,|�蕐ԋ�����[I�����<7�M~� �.Ӻ�
�?@§h&�i�lCy�*Gl�q{��e��bP�G�G,W�˂�by�ix��)�t4��ժ��2�d��*t!��HU��`�}Q!�>�,�t9�t���|ˡO.r��z�����c���l�ns盪*�"K�gqc���C�
py��1�,oMk�Zi��?.i��C�Y0��1����|5��Ɖ����I��`�J�[ ���.PwL��ݎdT�ܽ`�c��,��4͐��TNE�≆J�|=�c�e�1�2̂�����I5<B�a�G`A(��a���G�~,�>�B]0~c�C������O�����h�^���vl��j=
,xL�qAmAqn��Su
L����y�rY��cTJg��� v0n�	 9�5J���-��0�m4���x
p#���@̤Y�H�r���oT!��ւ�,,�� g�wPӹ��Q����"�V���5�"+ACU�$	�6(�=��yۯ��{��e{H�l*@�	P�I8��P�J�҄P�pX�)ma����L�W0 \[t-����)�Yk��hT.a�y������A�abS�Xr�8(�ix���~G[).��'b�"��^�X�H�;IP+]
�����T�'��Q.���ѵݮ�J}��6 a͆
|�('V>�UQ4�lK��Bb��[֌���8��U�G�u*�����t�vL��Z�ํ\S��\�k�;�	IY�5Y��cs���V�=P+����O�~�)\���\�=��=�1FX�0Vz�O����AVLS�맰�Ȥ��t�6qGO�͵��W���<*JH���/ೃ��#F�$�|��t��9A����]�eNncl�u5��Gs1�L y�k�E�Y�'�R�@z~sV*�j��wp����V���N{((�)����[Iof8ך�ՠ��ۭR��P��@�q��db3�ȳ�>��&�e��B��G[�Nf4,����AO�Z�vv0-`��#K*�[�V�MI��OڵZ��p�%��\� ��2�.�Ո��ѡK?�)w\ �̿����ݪ�I�V|�����k�Z�#��� T��-2�����eI*j�!�\���b;�
Х�u��[ኣwu	I�S��~��XO]�@$?��,<���ҏ�{�P�?6���O��R��
����W�c�Ӗ�&د�z �ӕ|O7�J�Q/�=���~eg�{��k��h��kٟk���RY�P�Y�!W��]��GƳإt[���^
�u�K���Hg�
�xI(-"���Ef�L��Kt�E�/�d�n�
�l�8��d�.Ǣbc
S@�f�vyw��U@6�3�0TK�(�?��R�dM�X/C!l��C?�W�0Y��WS���m�e���)�%���Z���~�>뫃[�KC�֫�bޅ�Mul�@3
���c���fI�ف�d�o�Մ�WF˔w^	p�Z�T�H4�P��‘k%ytA���yZ�-��
�!�^k
�C�
E�ކ�5�5���㹸�v�(d�f1��d�^���¯쐍�2H$Nv�>=���x�<�/bI�էA.�y�d]����šJ&�D�3�%�eХYC��3�c
�}\�fe�u6��! aDT���Ze��K|bI�c��5�/{~�#��
k�[��}�? !{��!��K���,�
��`.vD"�Κn���#�,��MQ�`����XWR�'�6�^��'�X�ذ{�s�i��yFh"�v�n�d�t,��@0�ӳ]�c��T��s"�����@�Wa����g~�����T��U���atm��!,���=��HP�r��/ ��E�?d=UC8r���	>`/qa���/0@�²�T�Ch�)b}w��	�y�ģ;'%߃%�� ���� �gw�����j���`�l>��7t3}
F���b}�h�{���z���㶜����Hw�ZI#��L3���P_�l�?�}��z �+l}
;���nL�o0�W�`�k���Ţ���,N�S��26������k��%�����aɑ�a,�C
�i
f���,ՕH�4o�h�ӂ��Ò_i~�<Ț1��]A(��� Ǻ��SD�#J��g
�g��|U��o~0�*��뷷m��b�Z��	�Z��o���w
*jH�~3�F�ezh���%���QW����l�[t�T�P/�e��K}�4r���.��[��4Y{AR�!a���/���@��:O�l�YGj���+��m�C-
K�t��wh؟)n�a�P���u���`Q�zӯ�֊��Z1$E�$SU���i�臞��[ӏ���)�2������EG����YC��p~�Az?1����B�?�]� �b]�z/�����ult��?Z��4>���&�6�أ��iT�9�<���
��l��?��3����l�/���ݝi_}�ҝ��������
��HA���@>K���irt��+儹8��EFS^����-���0�ƶ�/9{�=��p��o
�*�8���{���U��ǝ6� �/��
�����G�<�|@�������n:D�����8;?����in�еX��;$O��b2V �pe��~���+Bg��h�J��,�UbZF�)��cgO_,�1d�9�b�`���6�
}��/��|G]�$�Ġ����uI��$�ș9[p%��h�@����%��9{)9��G�!F�s\�c2J���<��b�^��0Mu o��s��5YaT���v#ɣ���LĂM�[���Q%�an�4.t����~�.�Eh��'�Ŷ�s
o�s��PA&�䐌�pA3�ޞ�u�!��Cs��(z�&	�₝�l���g�{�����wgX/Q�5W��̫,(FU����rs�[t%�o"��v����;��K�R�|�6G@����]d��LC�l	�O�j���\m#MQ�r�f�g����#
�rv�E�k'M�E��2�Pv��@�K�Gl|��:?@�S��"�ZGQ9�Ӏ��T�"7*U�Y�lz�?唐�fd��v���zt���ۍ�:!s� �����h��6��xL�=k%�+J�M�-~~�\�HP���FF.�<Mx�УܑZ�؏
�ij��#Xrk�u}r-OIb˔w��^{çR�����&�u9���>��m��0Tġz�F�ـ^�.�f7��|+<*L5E7��¬@��mmn�;�2���!�L�FVV�i�aH��P��HbYOۙL�1�,��R�8P)%f����-�r����#��J����cM�'<�[����{U��яQ*ɉ��|����fN�)�m'��2�I��ae�b�4Wd���^=Y��s$i\=�����Hr/�H�/f�|y9�=I5��\�z�?����_�,���I4��E������p��#��Jx�<;R�.�]a�g\L�:s��T��T�S@�o5H�V���f$��f��X~�T���P�: B�1t�:x��Ӣ�/�߾	�iB�4M+2D])�
�r�p�f�4IZ����7���{�+��Ѱȸ�\�0MmF9�{`���GT����_z~���\�}���=ؔ�CQ�3��k�:��ZL-蓓�{���j��Y��'��`i+]fw}H߱�.*�黏�KY��Y����{J׮NTS�.����v&WD�J��xH��);W���_�=9��:�
�١�	�n�p� Qx)v'�e�0�&7ug]Y��>��&��Ɣ�}�k�;U��B�[�$qP���H6�^������M2~Z�Ȅ ��vOOOw7#����F���w��]�&���A2^�'��6Q]+����X�Z�m\;�o��g;�b��Z�
�d�Zp���/��x�����ܧ��V�߀�������u�M%j�IEND�B`�images/logo.gif000064400000012340150342461260007443 0ustar00GIF89a�M�����ѭ��y���Sz"���l�JjfGLG%��ᅥ]�}e���Lr�����RRM,^�2�ˣ��Ƿ�����\�'����׺��,v�)�����ʺ��s�PuqX��t����������������Ĺ�����Ф��y�T��讬���s��ڕ�F��j�����U�´��d����ɽ��1��ɦ�����qlJ~y[������n�'���WR1���vqNea>��7���i�.���c�?��sz�Aq�?plQ����������������s�&^Z<���������������ㄞd���[W7���y�=GB ���!�,�M��c�����#*K�����������������X3HX���������XH�@��������Y�@�����ŪR���8����ԅK���͡���ߨ����3�����X��F��*��
�������a�P ��CYM
ZА��3j�DP�A>Xre#%*-�T���$��?�	�$�\>�A��Attй�]LlLl�d�h#>}~Yp`�Sp*�bCb�뒫�>D�)��ޒi����M�d�-$v�ϳs�IY;���&9�ֵ�7o�#l2�q���[821��k��x�Ȇ'G�lYf��V�X�ٲ軥���A�'�ak�b�c�va�6��m������ߠCz8�⵱� (�'%<�>�5�BS&L�J�ʉ'RP)DE={{��g�D�Kwl���N X�$!�-|�-�E�rb�@�
7���$)��V�
tXBX��5�%�qD:�0�$�A�@]1�@�T'�	=	��=p��=�{-|H�@�>9�Atp�&2xR�JgA\� �wЄ#T�$5��P�E�A8�
���O��
APP!#)�8 �0
6.:�yP�]_��a19,��7�p�bjT|!Dp_�0�
:	�X�G�@�|�IV�I�8
,!�>l�U#-��_��k=᥶vщ���
��y��`P
b^r�ZC����N��]R�r]��tB�+�����io&�%��q4���ZJؔ!yZ��P��N��ĺ`a�
#�.�+�תß��1%��~\
A�j��
}2�5<�ID�.�MJ�Cf�ұ�ֲ�/�.�0AI�xݲ.�C�\W�=�AH�mGU�� p�  @
�j�`�)�%"�u��5���6�5�|Q�*2�dŰ@�͹E�p7�|#P���^75Q��t�����Dm���E�D�LBC�:wU�;:��~�:�D�p���W�<�h�P�7�c}�m愘]s�E[IV( �G��.pߋ�!���Ao�Hھ���

<@���=���x	�!���h�@��	�J:���X���
�C�V(���d�"�샗���;%/3����ſ��o
�q��X�B��� �,qN)`�%+����؈X�꓋.+X���� �@�V�Bg	,(�wm2�C kM�K�8�4���� ��ƝX��,^��$�.!�B'(#n(�p�����Q"ie��%v�
D@<�QB�Y�a>_U%Yd]��JXp��H�| Uj
#�PT�%�28/,DŰB"G ��
�P��8�pr�L�b���51�t�%8��d p̥-?h6�)�8 _�S�reΙ��
�(1�*e:p�8`�K��8�A~����*�@
QPf�řS��P��28��D��1�_�d>���x�
P��x��$��@B/�Ț>�0�4��FH5gD
��1��Y%� n�TnR�< !���ܽ�����W�����YYÚ��sE���[�
�f
"N�
6��Y��|;'� �G�qm����n>��*da	��nW�l̀�z%(g��1�utG
n#Xf��6*��:I�>W�5Ě>!V#d	2��/w��}ԃc��[��Ӳ4�c���\͒28��[����t�@��n�@��1���^�\����"�A�<`�[� �U��A.���µ�AQ�)�Ђ���]A��� �5�mcH,���x,dD�*	ha�A�ެ�ȾyC���B���>��~����w��y� X��Bף����S`AxU�����&���Lgz����6�f.��`��:�ʢU*��;Îa�`���cB�'�8s$�
S �*X	�9�o"�	����Y�vq�����Z�ԗ5�b�z��SEjIfI:����#� $��X�ә�e���بիgS[Ϻ�Au���vY� B*Ғe�� &�5+���ҁ��E���?>�L	8�1�����6���N��l�����	E_��z�N��b�
��Ƶy��?v`��s[r���!6ʜ�GBR��la�����R�;��"���ൡ��k��]�)Gp���G^��E���_?�`�c&6�@�b�%�6�4I,n_�&<׊f���jQO�֠}n�m8�D�Քs0�?ҕ�}��@1���8���v��Έ��z/�ݫ��bǡ�;}[jy�^v���?`�Ì=Y��0!�C4ˀ�bI�*�\cϴE�l�ΰ��
#x���K��[��ݭ8~��}�,P{��vZy��7ǐ|1��s*�f�}�Ks�~��[������G���;�6R��4~�0[�qv� {�w&@{51���]���(���PeL1��4$P�-_� 4$G�"Gp�T0�qN����s8�6��BW]�FT��Vp�9w���W��	�:�E��=�Q2)p~��G��	mqv�}d3U"��E<c $t�!�!)@�	�� (P�,�P$��u���0)�)�@�9P�	`Ƨ|� >@(��(�(p "��X"0�(I��=<�Q�0�tX��r��h��P��s�{�6M@Vap4!���ؘ������x��������������瘍Qnc�R�阎`��c`�8�0�09�E�.D �0�x��h
I��P�i�1F��7�"�P�����p����8ZP�ْ�ȏ!��#ك�an�Ѝ.��8>�>ɏ�0{�,P23$#�:)����H�V10�	��6@\ٕ$���^i��bɕ�`�g��l�����g	��6N�ؖx)����>I��HsH�(�[G"C,��x)��������Ä��p)���l���k)%������镛�pv�4P"@��),0�z��)@�)P.�6\!�g�����[�%LdU�l�D6p���� ���>`��)٩����ɏϩ��)��/�8Q�쩝�	��	���.����i�8Y�f%�4skfi
a�1/�����
��Y�*
�C0#��ʏ����b�D!@�PR��$���c���(�C�p�#����Q�6J�JY�NZ�PL�kd:CPZ��p�� �\����a��a��#�RP�g
�Yڦ eB�1 ���gZ>`�� Q`y*8����J���G�/�1���aꥅ0x`N���
L�ZLd�`�C`�z�&@�{���:��j�X��&�� �nj�$E+B������*�k�lyC *J`����
�	�����H��V�f1����JH:��z�蚮ຮ���J��Ю�Z���<Њc�i�犮���$p[�{�;�O8D2-p�d	��j���D��[?��F��0	�"���#+�'y�!; ���*K��в'[�2vA#Я!��%+�1�7
��T��,�!����?;� E�HVk?�����r1>�b��x�c+��x�a�j�!��ж��j[��y1��,�ж�؏!ж���[&`����j���p6@��0xɂ��1ʒ�d��\���i3�[�!@���[��������!0P�C� ��K� ��k2�6 RP�ۊ��6P��!^�����Z��ʈ��;C`�຾	��ù�S&�Gޥ
Fୂ�!��;�������;��K��{��ۿ�K��ۿ���,p���d���쿢�<��;C��lB��s&�d�������)�����)G
�4\��,Я(�+�4�`�@�‚0�m[�cK�#�J��0��a���D�[X��ഃPZ�ō��_\�~:�f|�[|�c��Ai�O��h�`<�������20r�ǐ�Z�s�ņ��[�lѧQ�Ȏ�Ǎ��ȑ<ɔ���lɚl��ড়��<Ɂa�\ʓ<�
�]�/K�kʰ����R�p�Q��D����!;��;;���;��\̅м��%p�����<�3ͅ�6�̿\û̂ 4����Î Ì��\�<	�Vˋ�Λ��G���	�5"P���% �P������[`p��;v����cp��Ѝ0�̌ Op�mC��-�o����͚���pO`�=v��L	��\��v� �����M6���<}�O�>��<���<-&=�u������@����Um�Zm(�|�*Ԕ@�Gϼ�@Pӌ���o���p=�NM���W�,���3*n
ؐ�Ӏ-|:�om[횇=���qم �K��Oح,	0��@L!E��zڨͧW ���}=20�ݽ��ѮMը�۲=�p��}�"�W0�"�۳mڷ�۹m��ͲP-�J��r�ܨ���mܭ͸��c��$
��=W���}�����O��P����m��-���|��)m�����Z��]�=���-ו�*`���K���>�������8�^�.�&ާ&.�S�
~ޒ-)⥐=�
p�7� 
� ���@�B>�D�7]�H����I��E��M^�*���W�E>ޅ;