<?php
/**
 * file semmelstatzR_options.php
 *
 * @package     SemmelstatzR
 * @version     $Rev$
 * @since       1.0.0 Beta
 * @author      SEM-Team
 * @copyright   (c)2011 SEM-Team
 * @link        http://sourceforge.net/projects/semmelstatz/
 * @license     http://www.gnu.org/licenses/gpl-3.0.html
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.  
 *
 * $Id$
 * 
 */
/**  
 * based upon semmelstatz
 * Copyright (c) 2005-2009 Andreas 'Redunzl' Mueller (redunzl@gmx.de)
 *    
 * @license http://www.gnu.org/licenses/gpl-2.0.html
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License (version 2) as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

if(!current_user_can('manage_statz')) {
	die('Zugriff verweigert');
}
 
    if(isset($_POST['options_save'])) {
		
		$sem_options['statz_write_admins'] = $_POST['statz_write_admins'];
		$sem_options['statz_write_users'] = $_POST['statz_write_users'];
		$sem_options['statz_encode_ip'] = $_POST['statz_encode_ip'];
		$sem_options['statz_days_limit'] = $_POST['statz_days_limit'];
		$sem_options['statz_show_dailystatz'] = $_POST['statz_show_dailystatz'];
		$sem_options['statz_referer_limit'] = $_POST['statz_referer_limit'];
		$sem_options['statz_show_referers'] = $_POST['statz_show_referers'];
		$sem_options['statz_mask_referer'] = $_POST['statz_mask_referer'];
		$sem_options['statz_keyword_limit'] = $_POST['statz_keyword_limit'];
		$sem_options['statz_show_keywords'] = $_POST['statz_show_keywords'];
		$sem_options['statz_topreads_limit'] = $_POST['statz_topreads_limit'];
		$sem_options['statz_show_reads'] = $_POST['statz_show_reads'];
		$sem_options['statz_show_todayreads'] = $_POST['statz_show_todayreads'];
		$sem_options['statz_comment_limit'] = $_POST['statz_comment_limit'];
		$sem_options['statz_show_commenters'] = $_POST['statz_show_commenters'];
		$sem_options['statz_show_topcommposts'] = $_POST['statz_show_topcommposts'];
		$sem_options['statz_show_useronline'] = $_POST['statz_show_useronline'];
		$sem_options['statz_online_time'] = $_POST['statz_online_time'];
		$sem_options['statz_show_todayusers'] = $_POST['statz_show_todayusers'];
		$sem_options['statz_on_dashboard'] = $_POST['statz_on_dashboard'];
		$sem_options['statz_datarecs_limit'] = $_POST['statz_datarecs_limit'];
  $sem_options['statz_use_img'] = $_POST['statz_use_img'];
		update_option("semmelstatzR_options", $sem_options);
		
		echo '<div class="updated fade"><p>'.semr_i18n('Options saved').'</strong></p></div>';
	}

	if(isset($_POST['trunc_save'])) {
        if (sem_truncateStatzTable()) {
            echo "<div class='updated'><p>".semr_i18n('<i>statz</i>-table emptied succesfully.')."</p></div>";
        }
    }
    
    if(isset($_POST['limit_save'])) {
		$sem_options["statz_recdays_limit"] = $_POST["statz_recdays_limit"];
		
        if($sem_options["statz_recdays_limit"] < 1 || (!is_numeric($sem_options["statz_recdays_limit"]))) $sem_options["statz_recdays_limit"] = 1;
        update_option("semmelstatzR_options", $sem_options);
		
		echo "<div class='updated fade'><p>Der Wert f&uuml;r das Limit wurde erfolgreich gespeichert.</p></div>";
    }
    
    if(isset($_POST['limit_execute'])) {
		$days = $sem_options["statz_recdays_limit"];
        if(($days >= sem_showStatzDays()) || (!is_numeric($days))) {
            echo "<div class='error fade'><p>Der eingegebene Wert ist keine Zahl oder zu gro&szlig;!</p></div>";
        }
        else {
            if ($result == sem_delOutOfLimit()) {
                echo "<div class='updated fade'><p>Die <i>statz</i>-Tabelle wurde erfolgreich auf ".$days." Tage gek&uuml;rzt.</p></div>";
            }
        }
    }
    
    if(isset($_POST['cron_save'])) {
		if($sem_options['statz_do_cron'] == true) {
            $sem_options['statz_do_cron'] = false;
        }
        else {
            $sem_options['statz_do_cron'] = true;
            $sem_options['statz_next_cron'] = time() + 86400;
        }
		update_option("semmelstatzR_options", $sem_options);
    }
	
?>

	<div class="wrap">
		
		<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
		
		<div id='icon-semmelstatzR' class='icon32'><br /></div>
		<h2>SemmelstatzR &rsaquo; <?php echo semr_i18n('Options'); ?></h2>
	   
			<p><input type="submit" class="button-secondary" name="options_save" value="<?php echo semr_i18n('Save Changes'); ?>" /></p>
			
			<table class="form-table">
       
       <tr style="background:#eee;" valign="middle">
         <th><?php echo semr_i18n('Use tracking image'); ?></th>
         <td><input name="statz_use_img" type="checkbox" id="statz_write_admins" value="statz_use_img"
          <?php if($sem_options["statz_use_img"] == TRUE) {?> checked="checked" <?php } ?> />
         </td>
         <td><?php echo semr_i18n('Use a pixelimage in the footer to track visitors. Only needed with some cache-plugins. - (Default: Off)'); ?></td>
        </tr>
				
				<tr style="background:#eee;" valign="middle">
					<th>Blog-Administratoren aufzeichnen</th>
					<td><input name="statz_write_admins" type="checkbox" id="statz_write_admins" value="statz_write_admins"
						<?php if($sem_options["statz_write_admins"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Trackt alle Zugriffe des/der Blog-Admins im Frontend des Blogs - (default: AUS)</td>
				</tr>
				
				<tr valign="middle">
					<th>Blog-User aufzeichnen</th>
					<td><input name="statz_write_users" type="checkbox" id="statz_write_users" value="statz_write_users"
						<?php if($sem_options["statz_write_users"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Trackt alle Zugriffe der registrierten Blog-User im Frontend des Blogs - (default: AUS)</td>
				</tr>
				
				<tr style="background:#eee;"  valign="middle">
					<th>IP-Adressen codiert aufzeichnen</th>
					<td><input name="statz_encode_ip" type="checkbox" id="statz_encode_ip" value="statz_encode_ip"
						<?php if($sem_options["statz_encode_ip"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Der Gesetzgeber verbietet die Aufzeichnung der IP-Adresse eines Besuchers &uuml;ber dessen
                     zeitlichen Verbleib auf einer Webseite hinaus. Nach Aktivierung dieser Option rechnet SEMMELSTATZ
                     die IP-Adresse des Besuchers nach einem simplen arithmetischen Verfahren um. Somit schreibt
						SEMMELSTATZ keine IP-Adressen im Klartext in die <i>statz</i>-Tabelle - (default: AUS)</td>
				</tr>
				
				<tr valign="middle">
					<th>Statz der letzten <input name="statz_days_limit" type="text" id="statz_days_limit"
						value="<?php echo $sem_options["statz_days_limit"]; ?>" style="text-align:center;" size="2" maxlength="2" />
                     Tage anzeigen
					</th>
					<td><input name="statz_show_dailystatz" type="checkbox" id="statz_show_dailystatz" value="statz_show_dailystatz"
						<?php if($sem_options["statz_show_dailystatz"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Tages&uuml;bersicht Besucher-Hits-Referer in absoluten Zahlen mit absteigendem Datum - (default: 7, AN)</td>
				</tr>
				
				<tr  style="background:#eee;"  valign="middle">
					<th><input name="statz_referer_limit" type="text" id="statz_referer_limit"
						value="<?php echo $sem_options["statz_referer_limit"]; ?>" style="text-align:center;" size="2" maxlength="2" />
                     Referer anzeigen
					</th>
					<td><input name="statz_show_referers" type="checkbox" id="statz_show_referers" value="statz_show_referers"
						<?php if($sem_options["statz_show_referers"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Listet <?php echo $sem_options["statz_referer_limit"]; ?> Links auf Webseiten, die auf dieses Blog
						verweisen - (default: 10, AN)</td>
				</tr>
				
				<tr  valign="middle">
					<th>Referer-Links via Google maskieren</th>
					<td><input name="statz_mask_referer" type="checkbox" id="statz_mask_referer" value="statz_mask_referer"
						<?php if($sem_options["statz_mask_referer"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Der Aufruf einer referenzierenden Webseite aus SEMMELSTATZ heraus w&uuml;rde die komplette URL
					des Adminbereichs an den Webserver dieser Webseite &uuml;bermitteln. Die Maskierung der Referer-Links
					als GOOGLE-Weiterleitung verhindert dies. Funktioniert nicht mit allen Links - (default: AUS)</td>
				</tr>
				
				<tr  style="background:#eee;" valign="middle">
					<th><input name="statz_keyword_limit" type="text" id="statz_keyword_limit"
						value="<?php echo $sem_options["statz_keyword_limit"]; ?>" style="text-align:center;" size="2" maxlength="2" />
                     Suchbegriffe anzeigen
					</th>
					<td><input name="statz_show_keywords" type="checkbox" id="statz_show_keywords" value="statz_show_keywords"
						<?php if($sem_options["statz_show_keywords"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Listet <?php echo $sem_options["statz_keyword_limit"]; ?> Links zu Suchbegriffen, mit denen Besucher
						das Blog gefunden haben. Der Name der entsprechenden Searchengine (soweit bekannt) ist dem
						Suchbegriff vorangestellt. Der WP-internen Suche steht ein INTERN voraus	- (default: 10, AN)</td>
				</tr>
				
				<tr valign="middle">
					<th>Top<input name="statz_topreads_limit" type="text" id="statz_topreads_limit"
						value="<?php echo $sem_options["statz_topreads_limit"]; ?>" style="text-align:center;" size="2" maxlength="2" />
						Posts & Pages anzeigen
					</th>
					<td><input name="statz_show_reads" type="checkbox" id="statz_show_reads" value="statz_show_reads"
						<?php if($sem_options["statz_show_reads"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Die <?php echo $sem_options["statz_topreads_limit"]; ?> meist gelesenen Posts & Pages, basierend
					auf dem seit SEMMELSTATZ 3.2 neuen Z&auml;hler in der <i>posts</i>-Tabelle. Dieser Z&auml;hler ist, im Gegensatz
					zur Ermittlung aus der <i>statz</i>-Tabelle, dauerhaft - (default: 10, AN)</td>
				</tr>
				
				<tr  style="background:#eee;" valign="middle">
					<th>Top10 Posts & Pages heute anzeigen</th>
					<td><input name="statz_show_todayreads" type="checkbox" id="statz_show_todayreads" value="statz_show_todayreads"
						<?php if($sem_options["statz_show_todayreads"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Die 10 meist gelesenen Posts & Pages des laufenden Tages mit Anzahl der Klicks - (default: AN)</td>
				</tr>
				
				<tr valign="middle">
					<th>Top<input name="statz_comment_limit" type="text" id="statz_comment_limit"
						value="<?php echo $sem_options["statz_comment_limit"]; ?>" style="text-align:center;" size="2" maxlength="2" />
                     Kommentierer anzeigen
					</th>
					<td><input name="statz_show_commenters" type="checkbox" id="statz_show_commenters" value="statz_show_commenters"
						<?php if($sem_options["statz_show_commenters"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Die Top<?php echo $sem_options["statz_comment_limit"]; ?> der Kommentierer auf Basis der
					<i>comments</i>-Tabelle mit Anzahl ihrer Kommentare - (default: 10, AN)</td>
				</tr>
				
				<tr  style="background:#eee;" valign="middle">
					<th>Top10 kommentierter Posts anzeigen</th>
					<td><input name="statz_show_topcommposts" type="checkbox" id="statz_show_topcommposts" value="statz_show_topcommposts"
						<?php if($sem_options["statz_show_topcommposts"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Die Top10 der kommentierten Posts mit Anzahl der Kommentare - (default: AN)</td>
				</tr>
				
				<tr valign="middle">
					<th>Online-User anzeigen</th>
					<td><input name="statz_show_useronline" type="checkbox" id="statz_show_useronline" value="statz_show_useronline"
						<?php if($sem_options["statz_show_useronline"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Zeigt einen Besucher an, sobald er das Blog 'betreten' hat. Ist er ein Administrator oder regsitrierter
						User des Blogs oder kommt mit einem Kommentar-COOKIE, wird er mit seinem Login- bzw. Kommentierer-Namen und
						nicht als GAST angezeigt - (default: AN)</td>
				</tr>
				
				<tr  style="background:#eee;" valign="middle">
					<th>Sekunden, die ein User als anwesend gilt</th>
					<td><input name="statz_online_time" type="text" id="statz_onlinetime_time"
						value="<?php echo $sem_options["statz_online_time"]; ?>" style="text-align:center;" size="3" maxlength="4" />
					</td>
					<td>Dieser Wert legt fest, dass ein Besucher <?php echo $sem_options["statz_online_time"]; ?> Sekunden als
						anwesend gilt und so lange als ONLINE-Besucher angezeigt wird - (default: 180)</td>
				</tr>
				
				<tr valign="middle">
					<th>Heutige User anzeigen</th>
					<td><input name="statz_show_todayusers" type="checkbox" id="statz_show_todayusers" value="statz_show_todayusers"
						<?php if($sem_options["statz_show_todayusers"] == TRUE) {?> checked="checked" <?php } ?> /></td>
					<td>(default: AN)</td>
				</tr>
				
				<tr style="background:#eee;"  valign="middle">
					<th>Mini-Statz im Dashboard anzeigen</th>
					<td><input name="statz_on_dashboard" type="checkbox" id="statz_on_dashboard" value="statz_on_dashboard"
						<?php if($sem_options["statz_on_dashboard"] == TRUE) {?> checked="checked" <?php } ?> />
					</td>
					<td>Aktiviert das SEMMELSTATZ-Widget im Dashboard - (default: AUS)</td>
				</tr>
				
				<tr valign="middle">
					<th>Anzahl Datens&auml;tze im <a href='admin.php?page=semmelstatzR/semmelstatzR-log.php'>Log</a></th>
					<td><input name="statz_datarecs_limit" type="text" id="statz_datarecs_limit"
						value="<?php echo $sem_options["statz_datarecs_limit"]; ?>" style="text-align:center;" size="3" maxlength="4" />
					</td>
					<td>Anzahl der kompletten Datens&auml;tze <i>DATUM-TCP/IP-REFERER-SUCHBEGRIFF-POST/PAGE-USERNAME</i>
					im SEMMELSTATZ-Log - (default: 100)</td>
				</tr>
				
				<tr valign="middle">
					<th></th>
					<td></td>
				</tr>
				
			</table>
			
			<p><input type="submit" class="button-secondary" name="options_save" value="&Auml;nderungen &uuml;bernehmen" /></p>
			
       </form>

       <div id='icon-semmelstatzR' class='icon32'><br /></div>
	   <h2>SemmelstatzR &rsaquo; Statz-Tabellen</h2>

			<table class="form-table">
				
				<tr valign="middle">
					<td colspan="2">
						<i>statz</i>-Tabelle: <?php echo sem_countDaysInStatzTable()-1; ?>,xx Tage (Der aktuelle Tag ist nat&uuml;rlich nie komplett!!!)<br />
						<i>statzhist</i>-Tabelle: <?php echo sem_showStatzDays(); ?> Tage
					</td>
			   </tr>
			   <tr style="background:#eee;"  valign="middle">
					<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
					<th><input name="statz_recdays_limit" type="input" id="statz_recdays_limit"
						value="<?php echo $sem_options["statz_recdays_limit"]; ?>" style="text-align:center;"
						size="2" maxlength="3" />-Tage-Limit f&uuml;r die <i>statz</i>-Tabelle festlegen.
					</th>
					<td>
						<input type="submit" class="button-secondary" name="limit_save" value="Limit speichern" />
					</td>
					<td>
						Um die <i>statz</i>-Tabelle nicht ins Unendliche anwachsen zu lassen, macht es Sinn sie zu limitieren,
						egal, ob nun manuell oder automatisch. Links die Anzahl der Statistiktage (nicht der zu l&ouml;schenden Tage)
						eintragen und speichern. Der Wert muss eine Ganzzahl <b>>= 1</b> (default: 20) sein, sonst werden falsche
						Werte in die <i>statzhist</i>-Tabelle &uuml;bertragen. Der Wert gilt dann sowohl f&uuml;r das manuelle, wie
						auch das automatische Limit.<br /><u>Dieser Schritt l&ouml;scht noch keine Daten, sondern speichert nur den Wert
						f&uuml; das Limit!</u>
					</td>
					</form>
				</tr>
				<tr valign="middle">
					<form  method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
					<th><i>statz</i>-Tabelle manuell limitieren</th>
					<td>
						<input type="submit" class="button-secondary" name="limit_execute" value="statz-Tabelle k&uuml;rzen" />
					</td>
					<td>Es erfolgt <u>keine</u> R&uuml;ckfrage! Die <i>statz</i>-Tabelle wird <u>einmalig</u> auf
						<b><?php echo $sem_options["statz_recdays_limit"]; ?></b> Tage gek&uuml;rzt. Alle Datens&auml;tze <u>&uuml;ber diesen
						Zeitraum hinaus</u> werden unwiderruflich gel&ouml;scht. Dies gilt nicht f&uuml;r die historischen Daten.
					</td>
					</form>
				</tr>
				<tr style="background:#eee;"  valign="middle">
					<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
					<th><i>statz</i>-Tabelle automatisch limitieren</th>
					<td>
						<?php if($sem_options["statz_do_cron"] == true): ?>
							<input type="submit" class="button-secondary" name="cron_save" value="Automatisches Limit deaktivieren" />
						<?php else:?>
							<input type="submit" class="button-secondary" name="cron_save" value="Automatisches Limit aktivieren" />
						<?php endif ?>
					</td>
					<td>Das automatische Limitieren der statz-Tabelle ist <?php if ($sem_options["statz_do_cron"] == false): ?>
						<span style="color:#fff;background:red;font-weight:bold;">&nbsp;deaktiviert&nbsp;</span>
						<?php else: ?>
						<span style="color:#fff;background:green;font-weight:bold;">&nbsp;aktiviert&nbsp;</span>
						<?php endif ?>
						<?php if ($sem_options["statz_do_cron"] == true): ?>
						<br />N&auml;chster Lauf am <?php echo date("j.n.Y", $sem_options["statz_next_cron"]); ?>
						gegen <?php echo date("G:i", $sem_options["statz_next_cron"]); ?> Uhr.
						<?php else: ?>
						<br />Es erfolgt keine automatische Limitierung
						<?php endif ?>
					</td>
					</form>
				</tr>
				<tr valign="middle">
					<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
					<th><i>statz</i>-Tabelle leeren</th>
					<td>
						<input type="submit" class="button-secondary" name="trunc_save" value="statz-Tabelle leeren" />
					</td>
					<td>Die Datens&auml;tze der <b>statz</b>-Tabelle werden unwiderruflich geleert, und der Speicherplatz in der Datenbank mittels
						<b>OPTIMIZE TABLE</b> freigegeben. ACHTUNG: Es erfolgt <u>keine</u> R&uuml;ckfrage! Die Aufzeichnung
						l&auml;uft ohne Unterbrechung weiter. Die Daten der <i>statzhist</i>-Tabelle bleiben unber&uuml;hrt.
					</td>
					</form>
				</tr>
			</table>
		<hr />
		
		<?php sem_showCopyright(); ?>

	</div>