Есть несколько вариантов запуска сторонних скриптов или функций.
Вариант 1
Один из них, прописать функцию или класс в ядро системы через панель управления, отдел "Редактор внедрений". Будет использоваться файл внедрения в ядро системы: config/config_function.php
Если на сервере нет CRONа или подключение к нему проблематично, можно воспользоваться системным планировщиком задач который работает в фоновом режиме, файл: function/function.php функция: head()
В версии 6.2 Pro это реализовано таким образом
$cron = 0;
if ($confs['log_d']) {
$sess_f = "config/counter/dump.txt";
$sess_d = (file_exists($sess_f) && filesize($sess_f) != 0) ? file_get_contents($sess_f) : 0;
$past = $ctime - intval($confs['sess_d']);
if ($sess_d < $past) {
$head = preg_replace("#<body(.*?)>#si", "<body OnLoad=\"AjaxLoad('GET', '0', 'filereport', 'go=3&op=filereport', ''); return false;\"$1>", $head);
$cron = 1;
} else {
$cron = 0;
}
}
if ($confs['log_b'] && !$cron) {
$sess_f = "config/counter/backup.txt";
$sess_b = (file_exists($sess_f) && filesize($sess_f) != 0) ? file_get_contents($sess_f) : 0;
$past = $ctime - intval($confs['sess_b']);
if ($sess_b < $past) {
$head = preg_replace("#<body(.*?)>#si", "<body OnLoad=\"AjaxLoad('GET', '0', 'backup', 'go=3&op=backup', ''); return false;\"$1>", $head);
$cron = 1;
} else {
$cron = 0;
}
}
include("config/config_sitemap.php");
if ($confma['auto'] && !$cron) {
$sess_f = "sitemap.xml";
$sess_b = (file_exists($sess_f) && filesize($sess_f) != 0) ? filemtime($sess_f) : 0;
$past = $ctime - intval($confma['auto_t']);
if ($sess_b < $past) {
$head = preg_replace("#<body(.*?)>#si", "<body OnLoad=\"AjaxLoad('GET', '0', 'sitemap', 'go=3&op=sitemap', ''); return false;\"$1>", $head);
$cron = 1;
} else {
$cron = 0;
}
}
if ($conf['newsletter'] && !$cron) {
$head = preg_replace("#<body(.*?)>#si", "<body OnLoad=\"AjaxLoad('GET', '0', 'newsletter', 'go=3&op=newsletter', ''); return false;\"$1>", $head);
}
Данный код можно видоизменить и дополнить своим кодом подключения задач.
Вариант 2
Для быстрого подключения библиотек используемых в системе, в сторонних скриптах/файлах, базы данных в том числе, достаточно в начале вашего скрипта указать:
define("FUNC_FILE", true);
Далее подключаем и используем всё что предлагает ядро, к примеру:
include("config/config.php");
include("function/db.php");
и т.д.
Обратите внимание на правильную запись путей к скриптам. В варианте примера выше учитывается случай когда ваш скрипт лежит в главной/основной директории проекта.
Немного отходя от темы, напомню, что сторонние файлы, если это необходимо, можно закрыть/защитить средствами системы. В качестве примера, добавим данный участок в верную часть кода вашего файла.
# Start protect from direct access
define('ADMIN_FILE', true);
define('FUNC_FILE', true);
# Relative path from file
$path = '../../';
include($path.'core/authenticate.php');
# End
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...