Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /************************************ * @author Mian Saleem * * ..

Decoded Output download

<?php 
 
/************************************ 
*   @author         Mian Saleem     * 
*   @package        SPOS B4         * 
*   @subpackage     install         * 
************************************/ 
 
$installFile = "../SPOS4"; 
$indexFile = "../index.php"; 
$configFolder = "../app/config"; 
$configFile = "../app/config/config.php"; 
$dbFile = "../app/config/database.php"; 
if (is_file($installFile)) { 
 
    switch($_GET['step']){ 
        default: ?> 
        <ul class="steps"> 
            <li class="active pk">Checklist</li> 
            <li>Verify</li> 
            <li>Database</li> 
            <li>Site Config</li> 
            <li class="last">Done!</li> 
        </ul> 
        <h3>Pre-Install Checklist</h3> 
        <?php 
        $error = FALSE; 
        if(!is_writeable($indexFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Index Filer (index.php) is not writeable!</div>"; } 
        if(!is_writeable($configFolder)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Config Folder (app/config/) is not writeable!</div>"; } 
        if(!is_writeable($configFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Config File (app/config/config.php) is not writeable!</div>"; } 
        if(!is_writeable($dbFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Database File (app/config/database.php) is not writeable!</div>"; } 
        if(phpversion() < "5.3"){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Your PHP version is ".phpversion()."! PHP 5.3 or higher required!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> You are running PHP ".phpversion()."</div>";} 
        if(!extension_loaded('mcrypt')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mcrypt PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mcrypt PHP exention loaded!</div>";} 
        if(!extension_loaded('mysql')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mysql PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mysql PHP exention loaded!</div>";} 
        if(!extension_loaded('mysqli')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mysqli PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mysqli PHP exention loaded!</div>";} 
        if(!extension_loaded('mbstring')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> MBString PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> MBString PHP exention loaded!</div>";} 
        if(!extension_loaded('gd')){echo "<div class='alert alert-error'><i class='icon-remove'></i> GD PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> GD PHP exention loaded!</div>";} 
        if(!extension_loaded('curl')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> CURL PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> CURL PHP exention loaded!</div>";} 
        ?> 
        <div class="bottom"> 
            <?php if($error){ ?> 
            <a href="#" class="btn btn-primary disabled">Next Step</a> 
            <?php }else{ ?> 
            <a href="index.php?step=0" class="btn btn-primary">Next Step</a> 
            <?php } ?> 
        </div> 
 
        <?php 
        break; 
        case "0": ?> 
        <ul class="steps"> 
            <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
            <li class="active">Verify</li> 
            <li>Database</li> 
            <li>Site Config</li> 
            <li class="last">Done!</li> 
        </ul> 
        <h3>Verify your purchase</h3> 
        <?php 
        if($_POST){ 
            $code = $_POST["code"]; 
            $username = $_POST["username"]; 
            $curl_handle = curl_init(); 
            curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/license/'); 
            curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
            curl_setopt($curl_handle, CURLOPT_POST, 1); 
            $referer = "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24); 
            $path = substr(realpath(dirname(__FILE__)), 0, -8); 
            curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array( 
                'username' => $_POST["username"], 
                //'email' => $_POST["email"], 
                'code' => $_POST["code"] , 
                'id' => '3947976', 
                'ip' => $_SERVER['REMOTE_ADDR'], 
                'referer' => $referer, 
                'path' => $path 
                )); 
 
            $buffer = curl_exec($curl_handle); 
            curl_close($curl_handle); 
            if (! (is_object(json_decode($buffer)))) { 
                $cfc = strip_tags($buffer); 
            } else { 
                $cfc = NULL; 
            } 
            $object = json_decode($buffer); 
 
            if ($object->status == 'success') { 
                ?> 
                <form action="index.php?step=1" method="POST" class="form-horizontal"> 
 
                    <div class="alert alert-success"><i class='icon-ok'></i> <strong><?php echo ucfirst($object->status); ?></strong>:<br /><?php echo $object->message; ?></div> 
                    <input id="code" type="hidden" name="code" value="<?php echo $code; ?>" /> 
                    <input id="username" type="hidden" name="username" value="<?php echo $username; ?>" /> 
                    <div class="bottom"> 
                        <input type="submit" class="btn btn-primary" value="Next Step"/> 
                    </div> 
                </form> 
                <?php } else { ?> 
                <div class="alert alert-error"><i class='icon-remove'></i> <strong><?php echo ucfirst($object->status); ?> <?php echo $cfc ? 'CloudFlare Security Error (request challenge/blacklist IP)' : ''; ?> :</strong><br /> <?php echo $object->message; ?><?php echo substr($cfc, -200, 150) ; ?></div> 
                <form action="index.php?step=0" method="POST" class="form-horizontal"> 
                    <div class="control-group"> 
                        <label class="control-label" for="username">Envato Username</label> 
                        <div class="controls"> 
                            <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" /> 
                        </div> 
                    </div> 
        <!--<div class="control-group"> 
          <label class="control-label" for="email">Support Email</label> 
          <div class="controls"> 
          <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" /> 
          </div> 
      </div>--> 
      <div class="control-group"> 
        <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label> 
        <div class="controls"> 
            <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" /> 
        </div> 
      </div> 
      <div class="bottom"> 
        <input type="submit" class="btn btn-primary" value="Check"/> 
      </div> 
  </form> 
  <?php 
} 
}else{  ?> 
<p>Please enter the required information to verify your purchase. </p><br> 
<form action="index.php?step=0" method="POST" class="form-horizontal"> 
    <div class="control-group"> 
        <label class="control-label" for="username">Envato Username</label> 
        <div class="controls"> 
            <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" /> 
        </div> 
    </div> 
        <!--<div class="control-group"> 
          <label class="control-label" for="email">Support Email</label> 
          <div class="controls"> 
          <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" /> 
          </div> 
      </div>--> 
      <div class="control-group"> 
        <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label> 
        <div class="controls"> 
            <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" /> 
        </div> 
      </div> 
 
      <div class="bottom"> 
        <input type="submit" class="btn btn-primary" value="Validate"/> 
      </div> 
  </form> 
  <?php } 
  break; 
  case "1": ?> 
  <ul class="steps"> 
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
    <li class="ok"><i class="icon icon-ok"></i>Verify</li> 
    <li class="active">Database</li> 
    <li>Site Config</li> 
    <li class="last">Done!</li> 
  </ul> 
  <?php if($_POST){ ?> 
  <h3>Database Config</h3> 
  <p>If the database does not exist the system will try to create it.</p> 
  <form action="index.php?step=2" method="POST" class="form-horizontal"> 
    <div class="control-group"> 
        <label class="control-label" for="dbhost">Database Host</label> 
        <div class="controls"> 
            <input id="dbhost" type="text" name="dbhost" class="input-large" required data-error="DB Host is required" placeholder="DB Host" value="localhost" /> 
        </div> 
    </div> 
    <div class="control-group"> 
        <label class="control-label" for="dbusername">Database Username</label> 
        <div class="controls"> 
            <input id="dbusername" type="text" name="dbusername" class="input-large" required data-error="DB Username is required" placeholder="DB Username" /> 
        </div> 
    </div> 
    <div class="control-group"> 
        <label class="control-label" for="dbpassword">Database Password</a></label> 
        <div class="controls"> 
            <input id="dbpassword" type="password" name="dbpassword" class="input-large" data-error="DB Password is required" placeholder="DB Password" /> 
        </div> 
    </div> 
    <div class="control-group"> 
        <label class="control-label" for="dbname">Database Name</label> 
        <div class="controls"> 
            <input id="dbname" type="text" name="dbname" class="input-large" required data-error="DB Name is required" placeholder="DB Name" /> 
        </div> 
    </div> 
 
    <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
    <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
    <div class="bottom"> 
        <input type="submit" class="btn btn-primary" value="Next Step"/> 
    </div> 
  </form> 
  <?php } 
  break; 
  case "2": 
  ?> 
  <ul class="steps"> 
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
    <li class="ok"><i class="icon icon-ok"></i>Verify</li> 
    <li class="active">Database</li> 
    <li>Site Config</li> 
    <li class="last">Done!</li> 
  </ul> 
  <h3>Saving database config</h3> 
  <?php 
  if($_POST){ 
    $dbhost = $_POST["dbhost"]; 
    $dbusername = $_POST["dbusername"]; 
    $dbpassword = $_POST["dbpassword"]; 
    $dbname = $_POST["dbname"]; 
    $code = $_POST["code"]; 
    $username = $_POST["username"]; 
    $link = @mysql_connect($dbhost, $dbusername, $dbpassword); 
    if (!$link) { 
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Could not connect to MYSQL!</div>"; 
    }else{ 
        echo '<div class="alert alert-success"><i class="icon-ok"></i> Connection to MYSQL successful!</div>'; 
 
        $db_selected = @mysql_select_db($dbname, $link); 
        if (!$db_selected) { 
            if(!mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname` /*!40100 CHARACTER SET utf8 COLLATE 'utf8_general_ci' */")){ 
                echo "<div class='alert alert-error'><i class='icon-remove'></i> Database ".$dbname." does not exist and could not be created. Please create the Database manually and retry this step.</div>"; 
 
                return FALSE; 
            }else{ echo "<div class='alert alert-success'><i class='icon-ok'></i> Database ".$dbname." created</div>";} 
        } 
        mysql_select_db($dbname); 
 
        require_once('includes/core_class.php'); 
        $core = new Core(); 
        $dbdata = array( 
            'hostname' => $dbhost, 
            'username' => $dbusername, 
            'password' => $dbpassword, 
            'database' => $dbname 
            ); 
 
        if ($core->write_database($dbdata) == false) { 
            echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write database details to ".$dbFile."</div>"; 
        } else { 
            echo "<div class='alert alert-success'><i class='icon-ok'></i> Database config written to the database file.</div>"; 
        } 
 
    } 
  } else { echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>"; } 
  ?> 
  <div class="bottom"> 
    <form action="index.php?step=1" method="POST" class="form-horizontal"> 
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
        <input type="submit" class="btn pull-left" value="Previous Step"/> 
    </form> 
    <form action="index.php?step=3" method="POST" class="form-horizontal"> 
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
        <input type="submit" class="btn btn-primary pull-right" value="Next Step"> 
    </form> 
    <br clear="all"> 
  </div> 
  <?php 
  break; 
  case "3": 
  ?> 
  <ul class="steps"> 
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
    <li class="ok"><i class="icon icon-ok"></i>Verify</li> 
    <li class="ok"><i class="icon icon-ok"></i>Database</li> 
    <li class="active">Site Config</li> 
    <li class="last">Done!</li> 
  </ul> 
  <h3>Site Config</h3> 
  <?php if($_POST){ ?> 
  <form action="index.php?step=4" method="POST" class="form-horizontal"> 
    <div class="control-group"> 
        <label class="control-label" for="domain">Base URL</label> 
        <div class="controls"> 
            <input type="text" id="domain" name="domain" class="xlarge" required data-error="Base URL is required" value="<?php echo "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24); ?>" /> 
        </div> 
    </div> 
    <div class="control-group"> 
        <label class="control-label" for="domain">SECRET KEY</label> 
        <div class="controls"> 
            <?php $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; ?> 
            <input type="text" id="enckey" name="enckey" class="xlarge" required data-error="SECRET KEY is required" value="<?php echo substr(str_shuffle($characters), 25); ?>" /> 
        </div> 
    </div> 
    <div class="control-group"> 
        <label class="control-label" for="domain">Your Timezone</a></label> 
        <div class="controls"> 
            <?php 
            $timezones = DateTimeZone::listIdentifiers(); 
            echo '<select name="timezone" required="required" data-error="TimeZone is required">'; 
            foreach ($timezones as $tz){ 
                echo '<option value="'.$tz.'">'.$tz.'</option>'; 
            } 
            echo '</select>'; ?> 
        </div> 
    </div> 
    <input type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
    <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
    <div class="bottom"> 
        <a href="index.php?step=2" class="btn pull-left">Previous Step</a> 
        <input type="submit" class="btn btn-primary" value="Next Step"/> 
    </div> 
  </form> 
 
  <?php } 
  break; 
  case "4": 
  ?> 
  <ul class="steps"> 
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
    <li class="ok"><i class="icon icon-ok"></i>Verify</li> 
    <li class="ok">Database</li> 
    <li class="active">Site Config</li> 
    <li class="last">Done!</li> 
  </ul> 
  <h3>Saving site config</h3> 
  <?php 
  if($_POST){ 
    $domain = $_POST['domain']; 
    $enckey = $_POST['enckey']; 
    $timezone = $_POST['timezone']; 
    $code = $_POST["code"]; 
    $username = $_POST["username"]; 
 
    require_once('includes/core_class.php'); 
    $core = new Core(); 
 
    if ($core->write_config($domain, $enckey) == false) { 
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write config details to ".$configFile."</div>"; 
    } elseif ($core->write_index($timezone) == false) { 
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write timezone details to ".$indexFile."</div>"; 
    } else { 
        echo "<div class='alert alert-success'><i class='icon-ok'></i> Config details written to the config file.</div>"; 
    } 
 
 
  } else { echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>"; } 
  ?> 
  <div class="bottom"> 
    <form action="index.php?step=2" method="POST" class="form-horizontal"> 
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
        <input type="submit" class="btn pull-left" value="Previous Step"/> 
    </form> 
    <form action="index.php?step=5" method="POST" class="form-horizontal"> 
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" /> 
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" /> 
        <input type="submit" class="btn btn-primary pull-right" value="Next Step"> 
    </form> 
    <br clear="all"> 
  </div> 
 
  <?php 
  break; 
  case "5": ?> 
  <ul class="steps"> 
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li> 
    <li class="ok"><i class="icon icon-ok"></i>Verify</li> 
    <li class="ok"><i class="icon icon-ok"></i>Database</li> 
    <li class="ok"><i class="icon icon-ok"></i>Site Config</li> 
    <li  class="active">Done!</li> 
  </ul> 
 
  <?php if($_POST){ 
    $code = $_POST['code']; 
    $username = $_POST['username']; 
    define("BASEPATH", "install/"); 
    include("../app/config/database.php"); 
    $curl_handle = curl_init(); 
    curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/dbtables/'); 
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl_handle, CURLOPT_POST, 1); 
    curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array( 
        'username' => $_POST["username"], 
        'code' => $_POST["code"] , 
        'id' => '3947976', 
        'version' => '4.0', 
        'type' => 'install' 
        )); 
    $buffer = curl_exec($curl_handle); 
    curl_close($curl_handle); 
    $object = json_decode($buffer); 
 
    if ($object->status == 'success') { 
        $dbdata = array( 
            'hostname' => $db['default']['hostname'], 
            'username' => $db['default']['username'], 
            'password' => $db['default']['password'], 
            'database' => $db['default']['database'], 
            'dbtables' => $object->database 
            ); 
        require_once('includes/database_class.php'); 
        $database = new Database(); 
        if ($database->create_tables($dbdata, $_POST['username'], $_POST['code']) == false) { 
            $finished = FALSE; 
            echo "<div class='alert alert-warning'><i class='icon-warning'></i> The database tables could not be created, please try again.</div>"; 
        } else { 
            $finished = TRUE; 
            if(!@unlink('../SPSO4')){ 
                echo "<div class='alert alert-warning'><i class='icon-warning'></i> Please remove the SPOS4 file from the main folder in order to lock the installer.</div>"; 
            } 
 
        } 
 
    }else{ 
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Error while validating your purchase code!</div>"; 
    } 
 
  } 
  if($finished) { 
    ?> 
 
    <h3><i class='icon-ok'></i> Installation completed!</h3> 
    <div class="alert alert-info"><i class='icon-info-sign'></i> You can login now using the following credential:<br /><br /> 
        Username: <span style="font-weight:bold; letter-spacing:1px;">[email protected]</span><br />Password: <span style="font-weight:bold; letter-spacing:1px;">12345678</span><br /><br /></div> 
        <div class="alert alert-warning"><i class='icon-warning-sign'></i> Please don't forget to change username and password.</div> 
        <div class="bottom"> 
            <a href="<?php echo "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24); ?>" class="btn btn-primary">Go to Login</a> 
        </div> 
 
        <?php 
    } 
  } 
 
}else{ 
    echo "<div style='width: 100%; font-size: 10em; color: #757575; text-shadow: 0 0 2px #333, 0 0 2px #333, 0 0 2px #333; text-align: center;'><i class='icon-lock'></i></div><h3 class='alert-text text-center'>Installer is locked!<br><small style='color:#666;'>Please contact your developer/support.</small></h3>"; 
} 
?> 
 
 
<!-- Modal --> 
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon-remove"></i></button> 
        <h3 id="myModalLabel">How to find your purchase code</h3> 
    </div> 
    <div class="modal-body"> 
        <img src="img/purchaseCode.png"> 
    </div> 
</div> 

Did this file decode correctly?

Original Code

<?php

/************************************
*   @author         Mian Saleem     *
*   @package        SPOS B4         *
*   @subpackage     install         *
************************************/

$installFile = "../SPOS4";
$indexFile = "../index.php";
$configFolder = "../app/config";
$configFile = "../app/config/config.php";
$dbFile = "../app/config/database.php";
if (is_file($installFile)) {

    switch($_GET['step']){
        default: ?>
        <ul class="steps">
            <li class="active pk">Checklist</li>
            <li>Verify</li>
            <li>Database</li>
            <li>Site Config</li>
            <li class="last">Done!</li>
        </ul>
        <h3>Pre-Install Checklist</h3>
        <?php
        $error = FALSE;
        if(!is_writeable($indexFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Index Filer (index.php) is not writeable!</div>"; }
        if(!is_writeable($configFolder)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Config Folder (app/config/) is not writeable!</div>"; }
        if(!is_writeable($configFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Config File (app/config/config.php) is not writeable!</div>"; }
        if(!is_writeable($dbFile)){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Database File (app/config/database.php) is not writeable!</div>"; }
        if(phpversion() < "5.3"){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Your PHP version is ".phpversion()."! PHP 5.3 or higher required!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> You are running PHP ".phpversion()."</div>";}
        if(!extension_loaded('mcrypt')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mcrypt PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mcrypt PHP exention loaded!</div>";}
        if(!extension_loaded('mysql')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mysql PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mysql PHP exention loaded!</div>";}
        if(!extension_loaded('mysqli')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> Mysqli PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> Mysqli PHP exention loaded!</div>";}
        if(!extension_loaded('mbstring')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> MBString PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> MBString PHP exention loaded!</div>";}
        if(!extension_loaded('gd')){echo "<div class='alert alert-error'><i class='icon-remove'></i> GD PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> GD PHP exention loaded!</div>";}
        if(!extension_loaded('curl')){$error = TRUE; echo "<div class='alert alert-error'><i class='icon-remove'></i> CURL PHP exention missing!</div>";}else{echo "<div class='alert alert-success'><i class='icon-ok'></i> CURL PHP exention loaded!</div>";}
        ?>
        <div class="bottom">
            <?php if($error){ ?>
            <a href="#" class="btn btn-primary disabled">Next Step</a>
            <?php }else{ ?>
            <a href="index.php?step=0" class="btn btn-primary">Next Step</a>
            <?php } ?>
        </div>

        <?php
        break;
        case "0": ?>
        <ul class="steps">
            <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
            <li class="active">Verify</li>
            <li>Database</li>
            <li>Site Config</li>
            <li class="last">Done!</li>
        </ul>
        <h3>Verify your purchase</h3>
        <?php
        if($_POST){
            $code = $_POST["code"];
            $username = $_POST["username"];
            $curl_handle = curl_init();
            curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/license/');
            curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl_handle, CURLOPT_POST, 1);
            $referer = "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24);
            $path = substr(realpath(dirname(__FILE__)), 0, -8);
            curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(
                'username' => $_POST["username"],
                //'email' => $_POST["email"],
                'code' => $_POST["code"] ,
                'id' => '3947976',
                'ip' => $_SERVER['REMOTE_ADDR'],
                'referer' => $referer,
                'path' => $path
                ));

            $buffer = curl_exec($curl_handle);
            curl_close($curl_handle);
            if (! (is_object(json_decode($buffer)))) {
                $cfc = strip_tags($buffer);
            } else {
                $cfc = NULL;
            }
            $object = json_decode($buffer);

            if ($object->status == 'success') {
                ?>
                <form action="index.php?step=1" method="POST" class="form-horizontal">

                    <div class="alert alert-success"><i class='icon-ok'></i> <strong><?php echo ucfirst($object->status); ?></strong>:<br /><?php echo $object->message; ?></div>
                    <input id="code" type="hidden" name="code" value="<?php echo $code; ?>" />
                    <input id="username" type="hidden" name="username" value="<?php echo $username; ?>" />
                    <div class="bottom">
                        <input type="submit" class="btn btn-primary" value="Next Step"/>
                    </div>
                </form>
                <?php } else { ?>
                <div class="alert alert-error"><i class='icon-remove'></i> <strong><?php echo ucfirst($object->status); ?> <?php echo $cfc ? 'CloudFlare Security Error (request challenge/blacklist IP)' : ''; ?> :</strong><br /> <?php echo $object->message; ?><?php echo substr($cfc, -200, 150) ; ?></div>
                <form action="index.php?step=0" method="POST" class="form-horizontal">
                    <div class="control-group">
                        <label class="control-label" for="username">Envato Username</label>
                        <div class="controls">
                            <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" />
                        </div>
                    </div>
        <!--<div class="control-group">
          <label class="control-label" for="email">Support Email</label>
          <div class="controls">
          <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" />
          </div>
      </div>-->
      <div class="control-group">
        <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label>
        <div class="controls">
            <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" />
        </div>
      </div>
      <div class="bottom">
        <input type="submit" class="btn btn-primary" value="Check"/>
      </div>
  </form>
  <?php
}
}else{  ?>
<p>Please enter the required information to verify your purchase. </p><br>
<form action="index.php?step=0" method="POST" class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="username">Envato Username</label>
        <div class="controls">
            <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" />
        </div>
    </div>
        <!--<div class="control-group">
          <label class="control-label" for="email">Support Email</label>
          <div class="controls">
          <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" />
          </div>
      </div>-->
      <div class="control-group">
        <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label>
        <div class="controls">
            <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" />
        </div>
      </div>

      <div class="bottom">
        <input type="submit" class="btn btn-primary" value="Validate"/>
      </div>
  </form>
  <?php }
  break;
  case "1": ?>
  <ul class="steps">
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
    <li class="ok"><i class="icon icon-ok"></i>Verify</li>
    <li class="active">Database</li>
    <li>Site Config</li>
    <li class="last">Done!</li>
  </ul>
  <?php if($_POST){ ?>
  <h3>Database Config</h3>
  <p>If the database does not exist the system will try to create it.</p>
  <form action="index.php?step=2" method="POST" class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="dbhost">Database Host</label>
        <div class="controls">
            <input id="dbhost" type="text" name="dbhost" class="input-large" required data-error="DB Host is required" placeholder="DB Host" value="localhost" />
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="dbusername">Database Username</label>
        <div class="controls">
            <input id="dbusername" type="text" name="dbusername" class="input-large" required data-error="DB Username is required" placeholder="DB Username" />
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="dbpassword">Database Password</a></label>
        <div class="controls">
            <input id="dbpassword" type="password" name="dbpassword" class="input-large" data-error="DB Password is required" placeholder="DB Password" />
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="dbname">Database Name</label>
        <div class="controls">
            <input id="dbname" type="text" name="dbname" class="input-large" required data-error="DB Name is required" placeholder="DB Name" />
        </div>
    </div>

    <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
    <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
    <div class="bottom">
        <input type="submit" class="btn btn-primary" value="Next Step"/>
    </div>
  </form>
  <?php }
  break;
  case "2":
  ?>
  <ul class="steps">
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
    <li class="ok"><i class="icon icon-ok"></i>Verify</li>
    <li class="active">Database</li>
    <li>Site Config</li>
    <li class="last">Done!</li>
  </ul>
  <h3>Saving database config</h3>
  <?php
  if($_POST){
    $dbhost = $_POST["dbhost"];
    $dbusername = $_POST["dbusername"];
    $dbpassword = $_POST["dbpassword"];
    $dbname = $_POST["dbname"];
    $code = $_POST["code"];
    $username = $_POST["username"];
    $link = @mysql_connect($dbhost, $dbusername, $dbpassword);
    if (!$link) {
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Could not connect to MYSQL!</div>";
    }else{
        echo '<div class="alert alert-success"><i class="icon-ok"></i> Connection to MYSQL successful!</div>';

        $db_selected = @mysql_select_db($dbname, $link);
        if (!$db_selected) {
            if(!mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname` /*!40100 CHARACTER SET utf8 COLLATE 'utf8_general_ci' */")){
                echo "<div class='alert alert-error'><i class='icon-remove'></i> Database ".$dbname." does not exist and could not be created. Please create the Database manually and retry this step.</div>";

                return FALSE;
            }else{ echo "<div class='alert alert-success'><i class='icon-ok'></i> Database ".$dbname." created</div>";}
        }
        mysql_select_db($dbname);

        require_once('includes/core_class.php');
        $core = new Core();
        $dbdata = array(
            'hostname' => $dbhost,
            'username' => $dbusername,
            'password' => $dbpassword,
            'database' => $dbname
            );

        if ($core->write_database($dbdata) == false) {
            echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write database details to ".$dbFile."</div>";
        } else {
            echo "<div class='alert alert-success'><i class='icon-ok'></i> Database config written to the database file.</div>";
        }

    }
  } else { echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>"; }
  ?>
  <div class="bottom">
    <form action="index.php?step=1" method="POST" class="form-horizontal">
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
        <input type="submit" class="btn pull-left" value="Previous Step"/>
    </form>
    <form action="index.php?step=3" method="POST" class="form-horizontal">
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
        <input type="submit" class="btn btn-primary pull-right" value="Next Step">
    </form>
    <br clear="all">
  </div>
  <?php
  break;
  case "3":
  ?>
  <ul class="steps">
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
    <li class="ok"><i class="icon icon-ok"></i>Verify</li>
    <li class="ok"><i class="icon icon-ok"></i>Database</li>
    <li class="active">Site Config</li>
    <li class="last">Done!</li>
  </ul>
  <h3>Site Config</h3>
  <?php if($_POST){ ?>
  <form action="index.php?step=4" method="POST" class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="domain">Base URL</label>
        <div class="controls">
            <input type="text" id="domain" name="domain" class="xlarge" required data-error="Base URL is required" value="<?php echo "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24); ?>" />
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="domain">SECRET KEY</label>
        <div class="controls">
            <?php $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; ?>
            <input type="text" id="enckey" name="enckey" class="xlarge" required data-error="SECRET KEY is required" value="<?php echo substr(str_shuffle($characters), 25); ?>" />
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="domain">Your Timezone</a></label>
        <div class="controls">
            <?php
            $timezones = DateTimeZone::listIdentifiers();
            echo '<select name="timezone" required="required" data-error="TimeZone is required">';
            foreach ($timezones as $tz){
                echo '<option value="'.$tz.'">'.$tz.'</option>';
            }
            echo '</select>'; ?>
        </div>
    </div>
    <input type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
    <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
    <div class="bottom">
        <a href="index.php?step=2" class="btn pull-left">Previous Step</a>
        <input type="submit" class="btn btn-primary" value="Next Step"/>
    </div>
  </form>

  <?php }
  break;
  case "4":
  ?>
  <ul class="steps">
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
    <li class="ok"><i class="icon icon-ok"></i>Verify</li>
    <li class="ok">Database</li>
    <li class="active">Site Config</li>
    <li class="last">Done!</li>
  </ul>
  <h3>Saving site config</h3>
  <?php
  if($_POST){
    $domain = $_POST['domain'];
    $enckey = $_POST['enckey'];
    $timezone = $_POST['timezone'];
    $code = $_POST["code"];
    $username = $_POST["username"];

    require_once('includes/core_class.php');
    $core = new Core();

    if ($core->write_config($domain, $enckey) == false) {
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write config details to ".$configFile."</div>";
    } elseif ($core->write_index($timezone) == false) {
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write timezone details to ".$indexFile."</div>";
    } else {
        echo "<div class='alert alert-success'><i class='icon-ok'></i> Config details written to the config file.</div>";
    }


  } else { echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>"; }
  ?>
  <div class="bottom">
    <form action="index.php?step=2" method="POST" class="form-horizontal">
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
        <input type="submit" class="btn pull-left" value="Previous Step"/>
    </form>
    <form action="index.php?step=5" method="POST" class="form-horizontal">
        <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
        <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
        <input type="submit" class="btn btn-primary pull-right" value="Next Step">
    </form>
    <br clear="all">
  </div>

  <?php
  break;
  case "5": ?>
  <ul class="steps">
    <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
    <li class="ok"><i class="icon icon-ok"></i>Verify</li>
    <li class="ok"><i class="icon icon-ok"></i>Database</li>
    <li class="ok"><i class="icon icon-ok"></i>Site Config</li>
    <li  class="active">Done!</li>
  </ul>

  <?php if($_POST){
    $code = $_POST['code'];
    $username = $_POST['username'];
    define("BASEPATH", "install/");
    include("../app/config/database.php");
    $curl_handle = curl_init();
    curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/dbtables/');
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl_handle, CURLOPT_POST, 1);
    curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(
        'username' => $_POST["username"],
        'code' => $_POST["code"] ,
        'id' => '3947976',
        'version' => '4.0',
        'type' => 'install'
        ));
    $buffer = curl_exec($curl_handle);
    curl_close($curl_handle);
    $object = json_decode($buffer);

    if ($object->status == 'success') {
        $dbdata = array(
            'hostname' => $db['default']['hostname'],
            'username' => $db['default']['username'],
            'password' => $db['default']['password'],
            'database' => $db['default']['database'],
            'dbtables' => $object->database
            );
        require_once('includes/database_class.php');
        $database = new Database();
        if ($database->create_tables($dbdata, $_POST['username'], $_POST['code']) == false) {
            $finished = FALSE;
            echo "<div class='alert alert-warning'><i class='icon-warning'></i> The database tables could not be created, please try again.</div>";
        } else {
            $finished = TRUE;
            if(!@unlink('../SPSO4')){
                echo "<div class='alert alert-warning'><i class='icon-warning'></i> Please remove the SPOS4 file from the main folder in order to lock the installer.</div>";
            }

        }

    }else{
        echo "<div class='alert alert-error'><i class='icon-remove'></i> Error while validating your purchase code!</div>";
    }

  }
  if($finished) {
    ?>

    <h3><i class='icon-ok'></i> Installation completed!</h3>
    <div class="alert alert-info"><i class='icon-info-sign'></i> You can login now using the following credential:<br /><br />
        Username: <span style="font-weight:bold; letter-spacing:1px;">[email protected]</span><br />Password: <span style="font-weight:bold; letter-spacing:1px;">12345678</span><br /><br /></div>
        <div class="alert alert-warning"><i class='icon-warning-sign'></i> Please don't forget to change username and password.</div>
        <div class="bottom">
            <a href="<?php echo "http://".$_SERVER["SERVER_NAME"].substr($_SERVER["REQUEST_URI"], 0, -24); ?>" class="btn btn-primary">Go to Login</a>
        </div>

        <?php
    }
  }

}else{
    echo "<div style='width: 100%; font-size: 10em; color: #757575; text-shadow: 0 0 2px #333, 0 0 2px #333, 0 0 2px #333; text-align: center;'><i class='icon-lock'></i></div><h3 class='alert-text text-center'>Installer is locked!<br><small style='color:#666;'>Please contact your developer/support.</small></h3>";
}
?>


<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon-remove"></i></button>
        <h3 id="myModalLabel">How to find your purchase code</h3>
    </div>
    <div class="modal-body">
        <img src="img/purchaseCode.png">
    </div>
</div>

Function Calls

is_file 1

Variables

$dbFile ../app/config/database.php
$indexFile ../index.php
$configFile ../app/config/config.php
$installFile ../SPOS4
$configFolder ../app/config

Stats

MD5 3e7b73a627a8d48f4e0d87e8d8b79e43
Eval Count 0
Decode Time 120 ms