Notice: Undefined variable: param_str in \lib\module.class.php (функция parseLinks)
Происходит это из-за этого куска кода в самом начале функции:
Код: Выделить всё
if ($md != $this->name)
$param_str = $this->saveParams();
elseif (IsSet($this->owner))
$param_str = $this->owner->saveParams();
Варианты решения:
1. перед условием определить переменную: $param_str = "";
2. в условие добавить else и определить переменную там.
p.s. это конечно не критическая ошибка, но может повлиять на корректность данных на выходе.
Notice: Undefined variable: params1 in \lib\module.class.php (функция createParamsString)
Происходит это из-за этого куска кода также в самом начале функции:
Код: Выделить всё
foreach($data as $k=>$v)
{
if ($v == "")
{
UnSet($data[$k]);
}
else
{
$params .= "m" . STRING_DELIMITER . $name . STRING_DELIMITER . $k . EQ_DELIMITER . $v . PARAMS_DELIMITER;
$params1[] = "$k=$v";
}
}
if (count($params1))
{
....
Варианты решения:
1. перед циклом определить массив $params1[]
2. Заменить в условии count на isset.
Notice: Notice: Undefined variable: res_str in \lib\module.class.php (функция codeParams)
Происходит это из-за этого куска кода:
Код: Выделить всё
function codeParams($in)
{
if (preg_match_all('/(.+?):{(.+?)}/', $in, $matches2, PREG_PATTERN_ORDER))
{
for($k = 0; $k < count($matches2); $k++)
{
$data = array();
$module_name = $matches2[1][$k];
$module_params = explode(',',$matches2[2][$k]);
for($m = 0; $m < count($module_params); $m++)
{
$ar = explode("=", trim($module_params[$m]));
$data[trim($ar[0])] = trim($ar[1]);
}
$res_str .= $this->createParamsString($data, $module_name) . PARAMS_DELIMITER;
}
}
return $res_str;
}
Варианты решения:
1. В начале функции определить переменную $res_str.
Notice: Undefined variable: /nf.php
Код: Выделить всё
foreach($requests as $key=>$value)
{
if (!$found && preg_match($key, $_SERVER["REQUEST_URI"], $matches))
{
$link = $value;
for($i = 1; $i < count($matches); $i++)
{
$link = str_replace("\\$i", $matches[$i], $link);
}
$link = preg_replace('/\\\\(\d+?)/is', '', $link);
$found = 1;
}
}
Тут я вообще мало что понял...

весь код из файла приводить не стал...
1. $found - переменная нигде в коде не объявлена. Т.е. если это не глобальная переменная, то условие не сработает.
2. link - Если условие не срабатывает, то переменная link становится не объявленной и ошибка будет дальше по коду.
Warning: fopen(\debmes/2015-03-23.log): failed to open stream: No such file or directory in \lib\general.class.php on line 139
Код: Выделить всё
/**
* Loads file
*
*
* @param string File name
* @return file content
* @access public
*/
function LoadFile($filename)
{
// loading file
$f = fopen("$filename", "r");
$data = "";
$fsize = filesize($filename);
if ($f && $fsize>0)
{
$data = fread($f, $fsize);
fclose($f);
}
return $data;
}
Как говорится по тексту:
1. $f = fopen("$filename", "r"); - нет проверки на то, что файл можно прочитать.
2. $fsize = filesize($filename); - Если мы не можем открыть файл, то зачем тогда пытаемся узнать его размер?
3. Условие конечно хорошо,но см. п2.
4. Комментарии phpDoc над функцией - если пишете такие комментарии, то пожалуйста следите за их соответствию коду. Т.к. @return file означает что функция вернет файл. А функция на самом деле возвращает строку. И у меня IDE яростно подчеркивает это в функции ошибка. На работоспособность кода это конечно не влияет, но за державу обидно

Предлагаю заменить хотя бы на такой вариант:
Код: Выделить всё
/**
* Loads file
*
* @param string File name
* @return string content
* @access public
*/
function LoadFile($filename)
{
$data = "";
$f = fopen($filename, "rb");
if (!$f) return $data;
$fsize = filesize($filename);
if ($fsize > 0)
$data = fread($f, $fsize);
fclose($f);
return $data;
}