[вопрос] Всё слетело и теперь не устанавливается
Всё работало на ура. Я захотел подключить Украину к системе - не получилось.
Через некоторое время вместо названий операторов стало не ТЕЛЕ2 а ????2.... хотя кодировка у базы стоит utf8
в итоге ничего не помогало, я удалил полностью всю папку с хоста и все таблицы...
Решил установить заного, но теперь не обновляется тарифная сетка
Fatal error: Call to undefined function: scandir() in /home/m/mp3cityru/***.ru/public_html/l2donate/admin/cron/cron.php line 35
строка 35 выглядит так.
30) $stack = array();
31) $slabs = $slabs1[0]['children'];
32)
33) $sql_prim = new sql('prim');// connect to primary login server
34)
35) function add_tariff($country,$t_country_name,$price,$usd,$oper,$oper_short,$t_revenue){
36) global $sql_prim;
а при нажатаии на "модули" пишет
Fatal error: Call to undefined function: scandir() in /home/m/mp3cityru/***.ru/public_html/l2donate/admin/modules/modmanager/index.php on line 151
if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) {
die("This file can't be accessed directly");
}
class modmanager {
var $version = '1.0@$Rev: 1003 $';
var $name = 'modmanager';
var $module_type = 'system';
var $client_side = false;
var $curr_serv = '';
function modmanager() {
$this->curr_serv = ($request['module_type'] == 'admin') ? 0 : intval($_COOKIE['serv_id']);
}
function _main() {
global $CFG, $request, $db;
if (isset($request['action'])) {
$ok = false;
$params = "";
if ($request['action'] == 'save') {
$this->action_module_save(intval($request['module_id']), $request);
}
elseif ($request['action'] == 'operate') {
$operation = false;
if (isset($request['install'])) {
$operation = 'install';
}
elseif (isset($request['uninstall'])) {
$operation = 'uninstall';
}
elseif (isset($request['disable'])) {
$operation = 'disable';
}
if ($operation) {
$ok = $this->action_module_operate($request['module_name'], $operation);
}
} elseif ($request['action'] == 'fix') {
if (is_array($params)) {
$params = http_build_query($params, '', '&');
}
$this->action_module_fix($request['module_name']);
header("Location: ?module=modmanager&module_type=".$request['submodule']);
die();
}
if ($ok) {
if (is_array($params)) {
$params = http_build_query($params, '', '&');
}
header("Location: ?module=modmanager&$params");
die();
}
}
if (@$request['submodule'] == 'edit') {
$content = $this->module_edit(intval($request['module_id']));
}
elseif (@$request['submodule'] == 'operate') {
$content = $this->module_operate($request['module_name']);
}
else {
$content = $this->modules( ($request['module_type'] == '') ? 'client' : $request['module_type'] );
}
return $content;
}
function action_module_fix($m_name) {
global $db,$request;
include_once(sprintf("%s/".$request['submodule']."/modules/%s/index.php", PATH_ROOT, $m_name));
$Module = new $m_name();
preg_match('/(.*?)@\$.*?(\d+)/', $Module->version, $m);
$db_version = $m[1];
$types = array('system','admin','client');
$tmp = array_keys($types,$Module->module_type);
if($Module->module_type === 'admin') {
$db['prim']->query(sprintf("
INSERT INTO `".DB_PREFIX."modules`
(m_name, m_title, m_enabled, m_default, m_visible, m_order, m_version, m_serv_id, m_type)
VALUES
('%s', 'ADM - %s', 1, 0, 1, 10000, '%s' , '%d', '%d' )"
, $m_name, $m_name, $db_version, $this->curr_serv, $tmp[0] ));
}
if($Module->module_type === 'client' || ($Module->module_type === 'admin' && $Module->client_side )) {
$db['prim']->query(sprintf("
INSERT INTO `".DB_PREFIX."modules`
(m_name, m_title, m_enabled, m_default, m_visible, m_order, m_version, m_serv_id, m_type)
VALUES
('%s', 'CL - %s', 1, 0, 1, 10000, '%s' , '%d', '2' )"
, $m_name, $m_name, $db_version, $this->curr_serv));
}
unset($request['action']);
unset($Module);
}
function modules($module_type) {
list ($continue,$modules) = $this->_modules_list($module_type);
if(!$continue){
return array(
'_template_' => 'modmanager',
'type' => $module_type,
'type_adm' => ($_GET['module_type'] == 'admin')? 'text-decoration:none;' : '',
'type_cln' => ($_GET['module_type'] == 'client' || !isset($_GET['module_type']) )? 'text-decoration:none;' : '',
'modules' => array(
'_template_' => 'modmanager_row',
'items' => $modules
)
);
}
return $modules;
}
function modules_client() {
list ($continue,$modules) = $this->_modules_list("client");
if(!$continue){
return array(
'_template_' => 'modmanager',
'modules' => array(
'_template_' => 'modmanager_row',
'items' => $modules
)
);
}
return $modules;
}
function mess_tpl($title,$mess,$link='') {
$content = array(
'mess'=>$mess,
'title' => $title.' '.$_GET['name'],
'link' => '?module=servers',
'_template_' => 'mess',
);
return $content;
}
function _modules_list($mod_type) {
global $db,$err_db_mess,$modules_db_admin,$modules_db_cl;
// отбираем каталоги, кроме спецкаталогов и .svn
$modules = array_filter(scandir(PATH_ROOT . "/".$mod_type."/modules"), create_function('$a', 'return ((is_dir(PATH_ROOT . "/'.$mod_type.'/modules/".$a)) && ($a != "..") && ($a != ".") && ($a != ".svn"));'));
$modules2 = array();
foreach ($modules as $module) {
include_once(sprintf("%s/".$mod_type."/modules/%s/index.php", PATH_ROOT, $module));
$Module = new $module();
preg_match('/(.*?)@\$.*?(\d+)/', $Module->version, $m);
$version = sprintf("%s build %d", $m[1], $m[2]);
if(!connect_to_game_server()) {
return array (1, $this->mess_tpl('Ошибка подключения к БД','Проверьте правильность данных','?module=modmanager') );
}
$installed = false;
//если модуль не клиентский - проверяем есть ли зарезарвированные за ним таблицы в базе
if( $mod_type == 'admin' ) {
include_once(sprintf("%s/".$mod_type."/modules/%s/%s.install.php", PATH_ROOT, $module, $module));
$module_install = $module."_install";
$ModuleInstall = new $module_install();
$installed = $ModuleInstall->installed();// таблица в базе от модуля ест? пьет ? спит?
} elseif ($Module->module_type == 'client' && !$Module->admin_side) { //клиентский без админки
$installed = true;
} elseif ($Module->module_type == 'client' && $Module->admin_side ) { //клиентский с админкой
include_once(sprintf("%s/admin/modules/%s/%s.install.php", PATH_ROOT, $module, $module));
$module_install = $module."_install";
$ModuleInstall = new $module_install();
$installed = $ModuleInstall->installed();// таблица в базе от модуля ест? пьет ? спит?
}
$table_fix = '';
//Модуль - админ, его таблицы в базе есть, но его самого нет в тбл модули (админские)
// в случае если система ставится на предыдущую версию.
if($Module->module_type === 'admin' && $installed && !in_array($module,$modules_db_admin) ) {
$table_fix = '<a href="?module=modmanager&action=fix&module_name='.$module.'&submodule='.$mod_type.'">{fix}</a>';
}
if($Module->module_type === 'client' && $Module->admin_side === false && $installed && !in_array($module,$modules_db_cl) ) {
$table_fix = '<a href="?module=modmanager&action=fix&module_name='.$module.'&submodule='.$mod_type.'">{fix}</a>';
}
if($Module->module_type === $mod_type) {
$row = array(
'm_id' => 0,
'm_name' => $module,
'm_title' => $module,
'module_version' => $version,
'installed' => $installed,
'm_version' => '-',
'm_enabled' => 0,
'm_visible' => 0,
'table_fix'=> $table_fix,
'operate' => ($mod_type == 'client')? '' : '<a href="?module=modmanager&submodule=operate&module_name='.$module.'&module_type='.$mod_type.'">{operate}</a>',
'edit' => '',
'default' => '',
);
$modules2[$module] = $row; // Модули на диске
}
}
$types = array('system','admin','client');
$tmp = array_keys($types,$mod_type);
$result = $db['prim']->query("SELECT * FROM `".DB_PREFIX."modules` where m_type='".$tmp[0]."' and m_serv_id='".$this->curr_serv."' ");
$db_modules = array();
while (false !== ($row = $db['prim']->fetch_array($result))) {
$name = $row['m_name'];
if (isset($modules2[$name])) { //Модуль есть на диске
$row['installed'] = $modules2[$name]['installed'];
$row['module_version'] = $modules2[$name]['module_version'];
$modules2[$name]['db'] = true;
}
else {
$row['installed'] = false;
$row['module_version'] = '';
}
$row['edit'] = ($row['installed'])? '<a href="?module=modmanager&submodule=edit&module_id='.$row['m_id'].'">{edit}</a>' : '';
$row['operate'] = ($mod_type == 'client')? '' : '<a href="?module=modmanager&submodule=operate&module_name='.$module.'&module_type='.$mod_type.'">{operate}</a>';
$row['table_fix'] = '';
$row['default'] = $row['m_default'] ? "{default}" : "";
$db_modules[] = $row;
}
// добавить к массиву модулей те, которые есть на диске, но отсутствуют в базе
$ret = array_merge($db_modules, array_filter($modules2, create_function('$a', 'return !isset($a["db"]);')));
return array (0,$ret);
}
function module_edit($m_id) {
global $db;
$module = $db['prim']->item_get('modules', 'm_id', $m_id);
$content = array(
'_template_' => 'modmanager_edit',
'enabled_checked' => $module['m_enabled'] ? 'checked="checked"' : '',
'visible_checked' => $module['m_visible'] ? 'checked="checked"' : '',
'default_checked' => $module['m_default'] ? 'checked="checked"' : '',
);
$fields = array('m_id', 'm_name', 'm_title');
foreach($fields as $field) {
$content[$field] = $module[$field];
}
return $content;
}
function action_module_save($m_id, $data) {
global $db;
$fields = array(
'm_title' => addslashes(@$data['title']),
'm_enabled' => isset($data['enabled']) ? 1 : 0,
'm_default' => isset($data['default']) ? 1 : 0,
'm_visible' => isset($data['visible']) ? 1 : 0,
);
if ($m_id) {
if ($fields['m_default']) {
$db['prim']->query("UPDATE `".DB_PREFIX."modules` SET m_default=0");
}
// update
$sql_tpl = "UPDATE `".DB_PREFIX."modules` SET %s WHERE m_id=%d";
$sql_values = array();
foreach($fields as $field => $value) {
$sql_values[] = sprintf("`%s` = '%s'", $field, $value);
}
$sql = sprintf($sql_tpl, implode(",", $sql_values), $m_id);
$db['prim']->query($sql);
return true;
} else {
return false;
}
}
function action_module_operate($m_name, $operation) {
global $db;
$module = $db['prim']->item_get('modules', 'm_name', $m_name);
$result = $db['prim']->query("SELECT * FROM `".DB_PREFIX."modules` where `m_name`= '".$m_name."' and m_serv_id=".$this->curr_serv." ORDER BY m_order ");
$module = $db['prim']->fetch_array($result);
$result = false;
if ($operation == 'disable') {
if (($module) && ($module['m_enabled'])) {
$db['prim']->query(sprintf("UPDATE `".DB_PREFIX."modules` SET m_enabled=0 WHERE m_id=%d", $module['m_id']));
$result = true;
}
}
elseif ($operation == 'install') {
$m_name = basename($m_name);
include_once(sprintf("%s/admin/modules/%s/index.php", PATH_ROOT, $m_name));
include_once(sprintf("%s/admin/modules/%s/%s.install.php", PATH_ROOT, $m_name, $m_name));
$module_install = $m_name."_install";
$Module = new $m_name();
$ModuleInstall = new $module_install();
$result = $ModuleInstall->install();
$types = array('system','admin','client');
$tmp = array_keys($types,$Module->module_type);
preg_match('/(.*?)@\$.*?(\d+)/', $Module->version, $m);
$db_version = $m[1];
$db['prim']->query(sprintf("INSERT INTO `".DB_PREFIX."modules` (m_name, m_title, m_enabled, m_default, m_visible, m_order, m_version, m_serv_id, m_type) VALUES ('%s', 'ADM - %s', 1, 0, 1, 10000, '%s' , '%d', '%d' )", $m_name, $m_name, $db_version, $this->curr_serv,$tmp[0]));
if($Module->client_side) {
$db['prim']->query(sprintf("INSERT INTO `".DB_PREFIX."modules` (m_name, m_title, m_enabled, m_default, m_visible, m_order, m_version, m_serv_id, m_type) VALUES ('%s', 'CL - %s', 1, 0, 1, 10000, '%s' , '%d', '2' )", $m_name, $m_name, $db_version, $this->curr_serv));
}
}
elseif ($operation == 'uninstall') {
if ($module) {
include_once(sprintf("%s/admin/modules/%s/%s.install.php", PATH_ROOT, $module['m_name'], $module['m_name']));
$module_install = $module['m_name']."_install";
$ModuleInstall = new $module_install();
if ($ModuleInstall->installed()) {
$result = $ModuleInstall->uninstall();
if ($result) {
$db['prim']->query(sprintf("DELETE FROM `".DB_PREFIX."modules` WHERE m_id=%d", $module['m_id']));
}
}
}
}
return $result;
}
function module_operate($m_name) {
global $db;
$result = $db['prim']->query("SELECT * FROM `".DB_PREFIX."modules` where `m_name`= '".$m_name."' and m_serv_id=".$this->curr_serv." ORDER BY m_order ");
$module = $db['prim']->fetch_array($result);
$content = array(
'_template_' => 'modmanager_operate',
);
if ($module) {
$enabled = $module['m_enabled'];
$visible = $module['m_visible'];
include_once(sprintf("%s/admin/modules/%s/%s.install.php", PATH_ROOT, $module['m_name'], $module['m_name']));
$module_install = $module['m_name']."_install";
$ModuleInstall = new $module_install();
$installed = $ModuleInstall->installed();
$fields = array('m_name', 'm_title');
foreach($fields as $field) {
$content[$field] = @$module[$field];
}
}
else {
$m_name = basename($m_name);
include_once(sprintf("%s/admin/modules/%s/index.php", PATH_ROOT, $m_name));
include_once(sprintf("%s/admin/modules/%s/%s.install.php", PATH_ROOT, $m_name, $m_name));
$module_install = $m_name."_install";
if ((class_exists($m_name)) && (class_exists($module_install))) {
$Module = new $m_name();
$ModuleInstall = new $module_install();
}
else {
return false;
}
$enabled = false;
$visible = false;
$installed = $ModuleInstall->installed();
$content['m_name'] = $m_name;
$content['m_title'] = $m_name;
}
$content['enabled_checked'] = $enabled ? 'checked="checked"' : '';
$content['visible_checked'] = $visible ? 'checked="checked"' : '';
$content['disable_disabled'] = $enabled ? '' : 'disabled="disabled"';
$content['installed'] = $installed ? "{yes}" : "{no}";
$content['install_disabled'] = $installed ? "disabled='disabled'" : '';
$content['uninstall_disabled'] = ($installed || $enabled) ? '' : 'disabled="disabled"';
return $content;
}
}
?>
с кроном вот такая ошибка
Fatal error: Call to undefined function: file_put_contents() in admin/cron/cron.php


