Я нашел очень простой PHP-скрипт Inventory, который очень хорошо подходит для моей системы начальной школы. Как бы то ни было, я верю в PHP 4, и теперь даже XAMPP продвинулся вперед :) Я не программист, но хочу исправить это, если это легко. Может кто-нибудь дать мне руководство, чтобы найти исправление для этого маленького красивого кода.
К сожалению, с владельцем нельзя связаться.. как обычно. Но это бесплатно http://inventory-management.org/.
Что я сделал:
- Скачано
- запустить sql и исправить ошибки TYPE в Engine (работало)
- настроил БД на php
- запустить первый раз в браузере (Chrome)
и получил это:
Неустранимая ошибка: передача по ссылке во время вызова была удалена в C:\xampp\htdocs\Inventory\lib\site.php в строке 187.
вот код site.php:
<?php
$sess_save_path = "./tmp/";
function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;
$sess_save_path = $save_path;
$sess_session_name = $session_name;
return(true);
}
function close() {
return(true);
}
function read ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = @fread($fp, @filesize($sess_file));
return($sess_data);
} else {
return(""); // Must return "" here.
}
}
function write ($id, $sess_data) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data));
} else {
return(false);
}
}
function destroy ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}
/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc ($maxlifetime) {
return true;
}
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
session_start();
session_start();
//error_reporting(0);
require_once _LIBPATH . "common.php";
require_once _LIBPATH . "xml.php";
require_once _LIBPATH . "template.php";
require_once _LIBPATH . "config.php";
require_once _LIBPATH . "html.php";
require_once _LIBPATH . "database.php";
require_once _LIBPATH . "vars.php";
require_once _LIBPATH . "menu.php";
require_once _LIBPATH . "library.php";
require_once _LIBPATH . "sqladmin.php";
require_once _LIBPATH . "forms.php";
require_once _LIBPATH . "mail.php";
class CBase {
/**
* description
*
* @var type
*
* @access type
*/
var $html;
}
class CSite {
/**
* description
*
* @var type
*
* @access type
*/
var $admin;
/**
* description
*
* @var type
*
* @access type
*/
var $html;
/**
* description
*
* @param
*
* @return
*
* @access
*/
function CSite($xml , $admin = false) {
global $_CONF , $base;
$this->admin = $admin;
//loading the config
$tmp_config = new CConfig($xml);
$_CONF = $tmp_config->vars["config"];
//loading the templates
if ($this->admin) {
if (is_array($_CONF["templates"]["admin"])) {
foreach ($_CONF["templates"]["admin"] as $key => $val) {
if ($key != "path")
$this->templates[$key] = new CTemplate($_CONF["templates"]["admin"]["path"] . $_CONF["templates"]["admin"][$key]);
}
}
} else {
if (is_array($_CONF["templates"])) {
foreach ($_CONF["templates"] as $key => $val) {
if (($key != "path" ) && ($key != "admin"))
$this->templates[$key] = new CTemplate($_CONF["templates"]["path"] . $_CONF["templates"][$key]);
}
}
}
$base = new CBase();
$base->html = new CHtml();
$this->html = &$base->html;
//make a connection to db
if (is_array($_CONF["database"])) {
$this->db = new CDatabase($_CONF["database"]);
//vars only if needed
if ($_CONF["tables"]["vars"]) {
$this->vars = new CVars($this->db , $_CONF["tables"]["vars"]);
$base->vars = &$this->vars;
}
$this->tables = &$_CONF["tables"];
}
}
function TableFiller($item) {
if (file_exists("pb_tf.php")) {
include("pb_tf.php");
}
}
/**
* description
*
* @param
*
* @return
*
* @access
*/
function Run() {
global $_TSM;
if (file_exists("pb_events.php")) {
include("pb_events.php");
**$_TSM["PB_EVENTS"] = @DoEvents(&$this);**
}
if (is_object($this->templates["layout"])) {
echo $this->templates["layout"]->Replace($_TSM);
}
}
}
?>
Большое спасибо заранее, если у кого-то есть время, чтобы помочь мне.