!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/OLD_WP/wp-content/plugins/polylang/include/   drwxr-xr-x
Free 180.69 GB of 490.84 GB (36.81%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     widget-calendar.php (8.77 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

if ( ! class_exists'WP_Widget_Calendar' ) ) {
    require_once 
ABSPATH '/wp-includes/default-widgets.php';
}

/**
 * obliged to rewrite the whole functionnality as there is no filter on sql queries and only a filter on final output
 * code base last checked with WP 4.4.2
 * a request for making a filter on sql queries exists: http://core.trac.wordpress.org/ticket/15202
 * method used in 0.4.x: use of the get_calendar filter and overwrite the output of get_calendar function -> not very efficient (add 4 to 5 sql queries)
 * method used since 0.5: remove the WP widget and replace it by our own -> our language filter will not work if get_calendar is called directly by a theme
 *
 * @since 0.5
 */
class PLL_Widget_Calendar extends WP_Widget_Calendar {

    
/**
     * displays the widget
     * modified version of the parent function to call our own get_calendar function
     *
     * @since 0.5
     *
     * @param array $args Display arguments including before_title, after_title, before_widget, and after_widget.
     * @param array $instance The settings for the particular instance of the widget
     */
    
function widget$args$instance ) {
        
/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
        
$title apply_filters'widget_title', empty( $instance['title'] ) ? '&nbsp;' $instance['title'], $instance$this->id_base );
        echo 
$args['before_widget'];
        if ( 
$title ) {
            echo 
$args['before_title'] . $title $args['after_title'];
        }
        echo 
'<div id="calendar_wrap">';
        empty( 
PLL()->curlang ) ? get_calendar() : self::get_calendar(); #modified#
        
echo '</div>';
        echo 
$args['after_widget'];
    }

    
/**
     * modified version of WP get_calendar function to filter the query
     *
     * @since 0.5
     *
     * @param bool $initial Optional, default is true. Use initial calendar names.
     * @param bool $echo Optional, default is true. Set to false for return.
     * @return string|null String when retrieving, null when displaying.
      */
    
static function get_calendar$initial true$echo true ) {
        global 
$wpdb$m$monthnum$year$wp_locale$posts;

        
$join_clause PLL()->model->post->join_clause(); #added#
        
$where_clause PLL()->model->post->where_clausePLL()->curlang ); #added#

        
$key md5PLL()->curlang->slug $m $monthnum $year ); #modified#
        
$cache wp_cache_get'get_calendar''calendar' );

        if ( 
$cache && is_array$cache ) && isset( $cache$key ] ) ) {
            
/** This filter is documented in wp-includes/general-template.php */
            
$output apply_filters'get_calendar'$cache$key ] );

            if ( 
$echo ) {
                echo 
$output;
                return;
            }

            return 
$output;
        }

        if ( ! 
is_array$cache ) ) {
            
$cache = array();
        }

        
// Quick check. If we have no posts at all, abort!
        
if ( ! $posts ) {
            
$gotsome $wpdb->get_var("SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1");
            if ( ! 
$gotsome ) {
                
$cache$key ] = '';
                
wp_cache_set'get_calendar'$cache'calendar' );
                return;
            }
        }

        if ( isset( 
$_GET['w'] ) ) {
            
$w = (int) $_GET['w'];
        }
        
// week_begins = 0 stands for Sunday
        
$week_begins = (int) get_option'start_of_week' );
        
$ts current_time'timestamp' );

        
// Let's figure out when we are
        
if ( ! empty( $monthnum ) && ! empty( $year ) ) {
            
$thismonth zeroiseintval$monthnum ), );
            
$thisyear = (int) $year;
        } elseif ( ! empty( 
$w ) ) {
            
// We need to get the month from MySQL
            
$thisyear = (int) substr$m0);
            
//it seems MySQL's weeks disagree with PHP's
            
$d = ( ( $w ) * ) + 6;
            
$thismonth $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('{$thisyear}0101', INTERVAL $d DAY) ), '%m')");
        } elseif ( ! empty( 
$m ) ) {
            
$thisyear = (int) substr$m0);
            if ( 
strlen$m ) < ) {
                
$thismonth '01';
            } else {
                
$thismonth zeroise( (int) substr$m4), );
            }
        } else {
            
$thisyear gmdate'Y'$ts );
            
$thismonth gmdate'm'$ts );
        }

        
$unixmonth mktime00$thismonth1$thisyear );
        
$last_day date't'$unixmonth );

        
// Get the next and previous month and year with at least one post
        
$previous $wpdb->get_row"SELECT MONTH( post_date ) AS month, YEAR( post_date ) AS year
            FROM 
$wpdb->posts $join_clause
            WHERE post_date < '
$thisyear-$thismonth-01'
            AND post_type = 'post' AND post_status = 'publish' 
$where_clause
                ORDER BY post_date DESC
                LIMIT 1" 
); #modified#
        
$next $wpdb->get_row"SELECT MONTH( post_date ) AS month, YEAR( post_date ) AS year
            FROM 
$wpdb->posts $join_clause
            WHERE post_date > '
$thisyear-$thismonth-{$last_day} 23:59:59'
            AND post_type = 'post' AND post_status = 'publish' 
