hi, can anyone send me install/index.php file for phpLD version 2.0 ? i modified the one i have and its not working anymore , also its no more available for download. PM me or post here if you have . thanks
<?php require_once '../include/config.php'; $fn = INSTALL_PATH.'temp/templates'; if(!is_writable($fn)){ @chmod( $fn, 0777 ); } require_once 'include/functions.php'; require_once 'install/config.php'; require_once 'libs/intsmarty/intsmarty.class.php'; require_once 'libs/smarty/SmartyValidate.class.php'; require_once 'libs/adodb/adodb.inc.php'; $tpl = new IntSmarty('en'); $tpl->template_dir = '../templates'; $tpl->compile_dir = '../temp/templates'; $tpl->cache_dir = '../temp/cache'; $tpl->compile_check = false; if(!is_writable($fn)){ die("<b>The installer cannot start.</b><br /> Please make sure that the folder <b>$fn</b> is writtable by the user the webserver runs under."); } $step = $_REQUEST['step'] ? $_REQUEST['step'] : 1; session_start(); $path = request_uri(); $i = strrpos($path, '/install')-8; define('DOC_ROOT', substr($path, 0, $i)); if(!$_SESSION['nologin']&&!isset($_SESSION['user_id'])&&defined('DB_DRIVER')&& defined('DB_HOST')){ $db = ADONewConnection(DB_DRIVER); if($db->Connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)){ $c = $db->GetOne("SELECT COUNT(*) FROM {$tables['user']['name']} WHERE ADMIN=1"); if($c>0){ $_SESSION['return'] = DOC_ROOT."/install/index.php"; header("Location: ".DOC_ROOT."/admin/login.php"); } } }else{ $_SESSION['nologin'] = true; } if (empty ($_REQUEST['submit'])) { $_SESSION['values'] = array ('db_driver' => 'mysql'); if(defined('DB_DRIVER')) $_SESSION['values']['db_driver'] = DB_DRIVER; else $_SESSION['values']['db_driver'] = 'mysql'; if(defined('DB_HOST')) $_SESSION['values']['db_host'] = DB_HOST; if(defined('DB_NAME')) $_SESSION['values']['db_name'] = DB_NAME; if(defined('DB_USER')) $_SESSION['values']['db_user'] = DB_USER; if(defined('DB_PASSWORD')) $_SESSION['values']['db_password'] = DB_PASSWORD; SmartyValidate :: connect($tpl, true); SmartyValidate :: set_page($step); SmartyValidate :: register_criteria('installDb', 'install_db'); SmartyValidate :: register_criteria('createAdmin', 'create_admin'); SmartyValidate :: register_criteria('checkAdmin', 'check_admin'); SmartyValidate :: register_validator('v_step', 'step', 'dummyValid', true); SmartyValidate :: register_validator('v_db_host', 'db_host', 'notEmpty', false, true, false, 'trim'); SmartyValidate :: register_validator('v_db_driver', 'db_driver', 'notEmpty', false, false); SmartyValidate :: register_validator('v_db_install', '', 'installDb'); SmartyValidate :: register_validator('v_checkAdmin', '', 'checkAdmin'); SmartyValidate :: register_validator('v_admin_user', 'admin_user:!^\w{4,10}$!', 'isRegExp'); SmartyValidate :: register_validator('v_admin_name', 'admin_name', 'notEmpty', false, false); SmartyValidate :: register_validator('v_admin_password', 'admin_password:6:10', 'isLength'); SmartyValidate :: register_validator('v_admin_passwordc', 'admin_password:admin_passwordc', 'isEqual'); SmartyValidate :: register_validator('v_admin_email', 'admin_email', 'isEmail'); SmartyValidate :: register_validator('v_createAdmin', '', 'createAdmin', false, false, true); } $_REQUEST = array_merge($_SESSION['values'], $_REQUEST); $_SESSION['values'] = $_REQUEST; $errors = array (); $messages = array (); $ss = $_SESSION; if ($_REQUEST['submit'] == 'next') { SmartyValidate :: connect($tpl); if (SmartyValidate :: is_valid($_REQUEST)) { $step ++; SmartyValidate :: set_page($step); } } elseif ($_REQUEST['submit'] == 'back') { $step --; SmartyValidate :: set_page($step); } $tpl->assign($_SESSION['values']); $tpl->assign('errors', $errors); $tpl->assign('messages', $messages); switch ($step) { case 1 : $tpl->assign('req', check_requirements()); $tpl->assign('btn_next', 1); $tpl->assign('title', _L('Welcome')); break; case 2 : foreach($db_drivers as $k => $val){ if(!in_array($k, $_SESSION['available_db'])){ unset($db_drivers[$k]); } } $tpl->assign('db_drivers', $db_drivers); $tpl->assign('btn_next', 1); $tpl->assign('btn_back', 1); $tpl->assignLang('title', _L('Database Settings')); break; case 3 : $tpl->assign('btn_next', 1); $tpl->assign('btn_back', 1); $tpl->assignLang('title', _L('Administrative User')); break; case 4 : $p = request_uri(); $tpl->assign('btn_back', 1); $tpl->assignLang('title', _L('Installation Finished')); } $tpl->assign('step', $step); echo $tpl->fetch('install/main.tpl'); function check_requirements(){ $req = array(); #PHP Vesion $r = array('req' =>_L('PHP Version >= 4.1')); $r['ok'] = version_compare(phpversion(), '4.1', '>='); $r['txt'] = '('.phpversion().')'; if(!$r['ok']){ $r['txt'] .= _L('phpLinkDirectory may not work. Please upgrade!'); } $req[] = $r; #Server API $r = array('req' =>_L('Server API')); $r['ok'] = php_sapi_name() != "cgi"; if($r['ok']){ $r['txt'] = '('.php_sapi_name().')'; }else{ $r['txt'] = _L('CGI mode is likely to have problems.'); } $req[] = $r; #GD support $r = array('req' => _L('GD Support (for visual confirmations)')); $r['ok'] = extension_loaded('gd'); if($r['ok']){ ob_start(); phpinfo(8); $module_info = ob_get_contents(); ob_end_clean(); if(preg_match("/\bgd\s+version\b[^\d\n\r]+?([\d\.]+)/i", $module_info, $matches)) { $r['txt'] = '('.$matches[1].')'; } }else{ $r['txt'] = _L('Visual confirmation functionality will not be available.'); } $req[] = $r; #Session Save Path writable? $r = array('req' => _L('Session Save Path writable?')); $sspath = ini_get('session.save_path'); if(preg_match("`.+;(.*)`", $sspath, $matches)){ $sspath = $matches[1]; } if (! $sspath) { $r['ok'] = false; $r['txt'] = _L('Warning: <span class="item">session.save_path ('.$sspath.')</span> is not set.'); }else if (is_dir($sspath) && is_writable($sspath)) { $r['ok'] = true; $r['txt'] = '<span class="item">('.$sspath.')</span>'; }else{ $r['ok'] = false; $r['txt'] = _L('Warning: <span class="item">##sspath##</span> not existing or not writable.'); $r['txt'] = str_replace('##sspath##', $sspath, $r['txt']); } $req[] = $r; $_SESSION['available_db'] = array(); #MSSQL Server Support $r = array('req' => _L('MSSQL Server Support')); $r['ok'] = function_exists( 'mssql_connect' ); if(!$r['ok']){ $r['txt'] = _L('Not available.'); }else{ $_SESSION['available_db'][] = 'mssqlpo'; } $req[] = $r; #MySQL Support $r = array('req' => _L('MySQL Support')); $r['ok'] = function_exists( 'mysql_connect' ); if($r['ok']){ $mysql_ver = @mysql_get_server_info(); if($mysql_ver) $r['txt'] = '('.$mysql_ver.')'; $_SESSION['available_db'][] = 'mysql'; }else{ $r['txt'] = _L('Not available.'); } $req[] = $r; #PostgreSQL Support $r = array('req' => _L('PostgreSQL Support')); $r['ok'] = function_exists( 'pg_connect' ); if(!$r['ok']){ $r['txt'] = _L('Not available.'); }else{ $_SESSION['available_db'][] = 'postgres64'; $_SESSION['available_db'][] = 'postgres7'; $_SESSION['available_db'][] = 'postgres8'; } $req[] = $r; #./include/config.php writable? $r = array('req' => _L('./include/config.php writable?')); $fn = INSTALL_PATH.'include/config.php'; if(!is_writable($fn)){ @chmod( $fn, 0777 ); } $r['ok'] = is_writable($fn); if(!$r['ok']){ $r['txt'] = _L('Fatal: '.INSTALL_PATH.'include/config.php is not writable, installation cannot continue.'); $r['fatal'] = true; } $req[] = $r; #./temp writable? $r = array('req' => _L('./temp writable?')); $fn = INSTALL_PATH.'/temp'; if(!is_writable($fn)){ @chmod( $fn, 0777 ); } $r['ok'] = is_writable($fn); if(!$r['ok']){ $r['txt'] = _L('Fatal: '.INSTALL_PATH.'temp is not writable, installation cannot continue.'); $r['fatal'] = true; } $req[] = $r; #./temp/templates writable? $r = array('req' => _L('./temp/templates writable?')); $fn = INSTALL_PATH.'temp/templates'; if(!is_writable($fn)){ @chmod( $fn, 0777 ); } $r['ok'] = is_writable($fn); if(!$r['ok']){ $r['txt'] = _L('Fatal: '.INSTALL_PATH.'temp/templates is not writable, installation cannot continue.'); $r['fatal'] = true; } $req[] = $r; return $req; } function install_db($value, $empty, & $params, & $form) { global $tpl; require_once 'include/create_db.php'; $ret = update_config('include/config.php', array('DB_DRIVER' => $form['db_driver'], 'DB_HOST' => $form['db_host'], 'DB_NAME' => $form['db_name'], 'DB_USER' => $form['db_user'], 'DB_PASSWORD' => $form['db_password'])); if($ret !== true){ $tpl->assign('form_error', $ret); return 0; } $ret = create_db($form['db_driver'], $form['db_host'], $form['db_name'], $form['db_user'], $form['db_password']); if (!$ret[0]) { #Database creation error $tpl->assign('form_error', $ret[1]); $tpl->assign('sql_error', $ret[2]); return 0; } else { #Database was created/updated $tpl->assign('message', $ret[1]); return 1; } } function check_admin($value, $empty, & $params, & $form) { global $tpl, $tables; if (empty ($form['admin_user']) && empty ($form['admin_password']) && empty ($form['admin_passwordc']) && empty ($form['admin_email']) && empty ($form['admin_name'])) { require_once 'include/create_db.php'; $db = ADONewConnection($form['db_driver']); $db->Connect($form['db_host'], $form['db_user'], $form['db_password'], $form['db_name']); $sql = "SELECT LOGIN FROM {$tables['user']['name']} WHERE ADMIN!=0"; $rs = $db->SelectLimit($sql, 1); if (!$rs) { $tpl->assign('form_error', 'SQL_ERROR_ADMIN'); $tpl->assign('sql_error', $db->ErrorMsg()); return 0; } if ($rs && $rs->EOF) { $tpl->assign('form_error', 'ADMIN_REQUIRED'); return 0; } } if(empty ($form['admin_user']) && empty ($form['admin_password']) && empty ($form['admin_passwordc']) && empty ($form['admin_email']) && empty ($form['admin_name'])) return 2; else return 1; } function create_admin($value, $empty, & $params, & $form) { global $tpl, $tables; require_once 'include/create_db.php'; $db = ADONewConnection($form['db_driver']); $db->Connect($form['db_host'], $form['db_user'], $form['db_password'], $form['db_name']); $sql = "SELECT * FROM {$tables['user']['name']} WHERE LOGIN='{$form['admin_user']}'"; $db->SetFetchMode(ADODB_FETCH_ASSOC); $max_user_id = $db->GetOne("SELECT MAX(ID) FROM {$tables['user']['name']}"); if(!$max_user_id){ $max_user_id = 1; } else { $max_user_id++; } $rs = $db->SelectLimit($sql, 1); if (!$rs) { $tpl->assign('form_error', 'SQL_ERROR_ADMIN'); $tpl->assign('sql_error', $db->ErrorMsg()); return false; } $data = array (); $data['LOGIN'] = $form['admin_user']; $data['PASSWORD'] = $form['admin_password']; $data['EMAIL'] = $form['admin_email']; $data['NAME'] = $form['admin_name']; $data['ADMIN'] = 1; if ($rs->EOF) { $mode = "INSERT"; $where = false; $data['ID'] = $db->GenID($tables['user']['name'].'_SEQ', $max_user_id); } else { $mode = "UPDATE"; $where = "ID = ".$rs->fields['ID']; // Create a new sequence to cater for upgrading installation. $db->CreateSequence($tables['user']['name'].'_SEQ', $max_user_id); } if (!$db->AutoExecute($tables['user']['name'], $data, $mode, $where)) { $tpl->assign('form_error', 'SQL_ERROR_ADMIN'); $tpl->assign('sql_error', $db->ErrorMsg()); return false; } return 1; } ?> PHP: