- if ( (!empty($month)) && (!empty($weekday)) ) {
- $datemonth = $month[date('m', $i)];
- $datemonth_abbrev = $month_abbrev[$datemonth];
- $dateweekday = $weekday[date('w', $i)];
- $dateweekday_abbrev = $weekday_abbrev[$dateweekday];
- $dateformatstring = ' '.$dateformatstring;
- $dateformatstring = preg_replace("/([^\\\])D/", "\\1".backslashit($dateweekday_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])F/", "\\1".backslashit($datemonth), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])l/", "\\1".backslashit($dateweekday), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])M/", "\\1".backslashit($datemonth_abbrev), $dateformatstring);
- $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
- }
- $j = @date($dateformatstring, $i);
- return $j;
- }
-
-function get_weekstartend($mysqlstring, $start_of_week) {
- $my = substr($mysqlstring,0,4);
- $mm = substr($mysqlstring,8,2);
- $md = substr($mysqlstring,5,2);
- $day = mktime(0,0,0, $md, $mm, $my);
- $weekday = date('w',$day);
- $i = 86400;
-
- if ( $weekday < get_settings('start_of_week') )
- $weekday = 7 - (get_settings('start_of_week') - $weekday);
-
- while ($weekday > get_settings('start_of_week')) {
- $weekday = date('w',$day);
- if ( $weekday < get_settings('start_of_week') )
- $weekday = 7 - (get_settings('start_of_week') - $weekday);
-
- $day = $day - 86400;
- $i = 0;
- }
- $week['start'] = $day + 86400 - $i;
- // $week['end'] = $day - $i + 691199;
- $week['end'] = $week['start'] + 604799;
- return $week;
-}
-
-function get_lastpostdate($timezone = 'server') {
- global $cache_lastpostdate, $pagenow, $wpdb;
- $add_seconds_blog = get_settings('gmt_offset') * 3600;
- $add_seconds_server = date('Z');
- $now = current_time('mysql', 1);
- if ( !isset($cache_lastpostdate[$timezone]) ) {
- switch(strtolower($timezone)) {
- case 'gmt':
- $lastpostdate = $wpdb->get_var("SELECT post_date_gmt FROM $wpdb->posts WHERE post_date_gmt <= '$now' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- case 'blog':
- $lastpostdate = $wpdb->get_var("SELECT post_date FROM $wpdb->posts WHERE post_date_gmt <= '$now' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- case 'server':
- $lastpostdate = $wpdb->get_var("SELECT DATE_ADD(post_date_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE post_date_gmt <= '$now' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- }
- $cache_lastpostdate[$timezone] = $lastpostdate;
- } else {
- $lastpostdate = $cache_lastpostdate[$timezone];
- }
- return $lastpostdate;
-}
-
-function get_lastpostmodified($timezone = 'server') {
- global $cache_lastpostmodified, $pagenow, $wpdb;
- $add_seconds_blog = get_settings('gmt_offset') * 3600;
- $add_seconds_server = date('Z');
- $now = current_time('mysql', 1);
- if ( !isset($cache_lastpostmodified[$timezone]) ) {
- switch(strtolower($timezone)) {
- case 'gmt':
- $lastpostmodified = $wpdb->get_var("SELECT post_modified_gmt FROM $wpdb->posts WHERE post_modified_gmt <= '$now' AND post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- case 'blog':
- $lastpostmodified = $wpdb->get_var("SELECT post_modified FROM $wpdb->posts WHERE post_modified_gmt <= '$now' AND post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- case 'server':
- $lastpostmodified = $wpdb->get_var("SELECT DATE_ADD(post_modified_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE post_modified_gmt <= '$now' AND post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- }
- $lastpostdate = get_lastpostdate($timezone);
- if ( $lastpostdate > $lastpostmodified ) {
- $lastpostmodified = $lastpostdate;
- }
- $cache_lastpostmodified[$timezone] = $lastpostmodified;
- } else {
- $lastpostmodified = $cache_lastpostmodified[$timezone];
- }
- return $lastpostmodified;
-}
-
-function user_pass_ok($user_login,$user_pass) {
- global $cache_userdata;
- if ( empty($cache_userdata[$user_login]) ) {
- $userdata = get_userdatabylogin($user_login);
- } else {
- $userdata = $cache_userdata[$user_login];
- }
- return (md5($user_pass) == $userdata->user_pass);
-}
-
-
-function get_usernumposts($userid) {
- global $wpdb;
- $userid = (int) $userid;
- return $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$userid' AND post_status = 'publish'");
-}
-
-
-// examine a url (supposedly from this blog) and try to
-// determine the post ID it represents.
-function url_to_postid($url) {
- global $wp_rewrite;
-
- // First, check to see if there is a 'p=N' or 'page_id=N' to match against
- preg_match('#[?&](p|page_id)=(\d+)#', $url, $values);
- $id = intval($values[2]);
- if ( $id ) return $id;
-
- // Check to see if we are using rewrite rules
- $rewrite = $wp_rewrite->wp_rewrite_rules();
-
- // Not using rewrite rules, and 'p=N' and 'page_id=N' methods failed, so we're out of options
- if ( empty($rewrite) )
- return 0;
-
- // $url cleanup by Mark Jaquith
- // This fixes things like #anchors, ?query=strings, missing 'www.',
- // added 'www.', or added 'index.php/' that will mess up our WP_Query
- // and return a false negative
-
- // Get rid of the #anchor
- $url_split = explode('#', $url);
- $url = $url_split[0];
-
- // Get rid of URI ?query=string
- $url_split = explode('?', $url);
- $url = $url_split[0];
-
- // Add 'www.' if it is absent and should be there
- if ( false !== strpos(get_settings('home'), '://www.') && false === strpos($url, '://www.') )
- $url = str_replace('://', '://www.', $url);
-
- // Strip 'www.' if it is present and shouldn't be
- if ( false === strpos(get_settings('home'), '://www.') )
- $url = str_replace('://www.', '://', $url);
-
- // Strip 'index.php/' if we're not using path info permalinks
- if ( false === strpos($rewrite, 'index.php/') )
- $url = str_replace('index.php/', '', $url);
-
- if ( false !== strpos($url, get_settings('home')) ) {
- // Chop off http://domain.com
- $url = str_replace(get_settings('home'), '', $url);
- } else {
- // Chop off /path/to/blog
- $home_path = parse_url(get_settings('home'));
- $home_path = $home_path['path'];
- $url = str_replace($home_path, '', $url);