Welcome, Guest. Please login or register.
Did you miss your activation email?
April 24, 2014, 10:24:50 PM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
177505 Posts in 24327 Topics by 6879 Members
Latest Member: dorstcom
* Home Help Search Login Register
Pages: [1] 2   Go Down
Print
Author Topic: Ein neues Modul: Timebased Section Picker  (Read 3471 times)
evaki

Offline Offline

Posts: 696


WWW
« on: January 01, 2012, 01:14:06 AM »

Vormals: Bitte testen: jmstv_picker (Sendezeit: Von 23 Uhr bis 6 Uhr)

Timebased section-picker within additional selects for displaying (text-) sections for the states.
Based on module "section_picker" of Ruud Eisinga.
Also tested within WB 2.8.0, 2.8.1 and 2.8.2

Da wir WebsiteBaker und Lepton nutzen, funktioniert es jetzt "überall".

Tageszeitabhängige Einblendungen, vom "Tip des Tages, über Medienwiedergabve bis zur Bannerwerbung sind jetzt ein Kinderspiel.




Wer das Modul für den Jugendschutz nutzen möchte, muß weitere Vorkehrungen treffen.
Die entsprechend angelegten und Seiten müssen bei Sichtbarkeit auf "keine" stehen.
Hiermit erreicht man, daß die Inhalte nicht über Backlinks oder Direktaufruf erreicht werden können.
Diese -separate- Altersabstufung bzw -kennzeichnung erfolgt seitenorientiert über XML oder andere Methoden..

MfG. Evaki

Aktueller Download: timebased_section_p icker  
« Last Edit: January 16, 2012, 04:59:50 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #1 on: January 01, 2012, 10:45:09 AM »

Moin, wollte es mal kurz testen unter 2.8.1.
Dazu wegen der momentanen Tageszeit die Zeiten in view.php ändern, aber komme nicht klar.

Was ist der Unterschied zu Sectionpicker, wenn man der Sectionpicker-Section ein Start + Enddatum gibt?
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #2 on: January 01, 2012, 10:58:50 AM »

Ich habe soeben vor ca 15 Minuten einen Nachtrag zur WebsiteBaker-Version gemacht.
Etwas zu spät, wie es aussieht.
Wegen der Festlegung der "internen" WebsiteBaker-Zeit auf UTC, wurde beim Einsatz dieser Modul-Version vorerst nur an v.2.8.2 gedacht. Da ich die Bedingungen nach exit() (folgt noch über initialize.php ein Setzen auf UTC? -sonst set-utc vor exit() oder auch entfernen) nicht untersucht, also keine Abfragen gemacht habe, ist einiges noch nicht ganz durchschaut. Der kurze Blick eines Entwicklers darauf dürfte für Klarheit sorgen.

Funktion ist bzw. sollte sein, daß nach dem Erfüllen der Bedingung (Sendezeit), kein query mehr ausgeführt wird und danach UTC gesetzt ist. Funktioniert anscheinend, nur letzteres (UTC) ist noch nicht klar.

Der Unterschied zu Section_Picker liegt in der sich täglich wiederholenden "Sendezeit".
Das ist nach altem und aktuellen Jugendschutz-Gesetz der vorgeschriebene Sendezeitraum (ab 18 Jahre).

Testen läßt sich auch auf einem lokal installierten Server (PC), wo man die Systemzeit entsprechend ändert. Nur für das Ausprobieren braucht es also keine Änderungen in der view.php
MfG. Evaki
« Last Edit: January 01, 2012, 01:20:24 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
evaki

Offline Offline

Posts: 696


WWW
« Reply #3 on: January 01, 2012, 04:06:11 PM »

Die offenen Fragen (UTC) sind geklärt.
In Kürze gibt es eine zweite Version.
MfG. Evaki
Logged

Im Forum darf nicht geraucht werden!
evaki

Offline Offline

Posts: 696


WWW
« Reply #4 on: January 01, 2012, 05:13:34 PM »

Die zweite Version ist fertig (v0.26)
Aufgeräumt und mit indiviuell gestaltbaren HTML-Texten versehen ( off.html / on.html ).
MfG. Evaki

@dbs
Um es auch in v2.8.1 einsetzen zu können, muß man die Zeitsetzung ändern.
Statt mit dem direkten Setzen für 'Europe/Berlin' zu beginnen, wird man zuerst die eingestellte Zeitzone überprüfen (ob gesetzt), die entsprechende Zeit holen und in eine Variable stecken müssen, um diese am Ende der Anweisungen -statt utc- zu setzen. So stelle ich es mir zumindest vor.... -bastle ja auch nur nach dem Prinzip "Trial & Error". Vielleicht macht das jemand ? Ich selbst komme nicht mehr dazu, zumindest zur Zeit nicht.
« Last Edit: January 02, 2012, 04:07:38 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #5 on: January 02, 2012, 08:20:22 AM »

Im Falle, dass man nicht zwischen 22 und 6 Uhr die Seite besucht, wird der Inhalt versteckt und die off-Nachricht angezeigt.

