(12-02-2018, 11:17 AM)worksmarter Wrote: The code below - (@ /etc/sentora/panel/modules/webalizer_stats/hooks/OnDaemonHour.hook.php) and I ran the daemon. Nothing has changed, webalyzer when selecting a domain still shows the URL of the Sentora control panel.
Code:<?php
/**
* @copyright 2014-2015 Sentora Project (http://www.sentora.org/)
* Sentora is a GPL fork of the ZPanel Project whose original header follows:
*
* ZPanel - Visitor Stats zpanel plugin, written by RusTus: www.zpanelcp.com.
*
* changes P;Peyremorte : reduced duplicate strings constructions
*/
echo fs_filehandler::NewLine() . "BEGIN Webalizer Stats" . fs_filehandler::NewLine();
if ( ui_module::CheckModuleEnabled( 'Webalizer Stats' ) ) {
GenerateWebalizerStats();
}
else {
echo "Webalizer Stats Module DISABLED." . fs_filehandler::NewLine();
}
echo "END Webalizer Stats" . fs_filehandler::NewLine();
function GenerateWebalizerStats()
{
global $zdbh;
$sql = $zdbh->prepare( "SELECT * FROM x_vhosts LEFT JOIN x_accounts ON x_vhosts.vh_acc_fk=x_accounts.ac_id_pk WHERE vh_deleted_ts IS NULL" );
$sql->execute();
echo "Generating webalizer stats html..." . fs_filehandler::NewLine();
while ( $rowvhost = $sql->fetch() ) {
$basedir = ctrl_options::GetSystemOption( 'sentora_root' ) . "modules/webalizer_stats/stats/" . $rowvhost[ 'ac_user_vc' ] . "/" . $rowvhost[ 'vh_name_vc' ];
if ( !file_exists( $basedir ) ) {
@mkdir( $basedir, 0755, TRUE );
}
/** set webalizer command dependant on OS */
if ( sys_versions::ShowOSPlatformVersion() == "Windows" ) {
$command = ctrl_options::GetSystemOption( 'sentora_root' ) .
'modules/webalizer_stats/bin/webalizer.exe';
}
else {
chmod( ctrl_options::GetSystemOption( 'sentora_root' ) . "modules/webalizer_stats/bin/webalizer", 4777 );
$command = "webalizer";
}
/** all other args and flags are the same so keep them outsite to avoid duplication */
$flag = '-o';
$secondFlags = '-d -F clf';
$domain = '-n' . $rowvhost[ 'vh_name_vc' ];
$logFile = realpath( ctrl_options::GetSystemOption( 'log_dir' ) .
'domains/' .
$rowvhost[ 'ac_user_vc' ] .
'/' .
$rowvhost[ 'vh_name_vc' ] .
'-access.log' );
$statsPath = ctrl_options::GetSystemOption( 'sentora_root' ) .
"modules/webalizer_stats/stats/" .
$rowvhost[ 'ac_user_vc' ] .
'/' .
$rowvhost[ 'vh_name_vc' ];
/** build arg array, this is in the required order! do not just change the order of this array */
$args = array(
$logFile,
$domain,
$flag,
$statsPath,
$secondFlags,
);
echo "Generating stats for: " . $rowvhost[ 'ac_user_vc' ] . "/" . $rowvhost[ 'vh_name_vc' ] . fs_filehandler::NewLine();
$returnValue = ctrl_system::systemCommand( $command, $args );
echo (0 === $returnValue ? 'Succeeded' : 'Failed') . fs_filehandler::NewLine();
}
}
?>
This simply does not help the problem. All that I did not do was install webalyzer as it is already installed.
The following procedure is unnecessary as the file does not exist (because I didn't install webalyzer from scratch...)
Code:rm -rf /etc/webalizer.conf
Please manually run the daemon:
Code:
php -q /etc/sentora/panel/bin/daemon.php
and copy/paste the output (send in a PM if you don't want your domains to be public, but please don't censor anything).
Keith.