Twag Posted May 7, 2010 Share Posted May 7, 2010 I am implementing an UPCOMING EVENTS plugin to my WP site... and its working fine - but I am trying to re-layout the way the information is displayed... here is the code that controls the date/title/time $time_format=get_option('time_format'); $current_month=false; $current_date=false; $data=array(); foreach($calendar_entries as $entry) { // To use %SINCE%, you need Dunstan's 'Time Since' plugin. if(function_exists('time_since')) $data['SINCE']=time_since( time(), ec3_to_time($entry->start) ); // Month changed? $data['MONTH']=mysql2date($month_format,$entry->start); if((!$current_month || $current_month!=$data['MONTH']) && $template_month) { if($current_date) echo "</ul></li>\n"; if($current_month) echo "</ul></li>\n"; echo "<li class='ec3_list ec3_list_month'>" . ec3_format_str($template_month,$data)."\n<ul>\n"; $current_month=$data['MONTH']; $current_date=false; } // Date changed? $data['DATE'] =mysql2date($date_format, $entry->start); if((!$current_date || $current_date!=$data['DATE']) && $template_day) { if($current_date) echo "</ul></li>\n"; echo "<li class='ec3_list ec3_list_day'>" . ec3_format_str($template_day,$data)."\n<ul>\n"; $current_date=$data['DATE']; } if($entry->allday) $data['TIME']=__('all day','ec3'); else $data['TIME']=mysql2date($time_format,$entry->start); $data['TITLE'] = htmlentities( stripslashes(strip_tags($entry->post_title)), ENT_QUOTES,get_option('blog_charset') ); $data['LINK'] =get_permalink($entry->id); $data['AUTHOR']= htmlentities($entry->author,ENT_QUOTES,get_option('blog_charset')); echo " <li>".ec3_format_str($template_event,$data)."</li>\n"; } if($current_date) echo "</ul></li>\n"; if($current_month) echo "</ul></li>\n"; } else { echo "<li>".__('No events.','ec3')."</li>\n"; } echo "</ul>\n"; } define('EC3_DEFAULT_FORMAT_SINGLE','<tr><td colspan="3">%s</td></tr>'); define('EC3_DEFAULT_FORMAT_RANGE','<tr><td class="ec3_start">%1$s</td>' . '<td class="ec3_to">%3$s</td><td class="ec3_end">%2$s</td></tr>'); define('EC3_DEFAULT_FORMAT_WRAPPER','<table class="ec3_schedule">%s</table>');` the event displays like this... 7 May: * EVENT TITLE (10:00 pm) im attempting to allocate the into into a div like this... <div id=dateWrap style="float:left; width: 240px; height:47px;"> <DIV id=datebox style="float:left; width:46px; height:47px; background-image: url(images/jan1.gif);"> <div id=date style="float:left;width:46px; height:19px;"> </DIV><div id=date style="float:left;width:46px; height:28px;"> </DIV> </DIV> </div> so the date/month will be stacked on the left - and the title/time will be in the space to the right. ive tried inserting the div code in, and moving the elements around - but it fives me all sorts of weird error messages.. any ideas?? Link to comment https://forums.phpfreaks.com/topic/201057-moving-code-into-new-div/ Share on other sites More sharing options...
teamatomic Posted May 7, 2010 Share Posted May 7, 2010 Posting the errors would be a help. HTH Teamatomic Link to comment https://forums.phpfreaks.com/topic/201057-moving-code-into-new-div/#findComment-1054891 Share on other sites More sharing options...
Twag Posted May 8, 2010 Author Share Posted May 8, 2010 It's actually one error most of the time... stating there was an unexpected "<" on line "xx" but when i check the core.. there is nothing wrong with it. BUT even when i remove the code I just put in... i continue to get the error and have to reupload/cache the page im editing completely. i've really tried EVERYTHING. here is the COMPLETE code for the page.... <?php function ec3_check_installed($title) { global $ec3; if(!$ec3->event_category) {?> <div style="background-color:black; color:red; border:2px solid red; padding:1em"> <div style="font-size:large"><?php echo $title; ?></div> <?php _e('You must choose an event category.','ec3'); ?> <a style="color:red; text-decoration:underline" href="<?php echo get_option('home');?>/wp-admin/options-general.php?page=ec3_admin"> <?php _e('Go to Event Calendar Options','ec3'); ?> </a> </div> <?php } return $ec3->event_category; } /** Calculate the header (days of week). */ function ec3_util_thead() { global $ec3, $weekday, $weekday_abbrev, $weekday_initial; $result="<thead><tr>\n"; $start_of_week =intval( get_option('start_of_week') ); for($i=0; $i<7; $i++) { $full_day_name=$weekday[ ($i+$start_of_week) % 7 ]; if(3==$ec3->day_length) $display_day_name=$weekday_abbrev[$full_day_name]; elseif($ec3->day_length<3) $display_day_name=$weekday_initial[$full_day_name]; else $display_day_name=$full_day_name; $result.="\t<th abbr='$full_day_name' scope='col' title='$full_day_name'>" . "$display_day_name</th>\n"; } $result.="</tr></thead>\n"; return $result; } /** Echos the event calendar navigation controls. */ function ec3_get_calendar_nav($date,$num_months) { global $ec3; echo "<table class='nav'><tbody><tr>\n"; // Previous $prev=$date->prev_month(); echo "\t<td id='prev'><a id='ec3_prev' href='" . $prev->month_link() . "'" . '>« ' . $prev->month_abbrev() . "</a></td>\n"; echo "\t<td><img id='ec3_spinner' style='display:none' src='" . $ec3->myfiles . "/ec_load.gif' alt='spinner' />\n"; // Next $next=$date->plus_months($num_months); echo "\t<td id='next'><a id='ec3_next' href='" . $next->month_link() . "'" . '>' . $next->month_abbrev() . " »</a></td>\n"; echo "</tr></tbody></table>\n"; } /** Generates an array of all 'ec3_Day's between the start of * begin_month & end_month. Indexed by day_id. * month_id is in the form: ec3_<year_num>_<month_num> */ function ec3_util_calendar_days($begin_month_id,$end_month_id) { $begin_date=date('Y-m-d 00:00:00',ec3_dayid2php($begin_month_id)); $end_date =date('Y-m-d 00:00:00',ec3_dayid2php($end_month_id)); global $ec3, $wpdb; $sql= "SELECT DISTINCT id, post_title, GREATEST(start,'$begin_date') AS start_date, LEAST(end,'$end_date') AS end_date, allday, 1 AS is_event FROM $wpdb->posts,$ec3->schedule WHERE post_status='publish' AND post_type='post' AND post_id=id AND end>='$begin_date' AND start<'$end_date'"; if(!$ec3->show_only_events) { // We are interested in normal posts, as well as events. $sql="( $sql ) UNION ( SELECT DISTINCT id, post_title, post_date AS start_date, post_date AS end_date, 0 AS allday, 0 AS is_event FROM $wpdb->posts WHERE post_status='publish' AND post_type='post' AND post_date>='$begin_date' AND post_date<'$end_date' AND post_date<NOW() )"; } $sql.=' ORDER BY id, allday DESC, start_date, is_event DESC'; $calendar_entries = $wpdb->get_results($sql); $calendar_days = array(); // result if(!$calendar_entries) return $calendar_days; // In advanced mode, we don't want to show events as blog posts in the cal. $ignore_post_ids=array(); if($ec3->advanced && !$ec3->show_only_events) { foreach($calendar_entries as $ent) if($ent->is_event) $ignore_post_ids[] = $ent->id; } $current_post_id=0; $current_day_id =''; $time_format=get_option('time_format'); $allday=str_replace(' ',' ',__('all day','ec3')); // #160==nbsp foreach($calendar_entries as $ent) { if(!$ent->is_event && in_array($ent->id,$ignore_post_ids)) continue; if($current_post_id!=$ent->id) { $current_post_id=$ent->id; $current_day_id=''; } $date=ec3_mysql2date($ent->start_date); $end_date=ec3_mysql2date($ent->end_date); while(true) { $day_id=$date->day_id(); if($current_day_id==$day_id) break; $current_day_id=$day_id; if(empty($calendar_days[$day_id])) $calendar_days[$day_id] = new ec3_Day(); if($ent->allday) $time=$allday; else $time=mysql2date($time_format,$ent->start_date); //?? Should only record start time on FIRST day. $calendar_days[$day_id]->add_post($ent->post_title,$time,$ent->is_event); if($date->to_unixdate()==$end_date->to_unixdate()) break; $date->increment_day(); } } return $calendar_days; } /** Echos one event calendar month table. */ function ec3_get_calendar_month($date,$calendar_days,$thead) { global $ec3; // // Table start. $title= sprintf(__('View posts for %1$s %2$s'),$date->month_name(),$date->year_num); echo "<table id='" . $date->month_id() . "'>\n<caption>" . '<a href="' . $date->month_link() . '" title="' . $title . '">' . $date->month_name() . ' ' . $date->year_num . "</a></caption>\n"; echo $thead; // // Table body echo "<tbody>\n\t<tr>"; $days_in_month =$date->days_in_month(); $week_day=( $date->week_day() + 7 - intval(get_option('start_of_week')) ) % 7; $col =0; while(True) { if($col>6) { echo "</tr>\n\t<tr>"; $col=0; } if($col<$week_day) { // insert padding $pad=$week_day-$col; echo "<td colspan='$pad' class='pad'> </td>"; $col=$week_day; } // insert day $day_id = $date->day_id(); echo "<td id='$day_id'"; if(array_key_exists($day_id,$calendar_days)) { echo ' class="ec3_postday'; if($calendar_days[$day_id]->is_event) echo ' ec3_eventday'; echo '">'; echo '<a href="' . $date->day_link() . '" title="' . $calendar_days[$day_id]->get_titles() . '"'; if($calendar_days[$day_id]->is_event) echo ' class="eventday"'; echo ">$date->day_num</a>"; } else { echo '>' . $date->day_num; } echo '</td>'; $col++; $date->increment_day(); if(1==$date->day_num) break; $week_day=($week_day+1) % 7; } // insert padding $pad=7-$col; if($pad>1) echo "<td colspan='$pad' class='pad' style='vertical-align:bottom'>" . "<a href='http://blog.firetree.net/?ec3_version=$ec3->version'" . " title='Event Calendar $ec3->version'" . ($ec3->hide_logo? " style='display:none'>": ">") . "<span class='ec3_ec'><span>EC</span></span></a></td>"; elseif($pad) echo "<td colspan='$pad' class='pad'> </td>"; echo "</tr>\n</tbody>\n</table>"; } /** Template function. Call this from your template to insert the * Event Calendar. */ function ec3_get_calendar() { if(!ec3_check_installed(__('Event Calendar','ec3'))) return; global $ec3; // Can't cope with more than one calendar on the same page. Everything has // a unique ID, so it can't be duplicated. // Simple fix for problem: Just ignore all calls after the first. $ec3->call_count++; if($ec3->call_count>1) { echo "<!-- You can only have one Event Calendar on each page. -->\n"; return; } echo "<div id='wp-calendar'>\n"; $this_month = new ec3_Date(); // Display navigation panel. if(0==$ec3->navigation) ec3_get_calendar_nav($this_month,$ec3->num_months); // Get entries $end_month=$this_month->plus_months($ec3->num_months); $calendar_days = ec3_util_calendar_days( $this_month->month_id(), $end_month->month_id() ); // Display months. $thead=ec3_util_thead(); for($i=0; $i<$ec3->num_months; $i++) { $next_month=$this_month->next_month(); ec3_get_calendar_month($this_month,$calendar_days,$thead); $this_month=$next_month; } // Display navigation panel. if(1==$ec3->navigation) ec3_get_calendar_nav(new ec3_Date(),$ec3->num_months); echo "</div>\n"; if(!$ec3->disable_popups) echo "\t<script type='text/javascript' src='" . $ec3->myfiles . "/popup.js'></script>\n"; } /** Substitutes placeholders like '%key%' in $format with 'value' from $data * array. */ function ec3_format_str($format,$data) { foreach($data as $k=>$v) $format=str_replace("%$k%",$v,$format); return $format; } define('EC3_DEFAULT_TEMPLATE_EVENT','<a href="%LINK%">%TITLE% (%TIME%)</a>'); define('EC3_DEFAULT_TEMPLATE_DAY', '%DATE%:'); define('EC3_DEFAULT_DATE_FORMAT', 'j F'); define('EC3_DEFAULT_TEMPLATE_MONTH',''); define('EC3_DEFAULT_MONTH_FORMAT', 'F Y'); /** Template function. Call this from your template to insert a list of * forthcoming events. Available template variables are: * - template_day: %DATE% %SINCE% (only with Time Since plugin) * - template_event: %DATE% %TIME% %LINK% %TITLE% %AUTHOR% */ function ec3_get_events( $limit, $template_event=EC3_DEFAULT_TEMPLATE_EVENT, $template_day =EC3_DEFAULT_TEMPLATE_DAY, $date_format =EC3_DEFAULT_DATE_FORMAT, $template_month=EC3_DEFAULT_TEMPLATE_MONTH, $month_format =EC3_DEFAULT_MONTH_FORMAT) { if(!ec3_check_installed(__('Upcoming Events','ec3'))) return; global $ec3,$wpdb,$wp_version; // Parse $limit: // NUMBER - limits number of posts // NUMBER days - next NUMBER of days if(empty($limit)) { $limit_numposts='LIMIT 5'; } elseif(preg_match('/^ *([0-9]+) *d(ays?)?/',$limit,$matches)) { $secs=intval($matches[1])*24*3600; $and_before="AND start<='".ec3_strftime('%Y-%m-%d',time()+$secs)."'"; } elseif(intval($limit)<1) { $limit_numposts='LIMIT 5'; } else { $limit_numposts='LIMIT '.intval($limit); } if(!$date_format) $date_format=get_option('date_format'); // Find the upcoming events. $calendar_entries = $wpdb->get_results( "SELECT DISTINCT p.id AS id, post_title, start, u.$ec3->wp_user_nicename AS author, allday FROM $ec3->schedule s LEFT JOIN $wpdb->posts p ON s.post_id=p.id LEFT JOIN $wpdb->users u ON p.post_author = u.id WHERE p.post_status='publish' AND end>='$ec3->today' $and_before ORDER BY start $limit_numposts" ); echo "<ul class='ec3_events'>"; echo "<!-- Generated by Event Calendar v$ec3->version -->\n"; if($calendar_entries) { $time_format=get_option('time_format'); $current_month=false; $current_date=false; $data=array(); foreach($calendar_entries as $entry) { // To use %SINCE%, you need Dunstan's 'Time Since' plugin. if(function_exists('time_since')) $data['SINCE']=time_since( time(), ec3_to_time($entry->start) ); // Month changed? $data['MONTH']=mysql2date($month_format,$entry->start); if((!$current_month || $current_month!=$data['MONTH']) && $template_month) { if($current_date) echo "</ul></li>\n"; if($current_month) echo "</ul></li>\n"; echo "<li class='ec3_list ec3_list_month'>" . ec3_format_str($template_month,$data)."\n<ul>\n"; $current_month=$data['MONTH']; $current_date=false; } // Date changed? $data['DATE'] =mysql2date($date_format, $entry->start); if((!$current_date || $current_date!=$data['DATE']) && $template_day) { if($current_date) echo "</ul></li>\n"; echo "<li class='ec3_list ec3_list_day'>" . ec3_format_str($template_day,$data)."\n<ul>\n"; $current_date=$data['DATE']; } if($entry->allday) $data['TIME']=__('all day','ec3'); else $data['TIME']=mysql2date($time_format,$entry->start); $data['TITLE'] = htmlentities( stripslashes(strip_tags($entry->post_title)), ENT_QUOTES,get_option('blog_charset') ); $data['LINK'] =get_permalink($entry->id); $data['AUTHOR']= htmlentities($entry->author,ENT_QUOTES,get_option('blog_charset')); echo " <li>".ec3_format_str($template_event,$data)."</li>\n"; } if($current_date) echo "</ul></li>\n"; if($current_month) echo "</ul></li>\n"; } else { echo "<li>".__('No events.','ec3')."</li>\n"; } echo "</ul>\n"; } define('EC3_DEFAULT_FORMAT_SINGLE','<tr><td colspan="3">%s</td></tr>'); define('EC3_DEFAULT_FORMAT_RANGE','<tr><td class="ec3_start">%1$s</td>' . '<td class="ec3_to">%3$s</td><td class="ec3_end">%2$s</td></tr>'); define('EC3_DEFAULT_FORMAT_WRAPPER','<table class="ec3_schedule">%s</table>'); /** Formats the schedule for the current post. * Returns the HTML fragment as a string. */ function ec3_get_schedule( $format_single =EC3_DEFAULT_FORMAT_SINGLE, $format_range =EC3_DEFAULT_FORMAT_RANGE, $format_wrapper=EC3_DEFAULT_FORMAT_WRAPPER ) { global $ec3,$post; // Should have been set by ec3_filter_the_posts() if(!$post || !$post->ec3_schedule) return ''; $result=''; $date_format=get_option('date_format'); $time_format=get_option('time_format'); $current=false; foreach($post->ec3_schedule as $s) { $date_start=mysql2date($date_format,$s->start); $date_end =mysql2date($date_format,$s->end); $time_start=mysql2date($time_format,$s->start); $time_end =mysql2date($time_format,$s->end); if($s->allday) { if($date_start!=$date_end) { $result.=sprintf($format_range,$date_start,$date_end,__('to','ec3')); } elseif($date_start!=$current) { $current=$date_start; $result.=sprintf($format_single,$date_start); } } else { if($date_start!=$date_end) { $current=$date_start; $result.=sprintf($format_range, "$date_start $time_start","$date_end $time_end",__('to','ec3')); } else { if($date_start!=$current) { $current=$date_start; $result.=sprintf($format_single,$date_start); } if($time_start==$time_end) $result.=sprintf($format_single,$time_start); else $result.=sprintf($format_range,$time_start,$time_end,__('to','ec3')); } } } return sprintf($format_wrapper,$result); } /** Echos the schedule for the current post. */ function ec3_the_schedule( $format_single =EC3_DEFAULT_FORMAT_SINGLE, $format_range =EC3_DEFAULT_FORMAT_RANGE, $format_wrapper=EC3_DEFAULT_FORMAT_WRAPPER ) { echo ec3_get_schedule($format_single,$format_range,$format_wrapper); } ?> Link to comment https://forums.phpfreaks.com/topic/201057-moving-code-into-new-div/#findComment-1055051 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.