chris5000 0 Report post Posted May 22, 2004 (edited) Meine erste Mod-Veröffentlichung (das bedeutet: Dateien vor der Änderung unbedingt sichern) Nichts anderes als die Monatsansicht des Kalenders so zu ändern wie auf dem Bild zu sehen, bewirkt die Modifikation (oben die Standarddarstellung, unten die Darstellung nach Einbau des Mods) Ranged Events werden einfach ein gutes Stück übersichtlicher. Vor Allem wenn's viele sind. Ist entwickelt und getestet auf Version 1.3.1 und IPB Standardskin, sollte aber auch mit vielen anderen Skins und (fast) sicher auch 1.3 funktionieren. Im Anhang die Einbauanleitung. Ich hoffe, es ist für jemanden nützlich und Bug-Reports sowie Kritik bitte in diesen Thread Gruß, Chris EDIT: zip nach V1.0.1 upgedatet. (Bugfix) Anleitung für Upgrade von 1.0 im zip enthalten. WICHTIG: Der neue Download befindet sich hier. Das Hilfe Thema zu diesem Mod findest Du hier. Edited October 19, 2006 by Rigo Share this post Link to post
torres 0 Report post Posted May 22, 2004 Funktioniert einwandfrei. Auch mit 1.2. Danke, Chris :) Share this post Link to post
chris5000 0 Report post Posted May 22, 2004 Na, wenn der Einbau noch um 2:30 Uhr nachts problemlos funktioniert, ist's doch schonmal ein gutes Zeichen :D Share this post Link to post
torres 0 Report post Posted May 22, 2004 Zudem ist es ein geringer Aufwand und klappt sogar wenn man nicht mehr so ganz nüchtern ist Also echt einfach. Aber was ich eigentlich schreiben wollte: Es werden natürlich auch bereits vorhandene Einträge entsprechend angezeigt, also nicht nur neu erstellte :) Share this post Link to post
Andy 0 Report post Posted May 22, 2004 Hey chris5000, Danke das Du Dich daran beteiligst, daß Modifikationsforum zu füllen Werde mir den Mod die Tage auch mal anschauen, und ggf. hier einbauen, sozusagen als "Live Demo" :) Share this post Link to post
chris5000 0 Report post Posted May 24, 2004 Hey chris5000, Danke das Du Dich daran beteiligst, daß Modifikationsforum zu füllen Irgendwann muss man der Skin/Mod/Support-Community auch mal was zurückgeben, denke ich Hey chris5000, Werde mir den Mod die Tage auch mal anschauen, und ggf. hier einbauen, sozusagen als "Live Demo" Anschauen und gegebenfalls installieren kannst Du ihn natürlich. Allerdings sind im ipbsupport.de-Kalender überhaupt keine ranged events eingetragen. Insofern dürfte der hiesige Kalender als "Live Demo" eher ungeeignet sein Wie gesagt macht die Modifikation vor Allem dann Sinn, wenn viele - vor Allem überlappende - ranged events existieren. Gruß, Chris Share this post Link to post
Andy 0 Report post Posted May 24, 2004 naja, dann müssen wir eben mal ein paar ranged events eintragen, dies sollte ja dann das kleinste problem sein :D Share this post Link to post
chris5000 0 Report post Posted May 30, 2004 Hab noch einen sporadisch in der jeweils ersten Monatswoche auftretenden Darstellungsfehler gefunden und gefixt. (einen Tag zu kurze Darstellung der Eventdauer) zip-file ist upgedatet auf v1.0.1 und enthält unter "Upgrade von 1.0" auch die Anleitung zum fixen bereits installierter 1.0er Versionen. Gruß, Chris Share this post Link to post
Ratman 0 Report post Posted May 30, 2004 also der mod gefällt mir was mir noch abgeht (so jemand sowas bekannt ist) wäre eine darstellung des kalenders aussehrhalb des forums. so ne art minikalender, wie man ihn auf vielen portalen oder auch meiner seite (der kann aber nix) finden kann. und meiner kanns chon gar keine timeline *g*, und die schaut mit verlaub gsagt: echt geil aus. Share this post Link to post
chris5000 0 Report post Posted May 30, 2004 (edited) und die schaut mit verlaub gsagt: echt geil aus. was mir noch abgeht [...] und was mir noch abgeht sind Uhrzeiten für single day- und recurring events, sowie eine Wochen und Tagesansicht. Diese Ansichten dann mit "Timelines" pro Tag entlang der Uhrzeit von 0-24 Uhr... In Richtung Mini-Kalender auf der Website hab' ich keine direkten Ambitionen. Gruß, Chris Edited May 30, 2004 by chris5000 Share this post Link to post
Ratman 0 Report post Posted May 30, 2004 minikalender gäbs schon fertige, die "nur" angepasst werden müssten. wennst auf meine site guckst, - den kannst ruhig vergewaltigen. is n fertiger mod von ibplanet.com , der aber nie ganz gefunzt hat (nächstes monat usw. wollt nie gehen) Share this post Link to post
chris5000 0 Report post Posted May 30, 2004 den kannst ruhig vergewaltigen Wie gesagt... ich habe in diese Richtung keine Ambitionen Gruß, Chris Share this post Link to post
Ratman 0 Report post Posted May 30, 2004 schade schade *g* aber was solls - ich bin halt immer der verfechter von schnittstellen - is ja schon bekannt *g* Share this post Link to post
pulp 0 Report post Posted June 5, 2004 (edited) hallo, danke für den mod, er klappt wunderbar. ich finde es großartig, dass sich einmal jemand des kalenders annimmt. es wundert mich warum beim ipb nicht so nette funktionen wie beim xcalendar ( http://ibf.hingis.org/ ), welcher leider gottes nicht mehr weiter entwickelt wurde, von natur aus schon drin sind. danke nochmals gruß, pulp Edited June 5, 2004 by pulp Share this post Link to post
chris5000 0 Report post Posted June 12, 2004 danke für den mod, er klappt wunderbar. Lustig, dass der Mod anscheinend grundsätzlich am liebsten so um halb drei morgens installiert wird. Vielleicht funktioniert er nur dann? ... Was ich noch bemerken wollte: Wer den Code als Basis für weitere Kalender Hacks verwenden möchte: Nur zu Gruß, Chris Share this post Link to post
timo 0 Report post Posted June 18, 2004 dei mir funktioniert er nicht (IPB 1.2) Fatal error: Call to undefined function: cal_event_cell() in /srv/www/htdocs/web4/html/d-b/bastardclub/sources/calendar.php on line 1124 Share this post Link to post
chris5000 0 Report post Posted June 18, 2004 (edited) @timo: 2. Schritt: Datei Skin/s1/skin_calendar.php öffnen ("s1" ist das IPB Standard Skin. Sollte aber auch mit den meisten anderen Skins funktionieren) Ich nehme stark an, dass Du die Änderung unter Schritt 2 nur für's Standardskin im Ordner "s1" durchgeführt hast, Dein IPB, bzw. Du, wenn Du die Fehlermeldung bekommst aber ein anderes Skin benutzt. Du musst aber für alle Skinordner (s1 bis sX), die von Dir benutzt werden, die Änderung in Schritt 2 durchführen. (Aber vergiss nicht die jeweiligen skin_calendar.php Dateien vorher zu sichern, falls dann doch irgendwas schieflaufen sollte) Gruß, Chris Edited June 18, 2004 by chris5000 Share this post Link to post
timo 0 Report post Posted June 18, 2004 nein ich hab die änderung nur in dem ordner von dem einzigen skin der genutzt wird vorgenommen. daran kann es nicht liegen. Share this post Link to post
Z3R0 0 Report post Posted June 19, 2004 (edited) Hello Habe ein Problem: Ich habe den Mod installiert, und er funktioniert wunderbar, das einzige Problem das ich habe ist ... ... das ich die zeilen // Start Modifikation Mod_Calendarview /* Start originaler Quelltext if ( ($c < $this->first_day_array['wday']) or ($day_array['mon'] != $this->chosen_month) ) Ende originaler Quelltext */ $this->first_day_array['wday'] = $this->first_day_array['wday'] == 0 ? 7 : $this->first_day_array['wday']; if ( ($c+1 < $this->first_day_array['wday']) or ($day_array['mon'] != $this->chosen_month) ) // Ende Modifikation Mod_Calendarview //+++++++++++++++++++++++++++++++++++++ wieder irgendwo brauche, da sonst das Samstag als Sonntag angezeigt wird, weil ich einen Mod installiert hab der den Montag als 1. Wochentag einttägt ... plz HELP Edited June 20, 2004 by Z3R0 Share this post Link to post
Z3R0 0 Report post Posted June 20, 2004 plz, plz, plz, plz .... Ich komm wirklich nicht auf den fehler ... Screen vom Problem: --> klick <-- Die Datei die normal geändert werden müsste befindet sich im Anhang .. Könnte sich die bitte jemand mal anschaun?? Wäre echt dankbar ... Share this post Link to post
chris5000 0 Report post Posted June 20, 2004 @timo: "Call to undefined function: cal_event_cell()" bedeutet, dass die Funktion cal_event_cell() nicht gefunden wurde. Sie befindet sich aber in skin_calendar.php , wenn richtig eingebaut wurde. Durchsuch die Datei, doch mal nach: function cal_event_cell Du wirst es nicht finden, weils bei dir fälschlicherweise nicht drin ist. @ZR30: Sorry. Mit Montag beginnende Wochen hab ich absolut nicht vorgesehen, die Änderung wäre vermutlich nicht trivial. Zugegebenermaßen vielleicht auch weil mein Code nicht gerade die Quintessenz von Modularität und Eleganz darstellt ;) Share this post Link to post
Stefan 0 Report post Posted June 20, 2004 @ZR30: Sorry. Mit Montag beginnende Wochen hab ich absolut nicht vorgesehen, die Änderung wäre vermutlich nicht trivial. Zugegebenermaßen vielleicht auch weil mein Code nicht gerade die Quintessenz von Modularität und Eleganz darstellt Die Änderungen sind relativ einfach gehalten, damit der Kalender mit dem Montag anfängt. Der Mod fliegt hier auch irgendwo im Forum von mir rum, kannst ihn dir ja mal anschauen. Da du dich besser mit deinem Mod auskennst, sollte es kein Problem sein, die entsprechenden Änderungen durch meinen Mod einfließen zu lassen. :) Share this post Link to post
Z3R0 0 Report post Posted June 20, 2004 Jo, ich hatte dem Mod jo schon installiert, aber mit der Änderung von chris5000 finde ich die passende Zeile nicht ... :( Share this post Link to post
Z3R0 0 Report post Posted June 20, 2004 Irgendwo da muss die Verschiebung eingebaut werden, aber wo weiß ich nicht function show_month() { global $ibforums, $DB, $std, $print; //----------------------------------------- // Get the birthdays from the database //----------------------------------------- $birthdays = $this->get_month_birthdays(); //----------------------------------------- // Get recurring events //----------------------------------------- $recurring = $this->get_month_recurring(); //----------------------------------------- // Get the single day events //----------------------------------------- $events = $this->get_events('single'); //----------------------------------------- // Get the ranged events //----------------------------------------- $r_events = $this->get_events('ranged'); //----------------------------------------- // Figure out the next / previous links //----------------------------------------- $prev_month = array(); $next_month = array(); $prev_month['year_id'] = $this->chosen_year; $next_month['year_id'] = $this->chosen_year; $prev_month['month_id'] = $this->chosen_month - 1; $prev_month['month_name'] = $this->month_words[$this->chosen_month - 2]; $next_month['month_name'] = $this->month_words[$this->chosen_month]; $next_month['month_id'] = $this->chosen_month + 1; if ($this->chosen_month == 1) { $prev_month['month_name'] = $this->month_words[11]; $prev_month['month_id'] = 12; $prev_month['year_id'] = $this->chosen_year - 1; } else if ($this->chosen_month == 12) { $next_month['month_name'] = $this->month_words[0]; $next_month['month_id'] = 1; $next_month['year_id'] = $this->chosen_year + 1; } $this->output .= $this->html->cal_main_content($this->month_words[$this->chosen_month - 1], $this->chosen_year, $prev_month, $next_month); //----------------------------------------- // Print the days table top row //----------------------------------------- $day_output = ""; $cal_output = ""; foreach ($this->day_words as $day) { $day_output .= $this->html->cal_day_bit($day); } $day_output .= $this->html->cal_new_row(); //----------------------------------------- // Print the main calendar body //----------------------------------------- $seen_days = array(); // Holds yday $seen_ids = array(); $weekinfo=$this->helper_get_week_info(); //do weeks for( $c = 1; $c <= $weekinfo['num_weeks']; $c++ ) { $r_week_events = $this->get_events('ranged',$weekinfo[$c]); //do we have starting blank days in this week? -> do blank cells on date cell row for( $i = 0; $i <$weekinfo[$c]['start_blank']; $i++ ) { $cal_output .= $this->html->cal_blank_cell(); } //do weeks date cells for( $i = 0; $i <count($weekinfo[$c]['days']); $i++ ) { $cal_date = "<a class='caldatelink' href='{$ibforums->base_url}&act=calendar&code=showday&y=".$this->chosen_year."&m=".$this->chosen_month."&d=".$weekinfo[$c]['days'][$i]."'>{$weekinfo[$c]['days'][$i]}</a>"; if ( ($weekinfo[$c]['days'][$i] == $this->now_date['mday']) and ($this->now_date['mon'] == $this->chosen_month) and ($this->now_date['year'] == $this->chosen_year)) { $cal_output .= $this->html->cal_date_cell_today($cal_date); }else{ $cal_output .= $this->html->cal_date_cell($cal_date); } } //do we have ending blank days in this week? -> do blank cells on date cell row for( $i = 0; $i <$weekinfo[$c]['blank_end']; $i++ ) { $cal_output .= $this->html->cal_blank_cell(); } $cal_output .= $this->html->cal_new_row(); //do this weeks ranged event rows + one row for all other events for( $rwe = 1; $rwe <= max(count($r_week_events),4)+1; $rwe++ ) { //do we have starting blank days in this week? for( $i = 0; $i <$weekinfo[$c]['start_blank']; $i++ ) { $cal_output .= $this->html->cal_blank_cell(); } //first do a row for each ranged event in this week if($rwe<max(count($r_week_events),4)+1) { //add the non-blank days of this week. With and without events $shown=0; for( $i = 0; $i <(count($weekinfo[$c]['days'])-max(1,$r_week_events[$rwe-1]['week_duration'])+1); $i++ ) { if($shown==0 AND $r_week_events[$rwe-1]['unix_stamp'] < ($weekinfo[$c]['daystamps'][$i]+86399) AND $r_week_events[$rwe-1]['end_unix_stamp'] > ($weekinfo[$c]['daystamps'][$i])) { $event_title=$this->html->cal_events_wrap_range( "code=showevent&eventid=".$r_week_events[$rwe-1]['eventid'], $r_week_events[$rwe-1]['title'], $r_week_events[$rwe-1]['event_color'], $r_week_events[$rwe-1]['event_bgcolor']); $cal_output .= $this->html->cal_event_cell($event_title,$r_week_events[$rwe-1]['week_duration']); $shown=1; }else{ $cal_output .= $this->html->cal_event_cell("",1); } } //now do the row for the single day events of this week }else{ for( $i = 0; $i <(count($weekinfo[$c]['days'])-max(1,$r_week_events[$rwe-1]['week_duration'])+1); $i++ ) { $this_day_events=""; $day_array = getdate($this->our_datestamp); //---------------------------------------- // Recurring Events... //---------------------------------------- $this_day_events.=$this->html_month_recurring($recurring, $day_array); //---------------------------------------- // Normal Events... //---------------------------------------- $this_day_events.=$this->html_month_normal($events, $day_array); //---------------------------------------- // Birthdays //---------------------------------------- $this_day_events.=$this->html_month_birthdays($birthdays, $day_array); $cal_output .= $this->html->cal_event_cell($this_day_events,1); $this->our_datestamp += 86400; } } //do we have ending blank days in this week? for( $i = 0; $i <$weekinfo[$c]['blank_end']; $i++ ) { $cal_output .= $this->html->cal_blank_cell(); } $cal_output .= $this->html->cal_new_row(); } } //----------------------------------------- // Switch the HTML tags... //----------------------------------------- if ( $this->chosen_year < 1500 ) { $this->month_words[$this->chosen_month - 1] = str_replace(",", ';&#', "Y,101,32,111,108,100,32,99,97,108,101,110,100,97,114,32,111,102;").' '.$this->month_words[$this->chosen_month - 1]; } $this->output = str_replace( "<!--IBF.DAYS_TITLE_ROW-->", $day_output, $this->output ); $this->output = str_replace( "<!--IBF.DAYS_CONTENT-->" , $cal_output, $this->output ); $this->output = str_replace( "<!--IBF.MONTH_BOX-->" , $this->get_month_dropdown(), $this->output ); $this->output = str_replace( "<!--IBF.YEAR_BOX-->" , $this->get_year_dropdown() , $this->output ); $this->nav[] = "<a href='{$ibforums->base_url}&act=calendar'>{$ibforums->lang['page_title']}</a>"; $this->nav[] = $this->month_words[$this->chosen_month - 1]." ".$this->chosen_year; } Bitte kann sich das mal wer anschaun *ganzliebguck* Share this post Link to post
Stefan 0 Report post Posted June 21, 2004 Deswegen hatte ich ja gesagt, chris500 solle sich mal die Sache ansehen, da er seinen Mod besser kennt und die kleine Änderung bezüglich der Verschiebung bestimmt schneller da einbauen kann. ;) Share this post Link to post