Skip to content
Snippets Groups Projects
install.php 4.30 KiB
<?php
/*********************************************************************
    install.php

    osTicket Installer.

    Peter Rotich <peter@osticket.com>
    Copyright (c)  2006-2012 osTicket
    http://www.osticket.com

    Released under the GNU General Public License WITHOUT ANY WARRANTY.
    See LICENSE.TXT for details.

    vim: expandtab sw=4 ts=4 sts=4:
**********************************************************************/
require('setup.inc.php');

require_once INC_DIR.'class.installer.php';


//define('OSTICKET_CONFIGFILE','../include/ost-config.php'); //osTicket config file full path.
define('OSTICKET_CONFIGFILE','../include/ost-config.php'); //XXX: Make sure the path is corrent b4 releasing.


$installer = new Installer(OSTICKET_CONFIGFILE); //Installer instance.
$wizard=array();
$wizard['title']='osTicket Installer';
$wizard['tagline']='Installing osTicket v'.$installer->getVersionVerbose();
$wizard['logo']='logo.png';
$wizard['menu']=array('Installation Guide'=>'http://osticket.com/wiki/Installation',
        'Get Professional Help'=>'http://osticket.com/support');

if($_POST && $_POST['s']) {
    $errors = array();
    $_SESSION['ost_installer']['s']=$_POST['s'];
    switch(strtolower($_POST['s'])) {
        case 'prereq':
            if($installer->check_prereq())
                $_SESSION['ost_installer']['s']='config';
            else
                $errors['prereq']='Minimum requirements not met!';
            break;
        case 'config':
            if(!$installer->config_exists())
                $errors['err']='Configuration file does NOT exist. Follow steps below to add one.';
            elseif(!$installer->config_writable())
                $errors['err']='Write access required to continue';
            else
                $_SESSION['ost_installer']['s']='install';
            break;
        case 'install':
            if($installer->install($_POST)) {
                $_SESSION['info']=array('name'  =>ucfirst($_POST['fname'].' '.$_POST['lname']),
                                        'email' =>$_POST['admin_email'],
                                        'URL'=>URL);
                //TODO: Go to subscribe step.
                $_SESSION['ost_installer']['s']='done';
            } elseif(!($errors=$installer->getErrors()) || !$errors['err']) {
                $errors['err']='Error installing osTicket - correct the errors below and try again.';
            }
            break;
        case 'subscribe':
            if(!trim($_POST['name']))
                $errors['name'] = 'Required';

            if(!$_POST['email'])
                $errors['email'] = 'Required';
            elseif(!Validator::is_email($_POST['email']))
                $errors['email'] = 'Invalid';