<?php /** * Install * * Initial step of installation. Redirects to setup.php if everything checks out OK * * @package GetSimple * @subpackage Installation */ $kill = ''; # setup inclusions $load['plugin'] = true; if(isset($_GET['lang'])) {$LANG = $_GET['lang'];} include('inc/common.php'); # variable setup $php_modules = get_loaded_extensions(); // attempt to fix permissions issues $dirsArray = array( GSDATAPATH, GSCACHEPATH, GSDATAOTHERPATH, GSDATAOTHERPATH.'logs/', GSDATAPAGESPATH, GSDATAUPLOADPATH, GSTHUMBNAILPATH, GSBACKUPSPATH, GSBACKUPSPATH.'other/', GSBACKUPSPATH.'pages/', GSBACKUPSPATH.'zip/', GSBACKUSERSPATH, GSUSERSPATH, GSDATAPAGESPATH.'autosave/' ); foreach ($dirsArray as $dir) { $tmpfile = GSADMININCPATH.'tmp/tmp-404.xml'; if (file_exists($dir)) { chmod($dir, 0755); $result_755 = copy($tmpfile, $dir .'tmp.tmp'); if (!$result_755) { chmod($dir, 0777); $result_777 = copy($tmpfile, $dir .'tmp.tmp'); if (!$result_777) { $kill = i18n_r('CHMOD_ERROR'); } } } else { mkdir($dir, 0755); $result_755 = copy($tmpfile, $dir .'tmp.tmp'); if (!$result_755) { chmod($dir, 0777); $result_777 = copy($tmpfile, $dir .'tmp.tmp'); if (!$result_777) { $kill = i18n_r('CHMOD_ERROR'); } } } if (file_exists($dir .'tmp.tmp')) { unlink($dir .'tmp.tmp'); } } // get available language files $filenames = getFiles(GSLANGPATH); if ($LANG == '') { $LANG = 'en_US'; } foreach ($filenames as $lfile) { if( is_file(GSLANGPATH . $lfile) && $lfile != "." && $lfile != ".." ) { $lang_array[] = basename($lfile, ".php"); } } if (count($lang_array) == 1) { $langs = '<b>'.i18n_r('LANGUAGE').'</b>: <code style="border:1px solid #ccc;background:#f9f9f9;padding:2px;display:inline-block;">'.$lang_array[0].'</code> '; } elseif (count($lang_array) > 1) { sort($lang_array); $count="0"; $sel = ''; $langs = '<label for="lang" >'.i18n_r('SELECT_LANGUAGE').':</label>'; $langs .= '<select name="lang" id="lang" class="text" onchange="window.location=\'install.php?lang=\' + this.value;">'; foreach ($lang_array as $larray) { if ($LANG == $larray) { $sel="selected";} $langs .= '<option '.$sel.' value="'.$larray.'" >'.$larray.'</option>'; $sel = ''; $count++; } $langs .= '</select><br />'; } else { $langs = '<b>'.i18n_r('LANGUAGE').'</b>: <code style="color:red;">'.i18n_r('NONE').'</code> '; } # salt value generation $api_file = GSDATAOTHERPATH.'authorization.xml'; if (! file_exists($api_file)) { if (defined('GSUSECUSTOMSALT')) { $saltval = sha1(GSUSECUSTOMSALT); } else { $saltval = generate_salt(); } $xml = new SimpleXMLExtended('<item></item>'); $note = $xml->addChild('apikey'); $note->addCData($saltval); if(! XMLsave($xml, $api_file) ){ $kill = i18n_r('CHMOD_ERROR'); } } # get salt value $data = getXML($api_file); $APIKEY = $data->apikey; if(empty($APIKEY)){ $kill = i18n_r('CHMOD_ERROR'); } get_template('header', $site_full_name.' » '. i18n_r('INSTALLATION') ); ?> <h1><?php echo $site_full_name; ?></h1> </div> </div> <div class="wrapper"> <?php if ($kill != '') { echo '<div class="error">'. $kill .'</div>'; } ?> <div id="maincontent"> <div class="main" > <h3><?php echo $site_full_name .' '. i18n_r('INSTALLATION'); ?></h3> <table class="highlight healthcheck"> <?php # check to see if there is a core update needed $data = get_api_details(); if ($data) { $apikey = json_decode($data); $verstatus = $apikey->status; } else { $verstatus = null; } if ($verstatus == '0') { $ver = '<span class="ERRmsg" >'. i18n_r('UPG_NEEDED') .' <b>'.$apikey->latest .'</b><br /><a href="http://get-simple.info/download" target="_blank" >'. i18n_r('DOWNLOAD').'</a></span>'; } elseif ($verstatus == '1') { $ver = '<span class="OKmsg" ><b>'.$site_version_no.'</b> - '. i18n_r('LATEST_VERSION').'</span>'; } elseif ($verstatus == '2') { $ver = '<span class="WARNmsg" ><b>'.$site_version_no.'</b> - '. i18n_r('BETA').'</span>'; } else { $ver = '<span class="WARNmsg" >'. i18n_r('CANNOT_CHECK') .' <b>'.$site_version_no.'</b><br /><a href="http://get-simple.info/download/" target="_blank" >'. i18n_r('DOWNLOAD').'</a></span>'; } ?> <tr><td style="width:445px;" ><?php echo $site_full_name; ?> <?php i18n_r('VERSION'); ?></td><td><?php echo $ver; ?></td></tr> <tr><td> <?php if (version_compare(PHP_VERSION, "5.2", "<")) { echo 'PHP '.i18n_r('VERSION') .'</td><td><span class="ERRmsg" ><b>'. PHP_VERSION.'</b> - PHP 5.2 '.i18n_r('OR_GREATER_REQ') .' - '.i18n_r('ERROR') .'</span></td></tr>'; } else { echo 'PHP '.i18n_r('VERSION') .'</td><td><span class="OKmsg" ><b>'. PHP_VERSION.'</b> - '.i18n_r('OK') .'</span></td></tr>'; } if ($kill == '') { echo '<tr><td>Folder Permissions</td><td><span class="OKmsg" >'.i18n_r('OK') .' - '.i18n_r('WRITABLE') .'</span></td></tr>'; } else { echo '<tr><td>Folder Permissions</td><td><span class="ERRmsg" >'.i18n_r('ERROR') .' - '.i18n_r('NOT_WRITABLE') .'</span></td></tr>'; } if (in_arrayi('curl', $php_modules) ) { echo '<tr><td>cURL Module</td><td><span class="OKmsg" >'.i18n_r('INSTALLED') .' - '.i18n_r('OK') .'</span></td></tr>'; } else{ echo '<tr><td>cURL Module</td><td><span class="WARNmsg" >'.i18n_r('NOT_INSTALLED') .' - '.i18n_r('WARNING') .'</span></td></tr>'; } if (in_arrayi('gd', $php_modules) ) { echo '<tr><td>GD Library</td><td><span class="OKmsg" >'.i18n_r('INSTALLED').' - '.i18n_r('OK') .'</span></td></tr>'; } else{ echo '<tr><td>GD Library</td><td><span class="WARNmsg" >'.i18n_r('NOT_INSTALLED').' - '.i18n_r('WARNING') .'</span></td></tr>'; } if (in_arrayi('zip', $php_modules) ) { echo '<tr><td>ZipArchive</td><td><span class="OKmsg" >'.i18n_r('INSTALLED').' - '.i18n_r('OK').'</span></td></tr>'; } else{ echo '<tr><td>ZipArchive</td><td><span class="WARNmsg" >'.i18n_r('NOT_INSTALLED').' - '.i18n_r('WARNING').'</span></td></tr>'; } if (! in_arrayi('SimpleXML', $php_modules) ) { echo '<tr><td>SimpleXML Module</td><td><span class="ERRmsg" >'.i18n_r('NOT_INSTALLED').' - '.i18n_r('ERROR').'</span></td></tr>'; } else { echo '<tr><td>SimpleXML Module</td><td><span class="OKmsg" >'.i18n_r('INSTALLED').' - '.i18n_r('OK').'</span></td></tr>'; } if (server_is_apache()) { echo '<tr><td>Apache web server</td><td><span class="OKmsg" >'.$_SERVER['SERVER_SOFTWARE'].' - '.i18n_r('OK').'</span></td></tr>'; if ( function_exists('apache_get_modules') ) { if(! in_arrayi('mod_rewrite',apache_get_modules())) { echo '<tr><td>Apache Mod Rewrite</td><td><span class="WARNmsg" >'.i18n_r('NOT_INSTALLED').' - '.i18n_r('WARNING').'</span></td></tr>'; } else { echo '<tr><td>Apache Mod Rewrite</td><td><span class="OKmsg" >'.i18n_r('INSTALLED').' - '.i18n_r('OK').'</span></td></tr>'; } } else { echo '<tr><td>Apache Mod Rewrite</td><td><span class="OKmsg" >'.i18n_r('INSTALLED').' - '.i18n_r('OK').'</span></td></tr>'; } } else { if (!defined('GSNOAPACHECHECK') || GSNOAPACHECHECK == false) { echo '<tr><td>Apache web server</td><td><span class="ERRmsg" >'.$_SERVER['SERVER_SOFTWARE'].' - <b>'.i18n_r('ERROR').'</b></span></td></tr>'; } } ?> </table> <p class="hint"><?php echo sprintf(i18n_r('REQS_MORE_INFO'), "http://get-simple.info/wiki/installation:requirements"); ?></p> <?php if ($kill != '') { ?> <p><?php i18n('KILL_CANT_CONTINUE');?> <a href="./" ><?php i18n('REFRESH');?></a></p> <?php } else {?> <form action="setup.php" method="post" accept-charset="utf-8" > <div class="leftsec"> <p> <?php echo $langs; ?><a href="http://get-simple.info/wiki/languages" target="_blank" ><?php i18n('DOWNLOAD_LANG');?></a> <noscript><a href="install.php?lang=" id="refreshlanguage" ><?php i18n('REFRESH');?></a> | </noscript> </p> </div> <div class="clear"></div> <p><input class="submit" type="submit" name="continue" value="<?php i18n('CONTINUE_SETUP');?> »" /></p> </form> <small class="hint"></small> <?php } ?> </div> </div> <div class="clear"></div> <?php get_template('footer'); ?>