static function writeEntry($severity, $sql) { if (@EXTRAWATCH_DEBUG) { $logFileName = date("Y-m-d") . ".log.php"; if (@_EW_CLOUD_MODE && (int) @_EW_PROJECT_ID) { //logs separated by project ids $logDirName = realpath(dirname(__FILE__) . DS . ".." . DS) . DS . "log" . DS . (int) _EW_PROJECT_ID; if (!file_exists($logDirName)) { /// @mkdir(ExtraWatchInput::validate(_EW_INPUT_DIR, $logDirName)); /// } $logFilePath = $logDirName . DS . $logFileName; } else { $logFilePath = realpath(dirname(__FILE__) . DS . ".." . DS) . DS . "log" . DS . $logFileName; } //$backTrace = ExtraWatchLog::getDebugBacktrace(); $message = date("H:i:s"); if (@EXTRAWATCH_PROFILING_ENABLED) { $message .= " " . self::getMicrotime() . " "; } if (@_EW_CLOUD_MODE && defined('_EW_PROJECT_ID')) { $message .= " P:" . sprintf("%4d", _EW_PROJECT_ID) . " "; } $message .= $sql . "\n"; //$message .= "JoomlaBug BackTrace: " . $backTrace; $result = error_log($message, 3, $logFilePath); if (!$result) { echo "Error writing log to: " . $logFilePath; } chmod($logFilePath, 0700); } }
function __construct($database) { $this->database = $database; $this->env = ExtraWatchEnvFactory::getEnvironment(); $this->config = new ExtraWatchConfig($this->database); $this->helper = new ExtraWatchHelper($this->database); $this->date = new ExtraWatchDate($this->database); $this->stat = new ExtraWatchStat($this->database); $this->user_agent_string = ExtraWatchInput::validate(_EW_INPUT_USER_AGENT, @$_SERVER['HTTP_USER_AGENT']); /// }
function insertHeatmapClick($uri2titleId, $x, $y, $w, $h, $xpath) { $ip = ExtraWatchInput::validate(_EW_INPUT_IP, ExtraWatchVisit::getRemoteIPAddress()); /// $username = @$this->config->env->getUsername(); if ($this->config->isIgnored('IP', $ip) || $this->config->isIgnored('USER', $username)) { return FALSE; } $day = $this->date->jwDateToday(); $timestamp = $this->date->getUTCTimestamp(); $query = sprintf("INSERT INTO #__extrawatch_heatmap (`uri2titleId`, `x`, `y`, `w`, `h`, `ip`, `day`, `timestamp`, `xpath`) values ('%d','%d','%d','%d','%d','%s','%d','%d','%s')", (int) $uri2titleId, (int) $x, (int) $y, (int) $w, (int) $h, $this->database->getEscaped($ip), (int) $day, (int) $timestamp, $this->database->getEscaped($xpath)); $this->database->executeQuery($query); echo $query; $this->goal->checkGoals("", "", $ip, "", "", $xpath); $this->stat->increaseKeyValueInGroup(EW_DB_KEY_HTML_ELEMENT, $this->database->getEscaped($xpath)); die; }
$jBasePath = realpath(dirname(__FILE__) . DS . ".." . DS . ".." . DS . "..". DS); define('JPATH_BASE2', $jBasePath);*/ include_once JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->helper->setNoindexHttpHeaders(); //setting explicitly for ajax requests $extraWatchHTML = new ExtraWatchHTML(); $extraWatchTrendHTML = new ExtraWatchTrendHTML($extraWatch); $extraWatch->block->checkBackendTokenFromUrl(); $extraWatch->config->initializeTranslations(); //echo $extraWatchHTML->renderAdminStyles(); echo $extraWatchHTML->renderPrint(); echo $extraWatchHTML->renderCloseWindow(); $group = (int) @ExtraWatchHelper::requestGet('group'); /// $name = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, urldecode(@ExtraWatchHelper::requestGet('name'))); /// $date = (int) @ExtraWatchHelper::requestGet('date'); /// ?> <center> <h2><?php echo htmlentities($name); ?> </h2> </center> <br/><br/> <table> <tr> <td> <div id='trendChartDaily' style='width:100%; margin-top:50px; height: 35%;'></div>
static function getUrlContent($url) { if (@function_exists("curl_init")) { $ch = curl_init(); curl_setopt_array($ch, array(CURLOPT_URL => ExtraWatchInput::validate(_EW_INPUT_URL, $url), CURLOPT_RETURNTRANSFER => true)); $content = curl_exec($ch); curl_close($ch); return $content; } }
function renderFileList($group, $scanDirectoryMain, $scanDirectoryAdmin, $realDirectoryMain, $realDirectoryAdmin, $suffix) { $this->renderPageHtml = ""; $this->renderPageItems = 0; $this->renderPageTotal = 0; $this->renderPageTotalRaw = 0; $this->renderPageJavaArray = "var dirs_{$suffix} = [\"\""; ExtraWatchInput::validate(_EW_INPUT_DIR, realpath(dirname(__FILE__) . DS . $scanDirectoryMain)); ///** $dirs1 = @scandir($scanDirectoryMain); ///** ExtraWatchInput::validate(_EW_INPUT_DIR, realpath(dirname(__FILE__) . DS . $scanDirectoryAdmin)); ///** $dirs2 = @scandir($scanDirectoryAdmin); ///** if ($dirs2) { // in case we only use one folder $dirs = @array_merge($dirs1, $dirs2); } else { $dirs = $dirs1; } $dirsParsed = array(); if (@$dirs) { foreach ($dirs as $dir) { if ($dir == ".") { continue; } if ($dir == "..") { continue; } if (is_dir($scanDirectoryMain . $dir)) { /// $directory = $realDirectoryMain . $dir; if (!isset($dirsParsed[$directory])) { $dirsParsed[$directory] = TRUE; if ($this->renderPageItems % 2 == 0) { $color = "#f9f9f9"; } else { $color = "#eeeeee"; } $this->renderPageItems++; $directory = str_replace("\\", "\\\\", $directory); //escaping \ character for use in JS $this->renderPageJavaArray = $this->renderPageJavaArray . ", \"" . $directory . "\""; $size = $this->getDirectorySize($directory, $group, FALSE, $this->findLatestCheckDayBySuffix($suffix)); if ($size != "") { $this->renderPageTotal += $size; $this->renderPageTotalRaw += $size; $size = $this->sizeFormat($size); } $this->renderPageHtml = $this->renderPageHtml . "<tr><td >" . $dir . "</td>" . "<td align='center' id='item-" . $suffix . "-" . $this->renderPageItems . "'>{$size}</td>" . "<td align='center'><a href='javascript:refreshSize_" . $suffix . "(" . $this->renderPageItems . ")'> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n\t\t\t\t\t\t\t <img src='" . $this->config->getLiveSiteWithSuffix() . "components/com_extrawatch/img/icons/refresh.png' border='0' title='" . _EW_SIZES_REFRESH . "'/></a></td>"; } } if (is_dir($scanDirectoryAdmin . $dir)) { $directory = $realDirectoryAdmin . $dir; if (!isset($dirsParsed[$directory])) { $dirsParsed[$directory] = TRUE; if ($this->renderPageItems % 2 == 0) { $color = "#f9f9f9"; } else { $color = "#eeeeee"; } $this->renderPageItems++; $directory = str_replace("\\", "\\\\", $directory); //escaping \ character for use in JS $this->renderPageJavaArray = $this->renderPageJavaArray . ", \"" . $directory . "\""; $size = $this->getDirectorySize($directory, $group, FALSE, $this->findLatestCheckDayBySuffix($suffix)); if ($size != "") { $this->renderPageTotal += $size; $this->renderPageTotalRaw += $size; $size = $this->sizeFormat($size); } $this->renderPageHtml = $this->renderPageHtml . "<tr><td style=' color: #5AA1D3'>" . $dir . "</td>" . "<td align='center' id='item-" . $suffix . "-" . $this->renderPageItems . "'>{$size}</td>" . "<td align='center'><a href='javascript:refreshSize_" . $suffix . "(" . $this->renderPageItems . ")'> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n\t\t\t\t\t\t\t <img src='" . $this->config->getLiveSiteWithSuffix() . "components/com_extrawatch/img/icons/refresh.png' border='0' title='" . _EW_SIZES_REFRESH . "'/></a></td>"; } } } } $this->renderPageTotal = $this->sizeFormat($this->renderPageTotal); $this->renderPageTotal = $this->sizeFormat($this->renderPageTotalRaw); $this->renderPageJavaArray = $this->renderPageJavaArray . "];"; }
/** * @param $file * @param $filepathid * @param $currdate * @param $ip * @param $referrerId * @param $timestamp */ public function increaseDownloadStat($file) { $ip = ExtraWatchInput::validate(_EW_INPUT_IP, ExtraWatchVisit::getRemoteIPAddress()); /// $referrer = ExtraWatchInput::validate(_EW_INPUT_REFERRER, ExtraWatchVisit::getReferer()); /// $currdate = date("Y-m-d"); $referrerId = $this->findOrAddReferrer($referrer); $timestamp = $this->date->getUTCTimestamp(); $filepathquery = sprintf("SELECT did FROM #__extrawatch_dm_paths where dname='%s'", $this->database->getEscaped($file)); $filepathid = $this->database->resultQuery($filepathquery); $filesearchquery = sprintf("SELECT COUNT(*) as `count` FROM #__extrawatch_dm_paths where dname='%s'", $this->database->getEscaped($file)); $filesearchar = $this->database->resultQuery($filesearchquery); if ($filesearchar > 0) { $filepathquery_add = sprintf("insert into #__extrawatch_dm_counter (did,ddate,ip,referrerId,`timestamp`) values ('%s','%s','%s','%d','%d')", (int) $filepathid, $this->database->getEscaped($currdate), $ip, (int) $referrerId, (int) $timestamp); $this->database->executeQuery($filepathquery_add); } else { $file_add = sprintf("insert into #__extrawatch_dm_paths (dname) values ('%s')", $this->database->getEscaped($file)); $this->database->executeQuery($file_add); $path_query = "select did from #__extrawatch_dm_paths where dname = ('{$file}')"; $filepathid = $this->database->resultQuery($path_query); $counter_add = sprintf("insert into #__extrawatch_dm_counter (did,ddate,ip,referrerId, `timestamp`) values ('%d','%s','%s','%d')", (int) $filepathid, $this->database->getEscaped($currdate), $ip, (int) $referrerId, (int) $timestamp); $this->database->executeQuery($counter_add); } }
/** * @return string */ public function getTokenFromRequestUrl() { $queryParams = ExtraWatchHelper::getUrlQueryParams(); $token = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @$queryParams[ExtraWatchConfig::_EW_TOKEN_PARAM_NAME]); /// return $token; }
/** * block */ function saveImportAntiSpamIp($post) { ExtraWatchInput::validate(_EW_INPUT_FILE_NAME, $_FILES); if ($_FILES["file"]["type"] == "application/octet-stream") { /// if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; return; } } if (!ExtraWatchHelper::endsWith($_FILES["file"]["name"], ".csv")) { echo _EW_ANTISPAM_INVALID_EXTENSION; return; } $uploadedFilePath = JPATH_BASE . "/" . $_FILES["file"]["name"]; /// move_uploaded_file($_FILES["file"]["tmp_name"], $uploadedFilePath); /// set_time_limit(0); $handle = fopen($uploadedFilePath, "r"); if (!$handle) { return "Error: it was not possible to open uploaded file from: " . $uploadedFilePath; } $errorMessages = array(); $i = 0; while (($data = stream_get_line($handle, 1024, ",")) !== FALSE) { $ip = $data; if ($ip != 'ip') { if (!ExtraWatchHelper::isValidIPv4($ip)) { $errorMessages[] = "{$ip} is not a valid IP address!"; continue; } $ipArray[] = $ip; } if ($i % self::IP_BULK_IMPORT_SIZE == self::IP_BULK_IMPORT_SIZE - 1) { //flushing array when it has particular size to DB $this->flushIPBulkFromArray($ipArray); $ipArray = array(); } $i++; } $this->flushIPBulkFromArray($ipArray); fclose($handle); unlink($uploadedFilePath); return implode("\n", $errorMessages); }
/** * visitor */ function insertVisit() { $redirectStatus = (int) @$_SERVER['REDIRECT_STATUS']; /// if ($redirectStatus == "404") { //prevent inserting not-found pages return; } $this->config->initializeTranslations(); $ip = addslashes(strip_tags(ExtraWatchInput::validate(_EW_INPUT_IP, @$this->getRemoteIPAddress()))); /// $username = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @$this->env->getUsername()); /// $userId = (int) @$this->env->getUserId(); /// $referrer = ExtraWatchInput::validate(_EW_INPUT_REFERRER, $this->getReferer()); /// $liveSite = $this->config->getLiveSite(); /// if ($this->config->isIgnored('IP', $ip) || $this->config->isIgnored('USER', $username) || $this->heatmap->isHeatmapLoaded()) { return TRUE; } $count = $this->block->getBlockedIp($ip); if (@$count) { try { $this->block->dieWithBlockingMessage($ip); } catch (ExtraWatchIPBlockedException $exception) { die($exception->getBlockingMessage()); } } $this->user->updateUserLog($userId, $ip); $uri = $this->helper->getURI(); ExtraWatchLog::debug("Insert bot visit from insertVisit"); $this->insertBotVisit($uri, $referrer, "", $ip, $username); ExtraWatchLog::debug("Visit inserted: IP: {$ip}, ref: {$referrer}, live site: {$liveSite} username: {$username}"); $this->goal->checkGoals("", $username, $ip, $referrer, $liveSite); /* execute on midnight */ $this->runAtMidnight(); }
<?php /** * @file * ExtraWatch - A real-time ajax monitor and live stats * @package ExtraWatch * @version 2.3 * @revision 2572 * @license http://www.gnu.org/licenses/gpl-3.0.txt GNU General Public License v3 * @copyright (C) 2015 by CodeGravity.com - All rights reserved! * @website http://www.codegravity.com */ defined('_JEXEC') or die('Restricted access'); /*define('DS', DIRECTORY_SEPARATOR); $jBasePath = realpath(dirname(__FILE__) . DS . ".." . DS . ".." . DS . "..". DS); define('JPATH_BASE2', $jBasePath);*/ include_once JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->helper->setNoindexHttpHeaders(); //setting explicitly for ajax requests $extraWatchHTML = new ExtraWatchHTML(); $extraWatch->block->checkBackendTokenFromUrl(); $extraWatch->config->initializeTranslations(); $extraWatch->block->extrawatch_blockIpToggle(ExtraWatchInput::validate(_EW_INPUT_IP, @ExtraWatchHelper::requestGet('ip'))); ///**
private function runSQLscriptsFromFile($file) { $database = $this->env->getDatabase(_EW_PROJECT_ID); /// $lines = file(ExtraWatchInput::validate(_EW_INPUT_FILE_PATH, $file)); /// $query = ""; foreach ($lines as $line_num => $line) { $query .= " " . trim($line); if (strstr(trim($line), ";")) { $query = trim($query); $query = str_replace("#__", $this->env->getDbPrefix(), $query); $database->executeQuery($query); $query = ""; } } }
* @copyright (C) 2015 by CodeGravity.com - All rights reserved! * @website http://www.codegravity.com */ defined('_JEXEC') or die('Restricted access'); /*define('DS', DIRECTORY_SEPARATOR); $jBasePath = realpath(dirname(__FILE__) . DS . ".." . DS . ".." . DS . "..". DS); define('JPATH_BASE2', $jBasePath);*/ include_once JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->helper->setNoindexHttpHeaders(); //setting explicitly for ajax requests $extraWatch->block->checkBackendTokenFromUrl(); $extraWatch->config->initializeTranslations(); $uriId = (int) ExtraWatchHelper::requestGet('uriId'); /// $ip = ExtraWatchInput::validate(_EW_IP, ExtraWatchHelper::requestGet('ip')); /// $uri2titleId = (int) ExtraWatchHelper::requestGet('uri2titleId'); /// $day = (int) ExtraWatchHelper::requestGet('day'); /// $uriIdVisitRow = $extraWatch->visit->getJoinedURIRowById($uriId); $extraWatchVisitsHTML = new ExtraWatchVisitHTML($extraWatch); $extraWatchHeatmapHTML = new ExtraWatchHeatmapHTML($extraWatch->database); $output = ""; $output .= "\n <a href='javascript:extrawatch_blockIpToggle(\"{$ip}\");extrawatch_sendVisitsReq();'><img src='" . $extraWatch->config->getLiveSiteWithSuffix() . "components/com_extrawatch/img/icons/block.png' />" . _EW_VISIT_BLOCK_IP . "</a><br/> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <a href='" . $extraWatch->config->renderLink("goals", "&action=insert&id=" . $uriId) . "' '" . _EW_VISIT_ADD_PAGE . "'><img src='" . $extraWatch->config->getLiveSiteWithSuffix() . "components/com_extrawatch/img/icons/goal-add.gif' />" . _EW_VISIT_ADD_PAGE . "</a>"; $getData = $extraWatchVisitsHTML->renderGetVars($uriId); $postData = $extraWatchVisitsHTML->renderPostVars($uriId); $output .= "<table>"; if ($getData) { $output .= "<tr><td><br/><u>" . _EW_VISIT_URL_PARAMETERS . "</u></td>" . $getData;
$title = ExtraWatchHelper::requestGet("title"); /// $uri = ExtraWatchInput::validate(_EW_INPUT_URI, ExtraWatchHelper::requestGet("uri")); /// $queryString = ExtraWatchHelper::requestGet("referringQuery"); /// if ($queryString) { $uri .= "?" . $queryString; } $params = ExtraWatchHelper::requestGet("getParams"); /// $uri = ExtraWatchInput::validate(_EW_INPUT_URI, ExtraWatchHelper::unescapeSlash($uri)); /// $title = ExtraWatchHelper::unescapeSlash($title); /// $referer = ExtraWatchInput::validate(_EW_INPUT_REFERRER, ExtraWatchHelper::unescapeSlash($referer)); /// $params = ExtraWatchHelper::unescapeSlash($params); /// $uri = $uri . $params; //adding params to uri $env = ExtraWatchEnvFactory::getEnvironment(); $modulePath = realpath(dirname(__FILE__) . DS . ".." . DS . ".." . DS . ".." . DS); ExtraWatchLog::debug("img.php - referer: {$referer} title: {$title} uri: {$uri} prams: " . print_r($params, true)); if (@_EW_CLOUD_MODE) { $projectId = (int) @$_REQUEST['projectId']; /// $projectInitialized = $extraWatch->visit->isProjectInitialized($projectId); if ($projectInitialized) { $extraWatch->visit->updateVisitByBrowser($uri, $referer, $title, $params); } else {
*/ defined('_JEXEC') or die('Restricted access'); /*define('DS', DIRECTORY_SEPARATOR); $jBasePath = realpath(dirname(__FILE__) . DS . ".." . DS . ".." . DS . "..". DS); define('JPATH_BASE2', $jBasePath);*/ $env = @$_REQUEST['env']; include_once JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->helper->setNoindexHttpHeaders(); //setting explicitly for ajax requests $extraWatch->block->checkBackendTokenFromUrl(); $extraWatch->config->initializeTranslations(); ExtraWatchInput::validate(_EW_INPUT_DIR, realpath(realpath(dirname(__FILE__)) . DS . ExtraWatchHelper::requestPost('dir'))); $dir = ExtraWatchHelper::requestPost('dir'); /// $group = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, ExtraWatchHelper::requestPost('mod')); /// if (!$extraWatch->sizes->isAllowed($dir)) { die(_EW_SIZEQUERY_BAD_REQUEST); } $dir = realpath(realpath(dirname(__FILE__)) . DS . $dir); if (is_dir($dir)) { $sizeNow = $extraWatch->sizes->getDirectorySize($dir, $group, TRUE, $extraWatch->date->jwDateToday()); $sizePrev = $extraWatch->sizes->getDirectorySize($dir, $group, FALSE, $extraWatch->sizes->findLatestCheckDayByComOrModGroup()); if ($sizePrev == $sizeNow) { $size = "<span style='color: gray;'>" . $extraWatch->sizes->sizeFormat($sizeNow) . "</span>"; } elseif ($sizeNow <= $sizePrev) { $size = "<span style='color: green;'>" . $extraWatch->sizes->sizeFormat($sizeNow); if ($sizeNow) { $size .= " (-" . round(($sizePrev - $sizeNow) / $sizeNow * 100) . "%)"; }
<?php /** * extraWatch - A real-time ajax joomla monitor and live stats * @package extraWatch * @version 2.3 * @revision 2572 * @license http://www.gnu.org/licenses/gpl-3.0.txt GNU General Public License v3 * @copyright (C) 2015 by CodeGravity.com - All rights reserved! * @website http://www.codegravity.com */ defined('_JEXEC') or die('Restricted access: '); $output = $extraWatch->goal->exportGoals(); $xmlFile = "extrawatch-goals-" . date('Ymd') . ".xml"; $filename = ExtraWatchInput::getUploadTmpDir() . DS . $xmlFile; // required for IE, otherwise Content-disposition is ignored if (ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); } // addition by Jorg Weske $file_extension = strtolower(substr(strrchr($filename, "."), 1)); //if( $filename == "" ) //{ //echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>"; //exit; //} elseif ( ! file_exists( $filename ) ) //{ //echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>"; //exit; //}; switch ($file_extension) {
var h = screen.height; var xx; var extraWatchLinkElementsList; var extraWatchLinkElementsListOriginalFunctions = new Array(); var randHash = '<?php echo @$getParams[ExtraWatchHeatmap::HEATMAP_PARAM_HASH]; ?> '; <?php $request = $extraWatch->env->getRequest(); $heatmapEnabled = (bool) @$getParams[ExtraWatchHeatmap::HEATMAP_PARAM_NAME]; $day = (int) @$getParams[ExtraWatchHeatmap::HEATMAP_PARAM_DAY_NAME]; /// $xpath = ExtraWatchInput::validate(_EW_INPUT_XPATH, urldecode(@$getParams['xpath'])); /// ?> ew_Heatmap.attachExtraWatchClickListener('<?php echo $extraWatch->config->getFrontendToken(); ?> ', <?php echo (int) $uri2titleId; ?> ); <?php if (@$heatmapEnabled) { $heatmapDataJSON = $extraWatch->heatmap->getHeatmapClicksByUri2TitleIdJSON($uri2titleId, $day, $ip);
/** * @param $inputModified */ private static function splitAndValidateMultipleIp($inputModified) { $inputModifiedArray = explode(_EW_IP_SEPARATOR, $inputModified); foreach ($inputModifiedArray as $inputModifiedArrayEntry) { ExtraWatchInput::validate(_EW_INPUT_IP, trim($inputModifiedArrayEntry)); } }
function saveImportGoal($post) { ExtraWatchInput::validate(_EW_INPUT_FILE_NAME, $_FILES); ///** if ($_FILES["file"]["type"] == "text/xml") { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { if (file_exists(JPATH_BASE . "/" . $_FILES["file"]["name"])) { /// echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], JPATH_BASE . "/" . $_FILES["file"]["name"]); /// //XML Read $doc = new DOMDocument(); $doc->load($_FILES['file']['name']); /// $goals = $doc->getElementsByTagName("goal"); foreach ($goals as $goal) { $names = $goal->getElementsByTagName("name"); $name = $names->item(0)->nodeValue; $username_inverseds = $goal->getElementsByTagName("username_inversed"); $username_inversed = $username_inverseds->item(0)->nodeValue; $parentIds = $goal->getElementsByTagName("parentId"); $parentId = $parentIds->item(0)->nodeValue; $uri_conditions = $goal->getElementsByTagName("uri_condition"); $uri_condition = $uri_conditions->item(0)->nodeValue; $uri_inverseds = $goal->getElementsByTagName("uri_inversed"); $uri_inversed = $uri_inverseds->item(0)->nodeValue; $get_vars = $goal->getElementsByTagName("get_var"); $get_var = $get_vars->item(0)->nodeValue; $get_conditions = $goal->getElementsByTagName("get_condition"); $get_condition = $get_conditions->item(0)->nodeValue; $get_inverseds = $goal->getElementsByTagName("get_inversed"); $get_inversed = $get_inverseds->item(0)->nodeValue; $post_vars = $goal->getElementsByTagName("post_var"); $post_var = $post_vars->item(0)->nodeValue; $post_conditions = $goal->getElementsByTagName("post_condition"); $post_condition = $post_conditions->item(0)->nodeValue; $post_inverseds = $goal->getElementsByTagName("post_inversed"); $post_inversed = $post_inverseds->item(0)->nodeValue; $title_conditions = $goal->getElementsByTagName("title_condition"); $title_condition = $title_conditions->item(0)->nodeValue; $title_inverseds = $goal->getElementsByTagName("title_inversed"); $title_inversed = $title_inverseds->item(0)->nodeValue; $username_conditions = $goal->getElementsByTagName("username_condition"); $username_condition = $username_conditions->item(0)->nodeValue; $ip_conditions = $goal->getElementsByTagName("ip_condition"); $ip_condition = $ip_conditions->item(0)->nodeValue; $ip_inverseds = $goal->getElementsByTagName("ip_inversed"); $ip_inversed = $ip_inverseds->item(0)->nodeValue; $came_from_conditions = $goal->getElementsByTagName("came_from_condition"); $came_from_condition = $came_from_conditions->item(0)->nodeValue; $came_from_inverseds = $goal->getElementsByTagName("came_from_inversed"); $came_from_inversed = $came_from_inverseds->item(0)->nodeValue; $country_conditions = $goal->getElementsByTagName("country_condition"); $country_condition = $country_conditions->item(0)->nodeValue; $country_inverseds = $goal->getElementsByTagName("country_inversed"); $country_inversed = $country_inverseds->item(0)->nodeValue; $blocks = $goal->getElementsByTagName("block"); $block = $blocks->item(0)->nodeValue; $redirects = $goal->getElementsByTagName("redirect"); $redirect = $redirects->item(0)->nodeValue; $disableds = $goal->getElementsByTagName("disabled"); $disabled = $disableds->item(0)->nodeValue; $clicked_element_xpath_conditions = $goal->getElementsByTagName("clicked_element_xpath_condition"); $clicked_element_xpath_condition = $clicked_element_xpath_conditions->item(0)->nodeValue; $send_emails = $goal->getElementsByTagName("send_email"); $send_email = $send_emails->item(0)->nodeValue; //Check the Goal is exist or not $query = sprintf("select name from #__extrawatch_goals where `name` = '{$name}'"); $rows = @$this->database->assocListQuery($query); if (empty($rows)) { $value = "'{$name}','{$username_inversed}','{$parentId}','{$uri_condition}','{$uri_inversed}','{$get_var}','{$get_condition}','{$get_inversed}', '{$post_var}','{$post_condition}','{$post_inversed}','{$title_condition}','{$title_inversed}','{$username_condition}','{$ip_condition}','{$ip_inversed}', '{$came_from_condition}','{$came_from_inversed}','{$country_condition}','{$country_inversed}','{$block}','{$redirect}','{$disabled}', '{$clicked_element_xpath_condition}', '{$send_email}'"; //$query = sprintf("insert into #__extrawatch_goals values('NULL','$name','$username_inversed','$parentId','$uri_condition','$uri_inversed','$get_var','$get_condition','$get_inversed','$post_var','$post_condition','$post_inversed','$title_condition','$title_inversed','$username_condition','$ip_condition','$ip_inversed','$came_from_condition','$came_from_inversed','$country_condition','$country_inversed','$block','$redirect','$disabled')"); $query = sprintf("insert into #__extrawatch_goals (`name`, `username_inversed`, `parentId` , `uri_condition`, `uri_inversed` , `get_var` , `get_condition`, `get_inversed` , `post_var` , `post_condition`, `post_inversed` , `title_condition`, `title_inversed`, `username_condition`, `ip_condition` , `ip_inversed` , `came_from_condition`, `came_from_inversed`, `country_condition` , `country_inversed` , `block` , `redirect` , `disabled`, `clicked_element_xpath_condition`, `send_email`)\n values (" . $value . ")"); $result = $this->database->executeQuery($query); } } //Delete uploaded file unlink($_FILES["file"]["name"]); /// } } } else { echo "Invalid file"; } return $result; }
<?php /** * @file * ExtraWatch - A real-time ajax monitor and live stats * @package ExtraWatch * @version 2.3 * @revision 2572 * @license http://www.gnu.org/licenses/gpl-3.0.txt GNU General Public License v3 * @copyright (C) 2015 by CodeGravity.com - All rights reserved! * @website http://www.codegravity.com */ defined('_JEXEC') or die('Restricted access'); $env = ExtraWatchInput::validate(_EW_INPUT_ENV, @$_REQUEST['env']); /// // compatibility with ZOO if (defined('JVERSION') && version_compare(JVERSION, '2.5.0', '<')) { $mainframe =& JFactory::getApplication('site'); $mainframe->initialise(); } require_once JPATH_BASE . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->config->initializeTranslations(); $extraWatch->block->checkBackendTokenFromUrl(); ?> var oldmarker; var map; var infowindow; var openmap, layer, openmapmarkers;
include_once JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "includes.php"; $extraWatch = new ExtraWatchMain(); $extraWatch->helper->setNoindexHttpHeaders(); //setting explicitly for ajax requests $extraWatch->block->checkBackendTokenFromUrl(); $extraWatch->config->initializeTranslations(); $group = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, ExtraWatchHelper::requestPost('mod')); /// $prevSum = (int) ExtraWatchHelper::requestPost('prev'); /// $suffix = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, ExtraWatchHelper::requestPost('suffix')); /// ExtraWatchInput::validate(_EW_INPUT_DIR, realpath(dirname(__FILE__) . DS . ExtraWatchHelper::requestPost('dir1'))); $realDirectoryMain = ExtraWatchHelper::requestPost('dir1'); ///** ExtraWatchInput::validate(_EW_INPUT_DIR, realpath(dirname(__FILE__) . DS . ExtraWatchHelper::requestPost('dir2'))); $realDirectoryAdmin = ExtraWatchHelper::requestPost('dir2'); ///** if (!$extraWatch->sizes->isAllowed($realDirectoryMain) || !$extraWatch->sizes->isAllowed($realDirectoryAdmin)) { die(_JW_SIZEQUERY_BAD_REQUEST); } $extraWatch->sizes->renderFileList($group, $realDirectoryMain, $realDirectoryAdmin, $realDirectoryMain, $realDirectoryAdmin, $suffix); $result = $extraWatch->sizes->renderPageTotal; if ($extraWatch->sizes->renderPageTotalRaw == $prevSum) { $result = ""; if ($extraWatch->sizes->renderPageTotalRaw) { $result .= " (" . sprintf("+%.2f", ($extraWatch->sizes->renderPageTotalRaw - $prevSum) / $extraWatch->sizes->renderPageTotalRaw * 100) . "%)"; } } else { if ($extraWatch->sizes->renderPageTotalRaw > $prevSum) { if ($extraWatch->sizes->renderPageTotalRaw) {
///** $uri2titleId = (int) @$params["uri2titleId"]; ///** $w = (int) @$params["w"]; ///** $h = (int) @$params["h"]; ///** $day = (int) @$params["day"]; ///** if (@$params["ip"]) { $ip = ExtraWatchInput::validate(_EW_INPUT_IP, @$params["ip"]); ///** } switch ($action) { case 'getHeatMap': $randHash = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @$params[ExtraWatchHeatmap::HEATMAP_PARAM_HASH]); /// if (!$extraWatch->config->isPermittedWithHeatmapToken($randHash)) { die("Unauthorized access"); } echo $extraWatch->heatmap->getHeatmapClicksByUri2TitleIdJSON($uri2titleId, $w, $h, $day, $ip); break; case 'click': if (!$extraWatch->config->isPermittedWithFrontendToken($extraWatch->config->getFrontendToken())) { die("Unauthorized access"); } $x = $params["x"]; $y = $params["y"]; $xpath = urldecode(urldecode($params["xpath"])); $extraWatch->heatmap->insertHeatmapClick($uri2titleId, $x, $y, $w, $h, $xpath); break;
function extrawatch_mainController($task = "") { $current_error_reporting = error_reporting(); error_reporting(E_ALL & ~(E_STRICT | E_NOTICE)); $extraWatch = new ExtraWatchMain(); $extraWatchHTML = new ExtraWatchHTML(); $extraWatchGoalHTML = new ExtraWatchGoalHTML($extraWatch); $extraWatchTrendHTML = new ExtraWatchTrendHTML($extraWatch); $env = ExtraWatchEnvFactory::getEnvironment(); $queryParams = ExtraWatchHelper::getUrlQueryParams(); $action = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @$queryParams['action']); /// if (!$task) { $task = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @$queryParams['task']); /// } ExtraWatchHelper::checkIfRequestPathAllowed($extraWatch, $env, $task); $taskFromNavigation = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @ExtraWatchHelper::request('task')); /// if ($taskFromNavigation) { $task = $taskFromNavigation; } $option = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @ExtraWatchHelper::requestGet('option')); /// $result = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, @ExtraWatchHelper::requestGet('result')); /// $params = @$queryParams['params']; /// $output = ""; if (!$extraWatch->config->getLiveSite()) { $extraWatch->config->setLiveSite($env->getRootSite()); if ($env->getRootSite() != $extraWatch->config->getLiveSite()) { die("<span style='color: red; font-weight: bold;'>Error: It was not possible to write data to the database! Check your database permissions</span>"); } } $extraWatch->setup->runAdditionalSQLScripts(); $extraWatch->config->saveRandValue(); switch ($task) { case "ajax": $includePath = JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . "ajax"; ExtraWatchHelper::checkIfFileExistsInDir($includePath, $action . ".php"); if ($action == "download") { if (ExtraWatchInput::validate(_EW_INPUT_FILE_PATH, $includePath . DS . $action . ".php")) { include_once $includePath . DS . $action . ".php"; } die; } else { $extraWatch->config->validateRequestToken($queryParams); $output = ExtraWatchHelper::get_include_contents("ajax" . DS . $action . ".php", array("params" => $params)); die($output); } break; case "js": $extraWatch->config->validateRequestToken($queryParams); $includePath = "js"; ExtraWatchHelper::checkIfFileExistsInDir(JPATH_BASE2 . DS . "components" . DS . "com_extrawatch" . DS . $includePath, $action . ".php"); $output = ExtraWatchHelper::get_include_contents($includePath . DS . $action . ".php", array()); die($output); break; case "useFreeVersion": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $extraWatch->config->useFreeVersion(); $extraWatch->config->saveVersionIntoDatabase(); $extraWatch->config->setLiveSite($env->getRootSite()); break; case "activate": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); if ($action == "codecanyon") { $extraWatch->config->saveConfigValue("EXTRAWATCH_MARKETPLACE", $action); } $extraWatch->config->activate(ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, ExtraWatchHelper::requestGet('key'))); /// $extraWatch->config->saveVersionIntoDatabase(); $extraWatch->config->setLiveSite($env->getRootSite()); break; case "licenseAccepted": $extraWatch->config->setLiveSite($env->getRootSite()); $extraWatch->config->setLicenseAccepted(); $extraWatch->config->setHtAccessPermissions(); $extraWatch->config->saveVersionIntoDatabase(); break; case "resetLiveSite": $extraWatch->block->checkPermissions(); $extraWatch->config->setLiveSite($env->getRootSite()); break; } if (!_EW_CLOUD_MODE && !$extraWatch->config->checkLicenseAccepted()) { //remove check license accepted if cloud mode $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderAcceptLicense(); return $output; } else { if (!_EW_CLOUD_MODE && (!$extraWatch->config->isFree() && !$extraWatch->config->isAdFree() && !$extraWatch->config->isUnregistered())) { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderAdFreeLicense(); return $output; } switch ($task) { case "storeIpInfoDbKey": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $keyValue = ExtraWatchInput::validate(_EW_INPUT_ONE_STRING, ExtraWatchHelper::requestPost('storeIpInfoDbKey')); /// if ($keyValue) { $extraWatch->config->saveConfigValue("EXTRAWATCH_IPINFODB_KEY", $keyValue); } else { $output = "<br/><div style='border: 1px solid red; width: 50%; padding: 10px;'>" . _EW_STATS_MAP_INVALID_KEY . "</div>"; } $output .= $extraWatchHTML->renderLocation(); $output .= $extraWatchHTML->renderFooter(); break; case "users": switch ($action) { case "save": $result = $extraWatch->helper->saveUserSettings(ExtraWatchHelper::requestPost()); /// default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderUsers($extraWatch); $output .= $extraWatchHTML->renderFooter(); break; } break; case "update": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderUpdate(); $output .= $extraWatchHTML->renderFooter(); break; case "sizes": if (!$extraWatch->config->isFree()) { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderSizes(); $output .= $extraWatchHTML->renderFooter(); } break; case "seo": switch ($action) { case "save": $result = $extraWatch->helper->saveSEOSettings(ExtraWatchHelper::requestPost()); /// default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderSEO(); $output .= $extraWatchHTML->renderFooter(); break; } break; case "graphs": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatchTrendHTML = new ExtraWatchTrendHTML($extraWatch); $output .= $extraWatchHTML->renderGraphs($extraWatchTrendHTML); $output .= $extraWatchHTML->renderFooter(); break; case "trends": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatchTrendHTML->renderTrends(); $output .= $extraWatchHTML->renderFooter(); break; case "credits": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderCredits(); $output .= $extraWatchHTML->renderFooter(); break; case "goals": switch ($action) { case "insert": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchGoalHTML->renderBackToGoals(); $output .= $extraWatchGoalHTML->renderGoalsInsert((int) @ExtraWatchHelper::requestGet('id'), (int) @ExtraWatchHelper::requestGet('postid')); /// $output .= $extraWatchHTML->renderFooter(); break; case "save": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatch->goal->saveGoal(ExtraWatchHelper::requestPost()); /// $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "edit": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchGoalHTML->renderBackToGoals(); $output .= $extraWatchGoalHTML->renderGoalEdit(@ExtraWatchHelper::requestGet('goalId')); /// $output .= $extraWatchHTML->renderFooter(); break; case "delete": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $result = $extraWatch->goal->deleteGoal(@ExtraWatchHelper::requestGet('goalId')); /// $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "enable": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $result = $extraWatch->goal->enableGoal(@ExtraWatchHelper::requestGet('goalId')); /// $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "disable": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $result = $extraWatch->goal->disableGoal(@ExtraWatchHelper::requestGet('goalId')); /// $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "export": //$output .= $extraWatchHTML->renderAdminStyles($extraWatch); //$output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatch->goal->exportGoals(ExtraWatchHelper::requestPost()); /// $extraWatchGoalHTML->renderExportGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "import": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchGoalHTML->renderImportGoals(); $output .= $extraWatchHTML->renderFooter(); break; case "saveImportGoal": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatch->goal->saveImportGoal(ExtraWatchHelper::requestPost()); /// $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchGoalHTML->renderGoals(@$result); $output .= $extraWatchHTML->renderFooter(); break; } break; case "settings": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderSettings(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "settingsSave": $result = $extraWatch->helper->saveSettings(ExtraWatchHelper::requestPost()); /// $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderSettings(@$result); $output .= $extraWatchHTML->renderFooter(); break; case "resetData": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $result = $extraWatch->helper->resetData(ExtraWatchHelper::requestPost()); /// $output .= $extraWatchHTML->renderResetData($result); $output .= $extraWatchHTML->renderFooter(); break; case "antiSpam": switch ($action) { case "toggleBlocking": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $ip = @ExtraWatchHelper::requestGet('ip'); /// $extraWatch->block->extrawatch_blockIpToggle($ip); $output .= $extraWatchHTML->renderAntiSpam(); $output .= $extraWatchHTML->renderFooter(); break; case "save": $numRecordsImported = $extraWatch->block->saveBadWordsList(ExtraWatchHelper::requestPost()); $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderAntiSpam(); $output .= $extraWatchHTML->renderFooter(); break; case "antiSpamSave": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= nl2br($extraWatch->block->saveImportAntiSpamIp(ExtraWatchHelper::requestPost())); $output .= $extraWatchHTML->renderAntiSpam(); $output .= $extraWatchHTML->renderFooter(); break; default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderAntiSpam(); $output .= $extraWatchHTML->renderFooter(); break; } break; case "status": if (!$extraWatch->config->isFree()) { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderStatus(); $output .= $extraWatchHTML->renderFooter(); } break; /* case "upgrade" : { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderUpgrade(); break; }*/ /* case "upgrade" : { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderUpgrade(); break; }*/ case "license": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderAdFreeLicense(); $output .= $extraWatchHTML->renderFooter(); break; case "history": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderVisitsHistory(); $output .= $extraWatchHTML->renderFooter(); break; case "flow": if (!$extraWatch->config->isFree()) { $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderFlow(); $output .= $extraWatchHTML->renderFooter(); } break; case "emails": switch ($action) { case "save": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $result = $extraWatch->helper->saveEmailSettings(ExtraWatchHelper::requestPost()); /// $output .= $extraWatchHTML->renderEmails(); $output .= $extraWatchHTML->renderFooter(); break; case "send": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $extraWatch->visit->sendNightlyEmails(); $output .= $extraWatchHTML->renderEmails(); $output .= $extraWatchHTML->renderFooter(); break; default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderEmails(); $output .= $extraWatchHTML->renderFooter(); break; } break; case "heatmap": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderHeatMap(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "clicks": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderClicks(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "downloads": $extraWatchDownloads = new ExtraWatchDownloads($extraWatch->database); $extraWatchDownloadsHTML = new ExtraWatchDownloadsHTML($extraWatch->database); switch ($action) { case "addExtension": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloadsHTML->renderAddExtension(); $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; case "saveAddExtension": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->addExtension(ExtraWatchHelper::requestPost('extname')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "editExtension": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloadsHTML->renderEditExtension(ExtraWatchHelper::requestGet('eid')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; case "saveEditExtension": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->updateExtension(ExtraWatchHelper::requestPost('eid'), ExtraWatchHelper::requestPost('extname')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "deleteExtension": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->deleteExtension(ExtraWatchHelper::requestGet('co')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; case "addFile": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloadsHTML->renderAddFile(); $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; case "editFile": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloadsHTML->renderEditFile(ExtraWatchHelper::requestGet('did')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; case "saveEditFile": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->updateFilePath(ExtraWatchHelper::requestPost('did'), ExtraWatchHelper::requestPost('filepathname')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "saveAddFile": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->addFilePath(ExtraWatchHelper::requestPost('filepathname')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); return $output; break; case "deleteFile": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchDownloads->deleteFilePath(ExtraWatchHelper::requestGet('co')); /// $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); break; default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderDownloads(); $output .= $extraWatchHTML->renderFooter(); return $output; break; } break; case "location": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderLocation(); $output .= $extraWatchHTML->renderFooter(); break; case "stats": $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderStats(); $output .= $extraWatchHTML->renderFooter(); break; default: $output .= $extraWatchHTML->renderAdminStyles($extraWatch); $output .= $extraWatchHTML->renderHeader($extraWatch); $output .= $extraWatchHTML->renderBody($option); $output .= $extraWatchHTML->renderFooter(); return $output; break; } } error_reporting($current_error_reporting); return $output; }