Allerdings wird der Content direkt nach dem Inhalt der off.html abgebrochen. Damit fehlt alles danach kommende (footer, </body> und </html>). In 2.8.1 und 2.8.2.
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #6 on: January 02, 2012, 10:10:31 AM »

Stimmt.
Das Template sollte natürlich vollständig geparst werden.

Mal schauen, wann ich das korrigieren kann.
MfG. Evaki
« Last Edit: January 02, 2012, 10:16:01 AM by evaki » Logged

Im Forum darf nicht geraucht werden!
jacobi22

Online Online

Posts: 4230


WWW
« Reply #7 on: January 02, 2012, 10:45:32 AM »

Vorschlag meinerseits

auf das exit() verzichten und statt dessen die MYSQL- Abfragen in den default-Block

hier die geänderte view.php

Code:
<?php
/*

 Website Baker Project <http://www.websitebaker.org/>
 Copyright (C) 2004-2008, Ryan Djurovich

 Website Baker 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 2 of the License, or
 (at your option) any later version.

 Website Baker 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 Website Baker; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/
/**
*        Must include code to stop this file being access directly
*/
if(defined('WB_PATH') == false) die("Cannot access this file directly");

date_default_timezone_set('Europe/Berlin');
$time date("H");
switch(
TRUE){
case (
$time >= 06 and $time <= 22);
date_default_timezone_set('UTC');
include(
WB_PATH .'/modules/jmstv_picker/off.html');
exit(
0); break;
default;
date_default_timezone_set('UTC');
include(
WB_PATH .'/modules/jmstv_picker/on.html');

$table_mod TABLE_PREFIX.'mod_jmstv_pick';
$query_page $database->query("SELECT * FROM ".$table_mod." WHERE section_id =".$section_id);
$new_section $query_page->fetchRow();
$new_section_id $new_section["target_section_id"];

$query_sec $database->query("SELECT section_id,module FROM ".TABLE_PREFIX."sections WHERE section_id = '$new_section_id' ");
if(
$query_sec->numRows() > 0) {
        
$section $query_sec->fetchRow();
        
$section_id $section['section_id'];
        
$module $section['module'];
        require(
WB_PATH.'/modules/'.$module.'/view.php');
}
break;
}

?>

Logged

LG Uwe

Und all die Jahre - wo sind die nur hingekommen? All die Tage in den' wir immer gute Freunde waren. Ich hab gedacht es wär so die ganze Zeit - Ich hab die Welt geliebt und dich noch mehr
*miss you, Maus
Musictip:  Philipp Poisel -  All die Jahre
evaki

Offline Offline

Posts: 696


WWW
« Reply #8 on: January 02, 2012, 10:46:28 AM »

Neue Version 0.27
Hier funktioniert es, wenn nicht wieder etwas übersehen.
MfG. Evaki

Da war Jakobi schneller.
In 0.26 waren die DB-Anweisungen schon an der richtigen Stelle drin, aus unerfindlichem Grund aber wieder aus dem Editor verschwunden. Vielleicht doch mal die Zwischenspeicherung abschalten  evil  Das exit() sollte nirgendwo mehr stehen, da es aus der Testphase kommt, wo Zeit und Case geprüft wurde.
« Last Edit: January 02, 2012, 04:08:04 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
evaki

Offline Offline

Posts: 696


WWW
« Reply #9 on: January 02, 2012, 11:29:43 AM »

Hier eine view.php für WebsiteBaker v2.8.1 (war auch "verschwunden")
Bitte auch testen

MfG. Evaki
« Last Edit: January 02, 2012, 04:07:09 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #10 on: January 02, 2012, 11:32:10 AM »

deine view.php für 2.8.2 verursacht eine meldung wegen undefinierter var new_section_id.
die view von jacobi22 verursacht das nicht.
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #11 on: January 02, 2012, 11:37:57 AM »

Sehr merkwürdig, bei mir lokal ohne Fehler.
<!-- -->
Aber dafür ist diese Liste ja gut, daß alle verbessern dürfen und sollen.
Da ich diese Woche (ab heute Mittag) wohl nichts mehr machen kann, können ja alle ein wenig basteln und die jeweilige Version posten. Es ist ja auf dem richtigen Weg.
Tolles Forum  wink
MfG. Evaki
« Last Edit: January 02, 2012, 12:04:28 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #12 on: January 02, 2012, 11:50:23 AM »

ist ja nur eine notice-meldung.
dafür wird bei jacobis view wieder der content abgeschnitten. (weil exit noch drin ist?)

edit: in deiner view ist nur für default eine $new_section_id angegeben, bei case fehlt das.
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #13 on: January 02, 2012, 11:52:34 AM »

dafür wird bei jacobis view wieder der content abgeschnitten. (weil exit noch drin ist?)
So ist es.
Falls ich den heutigen Mittag noch nutzen kann, dann mach ich noch eine neue Version.
MfG. Evaki