$where_clause
                ORDER BY post_date ASC
                LIMIT 1" 
); #modified#

        /* translators: Calendar caption: 1: month name, 2: 4-digit year */
        
$calendar_caption _x'%1$s %2$s''calendar caption' );
        
$calendar_output '<table id="wp-calendar">
        <caption>' 
sprintf(
            
$calendar_caption,
            
$wp_locale->get_month$thismonth ),
            
date'Y'$unixmonth )
        ) . 
'</caption>
        <thead>
        <tr>'
;

        
$myweek = array();

        for ( 
$wdcount 0$wdcount <= 6$wdcount++ ) {
            
$myweek[] = $wp_locale->get_weekday( ( $wdcount $week_begins ) % );
        }

        foreach ( 
$myweek as $wd ) {
            
$day_name $initial $wp_locale->get_weekday_initial$wd ) : $wp_locale->get_weekday_abbrev$wd );
            
$wd esc_attr$wd );
            
$calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>";
        }

        
$calendar_output .= '
        </tr>
        </thead>

        <tfoot>
        <tr>'
;

        if ( 
$previous ) {
            
$calendar_output .= "\n\t\t".'<td colspan="3" id="prev"><a href="' get_month_link$previous->year$previous->month ) . '">&laquo; ' .
                
$wp_locale->get_month_abbrev$wp_locale->get_month$previous->month ) ) .
            
'</a></td>';
        } else {
            
$calendar_output .= "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>';
        }

        
$calendar_output .= "\n\t\t".'<td class="pad">&nbsp;</td>';

        if ( 
$next ) {
            
$calendar_output .= "\n\t\t".'<td colspan="3" id="next"><a href="' get_month_link$next->year$next->month ) . '">' .
                
$wp_locale->get_month_abbrev$wp_locale->get_month$next->month ) ) .
            
' &raquo;</a></td>';
        } else {
            
$calendar_output .= "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>';
        }

        
$calendar_output .= '
        </tr>
        </tfoot>

        <tbody>
        <tr>'
;

        
$daywithpost = array();

        
// Get days with posts
        
$dayswithposts $wpdb->get_results"SELECT DISTINCT DAYOFMONTH( post_date )
            FROM 
$wpdb->posts $join_clause
            WHERE post_date >= '
{$thisyear}-{$thismonth}-01 00:00:00'
            AND post_type = 'post' AND post_status = 'publish' 
$where_clause
            AND post_date <= '
{$thisyear}-{$thismonth}-{$last_day} 23:59:59'"ARRAY_N ); #modified#
        
if ( $dayswithposts ) {
            foreach ( (array) 
$dayswithposts as $daywith ) {
                
$daywithpost[] = $daywith[0];
            }
        }

        
// See how much we should pad in the beginning
        
$pad calendar_week_moddate'w'$unixmonth ) - $week_begins );
        if ( 
!= $pad ) {
            
$calendar_output .= "\n\t\t".'<td colspan="'esc_attr$pad ) .'" class="pad">&nbsp;</td>';
        }

        
$newrow false;
        
$daysinmonth = (int) date't'$unixmonth );

        for ( 
$day 1$day <= $daysinmonth; ++$day ) {
            if ( isset(
$newrow) && $newrow ) {
                
$calendar_output .= "\n\t</tr>\n\t<tr>\n\t\t";
            }
            
$newrow false;

            if ( 
$day == gmdate'j'$ts ) &&
                
$thismonth == gmdate'm'$ts ) &&
                
$thisyear == gmdate'Y'$ts ) ) {
                
$calendar_output .= '<td id="today">';
            } else {
                
$calendar_output .= '<td>';
            }

            if ( 
in_array$day$daywithpost ) ) {
                
// any posts today?
                
$date_format date_x'F j, Y''daily archives date format' ), strtotime"{$thisyear}-{$thismonth}-{$day}) );
                
$label sprintf__'Posts published on %s' ), $date_format );
                
$calendar_output .= sprintf(
                    
'<a href="%s" aria-label="%s">%s</a>',
                    
get_day_link$thisyear$thismonth$day ),
                    
esc_attr$label ),
                    
$day
                
);
            } else {
                
$calendar_output .= $day;
            }
            
$calendar_output .= '</td>';

            if ( 
== calendar_week_moddate'w'mktime(00$thismonth$day$thisyear ) ) - $week_begins ) ) {
                
$newrow true;
            }
        }

        
$pad calendar_week_moddate'w'mktime00$thismonth$day$thisyear ) ) - $week_begins );
        if ( 
$pad != && $pad != ) {
            
$calendar_output .= "\n\t\t".'<td class="pad" colspan="'esc_attr$pad ) .'">&nbsp;</td>';
        }
        
$calendar_output .= "\n\t</tr>\n\t</tbody>\n\t</table>";

        
$cache$key ] = $calendar_output;
        
wp_cache_set'get_calendar'$cache'calendar' );

        if ( 
$echo ) {
            
/**
             * Filter the HTML calendar output.
             *
             * @since 3.0.0
             *
             * @param string $calendar_output HTML output of the calendar.
             */
            
echo apply_filters'get_calendar'$calendar_output );
            return;
        }
        
/** This filter is documented in wp-includes/general-template.php */
        
return apply_filters'get_calendar'$calendar_output );
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0331 ]--