} else { $_POST['item']['sql'] = "SELECT COUNT(*)\nFROM some_table\nWHERE created BETWEEN \$FROM AND \$TO\n"; } } } } $SELECT_DSNS = array(); foreach ($DB->select("SELECT id, name FROM dsn ORDER BY name") as $row) { $SELECT_DSNS[$row['id']] = $row['name']; } $SELECT_ITEMS = array(); $seenArchived = 0; foreach ($DB->select("SELECT id, name, archived FROM item ORDER BY archived, name") as $row) { if (!$seenArchived && $row['archived']) { $SELECT_ITEMS[0] = ""; } $SELECT_ITEMS[$row['id']] = $row['name']; } $SELECT_PERIODS = getPeriods(); if (!$tables && $id) { $to = $DB->selectCell("SELECT MAX(created) FROM data WHERE item_id=?", $id); if (!$to) { $to = time(); } foreach ($SELECT_PERIODS as $period => $periodName) { $data = generateTableData($to, $PREVIEW_TABLES_COLS, $period, $id); $tables[$periodName] = generateHtmlTableFromData($data, true); } } $title = $id ? 'Edit item <a href="' . htmlspecialchars($_SERVER['REQUEST_URI']) . '">' . htmlspecialchars($_POST['item']['name']) . '</a>' . ' <a href="item.php?clone=' . htmlspecialchars($id) . '" title="Clone this item"><img src="static/clone.gif" width="10" height="10" border="0" /></a>' : "Add a new item"; template("item", array("titleHtml" => $title, "title" => strip_tags($title), "tables" => $tables, "canAjaxTestSql" => canAjaxTestSql()));
} // Generate the table data. $data = generateTableData($to, $back, $period, null, null, $onlyReName); // Remove archived rows. foreach ($data['groups'] as $gName => $gRows) { foreach ($gRows as $rName => $rInfo) { if ($rInfo['archived']) { unset($data['groups'][$gName][$rName]); } } if (!$data['groups'][$gName]) { unset($data['groups'][$gName]); } } // Generate HTML. $html = generateHtmlTableFromData($data); $firstCaption = current($data['captions']); $SELECT_PERIODS = getPeriods(); $name = getSetting("instance"); $replyto = getSetting("replyto"); $url = getSetting("index_url"); foreach (preg_split('/\\s*,\\s*/s', $emails) as $email) { $email = trim($email); if (!$email) { continue; } ob_start(); template("mail", array("title" => ($name ? $name . ": " : "") . $SELECT_PERIODS[$period] . " stats: " . preg_replace('/\\s+/s', ' ', $firstCaption['caption']) . " [" . date("Y-m-d", $firstCaption['to']) . "]", "to" => $email, "replyto" => $replyto ? $replyto : "*****@*****.**", "url" => $url . "?to=" . date("Y-m-d", $to) . "&period=" . $period, "htmlTable" => $html), true, true); $mail = ob_get_clean(); $mail = preg_replace('{(?=<tr)|(?<=/tr>)}s', "\n", $mail); Mail_Simple::mail($mail);