Neu: Wird wohl nichts mehr -habe gerade Rückmeldung bekommen
Die Notice wird wohl verschwinden (vorläufige Annahme), wenn wie angedacht new_section_id ohne mit section (ohne "target") neu  definiert wird
« Last Edit: January 02, 2012, 12:23:05 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #14 on: January 02, 2012, 11:54:44 AM »

hab zwar keine ahnung, aber für den case-teil scheint das zu helfen:
Code:
$new_section_id = "";
oder
Code:
$new_section_id = $new_section;
  grin
« Last Edit: January 02, 2012, 11:56:21 AM by dbs » Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #15 on: January 02, 2012, 12:01:24 PM »

Ich habe ja auch keine Ahnung und suche mir Online die Finger wund  grin
Anscheinend hast Du damit die Bedingung "neue Section" erfüllt.
Mach mal weiter so und stelle es hier rein.
MfG. Evaki
Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #16 on: January 02, 2012, 12:11:09 PM »

Version: 028

- Notice wegen undefined $new_section_id behoben
« Last Edit: January 03, 2012, 05:26:07 AM by dbs » Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #17 on: January 02, 2012, 12:13:01 PM »

Da kannst Du ja auch noch die korrigierte view.php für WebsiteBaker v2.8.1 zupacken.
Tschüs Evaki
« Last Edit: January 02, 2012, 12:16:12 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #18 on: January 02, 2012, 12:29:12 PM »

wb2.8.1 scheint nicht zu mögen:
Code:
date_default_timezone_set($dtz);

Quote
Notice: date_default_timezo ne_set(): Timezone ID '' is invalid in .../modules/jmstv_picker/view.php on line 32

besser wäre wohl nur in zeile 27:
Code:
$dtz = 'Europe/Berlin';

und dafür löschen in zeile28:
Code:
date_default_timezone_set('Europe/Berlin');

« Last Edit: January 02, 2012, 12:33:47 PM by dbs » Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #19 on: January 02, 2012, 12:35:30 PM »

Auch hier: In anderem Zusammenhang (php 5.3) funktioniert es.
Werde es sicherlich noch einmal anschauen.
Vorerst dann doch noch nicht freigeben -schade.
MfG. Evaki
Oder probier mal ('$dtz');
Oft vergesse und verwechsle ich die Regeln, leider.......... So sind sie halt, die Laien...
« Last Edit: January 02, 2012, 12:40:17 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #20 on: January 02, 2012, 12:38:22 PM »

version für 2.8.1 wieder entfernt.
ich teste hier auch nur mit php5.3.
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #21 on: January 02, 2012, 12:47:25 PM »

Danke.
Der Ablauf ist/soll sein:
Hole mir die auf dem Server voreingestellte Zeit (Zeitzone php.ini) in eine Variable
Setze für case "europe/berlin"
Setze die Variable.

Was dabei von mir nicht berücksichtigt wurde, ist der mögliche Unterschied zwischen Serverzeitzone und dem unter Optionen eingestelle Wert. Habe das so kurzfristig wohl nicht ausreichend durchdacht.

Daher stellt die Änderung auf UTC in v.2.8.2 (hallo DarkViper) eine Erleichterung dar.

So, jetzt zumindest das Dessert essen, wenn die Zeit nicht reicht.
MfG. Evaki
« Last Edit: January 02, 2012, 12:57:29 PM by evaki » Logged

Im Forum darf nicht geraucht werden!
evaki

Offline Offline

Posts: 696


WWW
« Reply #22 on: January 02, 2012, 01:04:28 PM »

Mir fällt gerade ein, daß es ursprünglich mit einer autom. Sommerzeitumschaltu ng verbunden war.
Hierbei war dann die Serverzeitzone und der Wert unter Optionen gleich. Daher Kein Konfilt
Alles in allem minimal umfangreicher.
So, nun endgültig, bis nächste Woche. Evaki
Logged

Im Forum darf nicht geraucht werden!
dbs
WebsiteBaker Org e.V.

Online Online

Posts: 5307


WWW
« Reply #23 on: January 02, 2012, 01:11:32 PM »

wer weiß ob es bis nächste woche schon was neues gibt.  grin

irgendwie sieht das komisch aus:
Code:
$dtz = ini_get('date.timezone');
date_default_timezone_set('Europe/Berlin');
...
date_default_timezone_set($dtz);
Logged

evaki

Offline Offline

Posts: 696


WWW
« Reply #24 on: January 03, 2012, 12:33:24 AM »

Eine neue für v2.8.2 (0.29)
Zeitzonen für Section gefixt

@dbs
Habe Dir eine korrigierte für v2.8.1 geschickt
"Eigentlich" sollte es jetzt funktionieren. Voraussetzung ist, daß TZ in php.ini gesetzt ist.

MfG. Evaki
« Last Edit: January 03, 2012, 12:37:22 AM by evaki » Logged

Im Forum darf nicht geraucht werden!
Pages: [1] 2   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!