Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.68 KB | None | 0 0
  1. <?php
  2. /*
  3.  * Languages and Show functionality
  4.  * Author: EDC Team
  5.  * Since: 2.2
  6. */
  7. include('data/Books_categories.php');
  8. include('data/Books_ids.php');
  9. include('data/Books_info.php');
  10.  
  11.   if(get_option( 'WPLANG' ) == "ar"){
  12.      $EDC_words['title'] = 'مكتبة الكتب';
  13.      $EDC_words['category'] = 'القسم:';
  14.      $EDC_words['books'] = 'كتاب';
  15.      $EDC_words['booktitle'] = '<u>عنوان الكتاب:</u>';
  16.      $EDC_words['bookauthor'] = '<u>مؤلف الكتاب:</u>';
  17.      $EDC_words['bookdownload'] = '<u>تحميل الكتاب:</u>';
  18.      $EDC_words['bookimage'] = '<u>صورة الكتاب:</u>';
  19.      $EDC_words['pluginname'] = 'المكتبة الإسلامية الإلكترونية الشاملة';
  20.      $EDC_words['plugindescription'] = 'يتطلع موقع المكتبة الإسلامية الإلكترونية الشاملة إلى أن يكون مصدراً شاملا للكتب التي تتعلق بالإسلام والمسلمين والأديان الأخرى باللغات المختلفة مع إتاحة تحميل هذه الكتب.';
  21.      $EDC_words['insertwidget'] = 'أضف Widget للمكتبة';
  22.      $EDC_words['bookscategories'] = 'أقسام الكتب:';
  23.      $EDC_words['ifempty'] = 'إذا كانت الخانة فارغة فسيتم اختيار القسم المحدد تلقائيا.';
  24.      $EDC_words['selectcategory'] = 'اختر القسم المناسب';
  25.      $EDC_words['shortcode'] = 'انسخ الكود وضعه في المقال أو الصفحة:';
  26.      $EDC_words['update'] = 'تحديث';
  27.      $EDC_words['js'] = 'إن كان هناك مشكلة في عرض الكتب عن طريق السلايدر قم بتعطيل الخاصية';
  28.      $EDC_words['activate'] = 'تفعيل';
  29.      $EDC_words['inactivate'] = 'تعطيل';
  30.   }else{
  31.      $EDC_words['title'] = 'Islamic Books';
  32.      $EDC_words['category'] = 'Category:';
  33.      $EDC_words['books'] = 'Books';
  34.      $EDC_words['booktitle'] = '<u>Title:</u>';
  35.      $EDC_words['bookauthor'] = '<strong>Author: </strong>';
  36.      $EDC_words['bookdownload'] = '<strong>Download:</strong>';
  37.      $EDC_words['bookimage'] = '<u>Image:</u>';
  38.      $EDC_words['pluginname'] = 'Islamic Books Plugin by EDC';
  39.      $EDC_words['plugindescription'] = 'The Islamic Books Plugin by EDC endeavors to be a unique comprehensive online store of free downloadable PDF books about Islam, Muslims, and other faiths in different languages.';
  40.      $EDC_words['insertwidget'] = 'Insert Books by widgets.';
  41.      $EDC_words['bookscategories'] = 'Books Categories:';
  42.      $EDC_words['ifempty'] = 'if empty will write category name.';
  43.      $EDC_words['selectcategory'] = 'Select category name.';
  44.      $EDC_words['shortcode'] = 'Copy shortcode and paste into post/page:';
  45.      $EDC_words['update'] = 'Update';
  46.      $EDC_words['js'] = 'If there is a problem, disable this option.';
  47.      $EDC_words['activate'] = 'Activate';
  48.      $EDC_words['inactivate'] = 'Inactivate';
  49.   }
  50.  
  51. class Free_Books_Widget extends WP_Widget {
  52.  
  53.     function __construct() {
  54.         parent::__construct(
  55.             'Free_Books_Widget', // Base ID
  56.             __('Islamic Books', 'edc_free_books_widget'), // Name
  57.             array( 'description' => __( 'You can add 1 out of 88 languages', 'edc_free_books_widget' ), ) // Args
  58.         );
  59.     }
  60.  
  61.     public function EDC_BOOKS($language_id="",$booksrand="",$edc_free_books_allow_source="",$edc_free_books_allow_download="",$edc_free_books_allow_read="",$width="",$height="",$edc_slider_type="",$edc_free_books_allow_title=0){
  62.     global $EDC_category_info, $EDC_books_id, $EDC_book_info;
  63.  
  64.     $language_name = $EDC_category_info[$language_id][1];
  65.     $i = $EDC_books_id[$language_id][$booksrand];
  66.     $books_count = count($EDC_books_id[$language_id]);
  67.    
  68.     $lang_string = explode("/", $EDC_book_info[$i][5]);
  69.     if($lang_string[3] == ""){
  70.     $lang_title = '';
  71.     }else{
  72.     $lang_title = '?lang='.ucwords($lang_string[3]);
  73.     }
  74.    
  75.     if($EDC_book_info[$i][0] == ""){ $title = ''; }else{ $title = $EDC_book_info[$i][0]; }
  76.     if($EDC_book_info[$i][1] == ""){ $author = ''; }else{ $author = 'Author: '.htmlspecialchars($EDC_book_info[$i][1]).''; }
  77.     if($EDC_book_info[$i][2] == ""){ $url = ''; }else{ $url = htmlspecialchars($EDC_book_info[$i][2]); }
  78.     if($EDC_book_info[$i][3] == ""){ $image = ''; }else{ $image = '<img class="edc_image_book" src="'.htmlspecialchars($EDC_book_info[$i][3]).'" alt="'.htmlspecialchars($title).'" title="'.htmlspecialchars($title).'" />'; }
  79.  
  80.     if($EDC_book_info[$i][2] == ""){
  81.         $download = '';
  82.     }else{
  83.         if($edc_slider_type == 0){
  84.         $download = '<div class="edc_icons_content_for_just_link">';
  85.         }else{
  86.         $download = '<div class="edc_icons_content">';
  87.         }
  88.         if($edc_free_books_allow_source == 1){
  89.         $download .= '<a target="_blank" href="'.htmlspecialchars($EDC_book_info[$i][5]).''.$lang_title.'"><img class="edc_icons" src="'.plugin_dir_url( __FILE__ ).'/images/link.png" alt="Go to '.htmlspecialchars($EDC_book_info[$i][0]).'" title="'.htmlspecialchars($EDC_book_info[$i][0]).'" /></a>';
  90.         }
  91.         if($edc_free_books_allow_read == 1){
  92.         $download .= '<a target="_blank" href="https://docs.google.com/viewer?url='.htmlspecialchars($EDC_book_info[$i][2]).'"><img class="edc_icons" src="'.plugin_dir_url( __FILE__ ).'/images/pdf.png" alt="Read '.htmlspecialchars($EDC_book_info[$i][0]).'" title="Read '.htmlspecialchars($EDC_book_info[$i][0]).'" /></a>';
  93.         }
  94.         if($edc_free_books_allow_download == 1){
  95.         $download .= '<a target="_blank" href="'.htmlspecialchars($EDC_book_info[$i][2]).'"><img class="edc_icons" src="'.plugin_dir_url( __FILE__ ).'/images/download.png" alt="Download '.htmlspecialchars($EDC_book_info[$i][0]).'" title="Download '.htmlspecialchars($EDC_book_info[$i][0]).'" /></a>';
  96.         }
  97.         $download .= '</div>';
  98.     }
  99.  
  100.     if($books_count == 0){
  101.         $code = '<div id="books_content_widget">Sorry, Not found books in '.$category_name.' language.</div>';
  102.     }else{
  103.         if($edc_slider_type == 0){
  104.             $code = '<li>'.$download.'<a target="_blank" href="'.$url.'" title="'.$author.'">'.$title.'</a><div style="clear:both;"></div></li>'."\n";
  105.         }else{
  106.             if($EDC_book_info[$i][3] != ""){
  107.                 $code = '<li><a target="_blank" href="'.$url.'">'.$image.'</a><div style="clear:both;"></div>'.$download.'</li>';
  108.             }else{
  109.                 $code = '';
  110.             }
  111.         }
  112.     }
  113.  
  114.     return $code;
  115.     }
  116.  
  117.     public function EDC_BOOKS_js($edc_free_books_id=0, $edc_slider_type=1, $view_extracode=0){
  118.         $code_js = "<script type=\"text/javascript\">"."\n";
  119.         $code_js .= "(function($){ 
  120.           $(function(){";
  121.         $code_js .= "$('#bxslider".$edc_free_books_id."').bxSlider({"."\n";
  122.         if($edc_slider_type == 1){
  123.         $code_js .= "mode: 'fade',
  124.           captions: true"."\n";
  125.         $extracode = '';
  126.         }elseif($edc_slider_type == 2){
  127.         $code_js .= "auto: true,
  128.           autoControls: true"."\n";
  129.         $extracode = '';
  130.         }elseif($edc_slider_type == 3){
  131.         $code_js .= "infiniteLoop: false,
  132.           hideControlOnEnd: true"."\n";
  133.         $extracode = '';
  134.         }elseif($edc_slider_type == 4){
  135.         $code_js .= "adaptiveHeight: true,
  136.           mode: 'fade'"."\n";
  137.         $extracode = '';
  138.         }elseif($edc_slider_type == 5){
  139.         $code_js .= "slideWidth: 300,
  140.             minSlides: 2,
  141.             maxSlides: 2,
  142.             slideMargin: 10"."\n";
  143.         $extracode = '';
  144.         }elseif($edc_slider_type == 6){
  145.         $code_js .= "minSlides: 2,
  146.           maxSlides: 2,
  147.           slideWidth: 360,
  148.           slideMargin: 10"."\n";
  149.         $extracode = '';
  150.         }elseif($edc_slider_type == 7){
  151.         $code_js .= "minSlides: 3,
  152.           maxSlides: 4,
  153.           slideWidth: 170,
  154.           slideMargin: 10"."\n";
  155.         $extracode = '';
  156.         }elseif($edc_slider_type == 8){
  157.         $code_js .= "mode: 'vertical',
  158.           slideMargin: 5"."\n";
  159.         $extracode = '';
  160.         }elseif($edc_slider_type == 9){
  161.         $code_js .= "nextSelector: '#slider-next',
  162.           prevSelector: '#slider-prev',
  163.           nextText: 'Next &#8594;',
  164.           prevText: '&#8592; Prev'"."\n";
  165.         $extracode = '<div class="outside">
  166.         <p><span id="slider-prev"></span> | <span id="slider-next"></span></p>
  167.         </div>';
  168.         }else{
  169.         $code_js .= "mode: 'fade',
  170.           captions: true"."\n";
  171.         $extracode = '';
  172.         }
  173.         $code_js .= "});"."\n";
  174.         $code_js .= "});   
  175.         }(jQuery))";
  176.         $code_js .= "</script>"."\n";
  177.    
  178.     if($view_extracode == 1){
  179.     return $extracode;
  180.     }else{
  181.     return $code_js;
  182.     }
  183.     }
  184.    
  185.     public function widget( $args, $instance ) {
  186.         global $EDC_BOOK,$EDC_category_info,$EDC_books_id;
  187.         $title = apply_filters( 'widget_title', $instance['title'] );
  188.         $edc_free_books_id = $instance['edc_free_books_id'];
  189.         $edc_free_books_language_shortname = $instance['edc_free_books_language_shortname'];
  190.         $edc_free_books_allow_source = $instance['edc_free_books_allow_source'];
  191.         $edc_free_books_allow_download = $instance['edc_free_books_allow_download'];
  192.         $edc_free_books_allow_title = $instance['edc_free_books_allow_title'];
  193.         $edc_free_books_allow_read = $instance['edc_free_books_allow_read'];
  194.         $edc_free_books_width = $instance['edc_free_books_width'];
  195.         $edc_free_books_height = $instance['edc_free_books_height'];
  196.         $edc_free_books_limit = $instance['edc_free_books_limit'];
  197.         $edc_slider_type = $instance['edc_slider_type'];
  198.  
  199.         if(empty($edc_free_books_width)){ $width = 200; }else{ $width = $edc_free_books_width; }
  200.         if(empty($edc_free_books_height)){ $height = 244; }else{ $height = $edc_free_books_height; }
  201.         if(empty($edc_free_books_limit)){ $books_limit = 1; }else{ $books_limit = $edc_free_books_limit; }
  202.  
  203.     $language_name = $EDC_category_info[$edc_free_books_id][1];
  204.     $bookscount = count($EDC_books_id[$edc_free_books_id]);
  205.  
  206.     if($books_limit > $bookscount){ $limit = $bookscount; }else{ $limit = $books_limit; }
  207.  
  208.     if($edc_slider_type == 0){
  209.     $code = '';
  210.     }else{
  211.     $code = $this->EDC_BOOKS_js($edc_free_books_id, $edc_slider_type, 0)."\n";
  212.     }
  213.    
  214. $code .= '<div class="edcbooks">'."\n";
  215. if($edc_free_books_allow_title == 1){
  216. $code .= '<h2>'.$language_name.'</h2>';
  217. }else{
  218. $code .= '';
  219. }
  220. $code .= '<ul id="bxslider'.$edc_free_books_id.'">'."\n";
  221. for($x=0; $x<$limit; ++$x){
  222. $booksrand = rand(0,$bookscount-1);
  223. $code .= $this->EDC_BOOKS($edc_free_books_id, $booksrand, $edc_free_books_allow_source, $edc_free_books_allow_download, $edc_free_books_allow_read, $width, $height, $edc_slider_type, $edc_free_books_allow_title)."\n";
  224. if(($x+1) == $limit){
  225. $code .= '';
  226. }else{
  227. //$code .= '<div class="space_books"></div>';
  228. }
  229. }
  230. $code .= '</ul>'."\n";
  231. $code .= '</div>'."\n";
  232. $code .= $this->EDC_BOOKS_js($edc_free_books_id, $edc_slider_type, 1);
  233.  
  234.         echo $args['before_widget'];
  235.         if ( ! empty( $title ) )
  236.             echo $args['before_title'] . $title . $args['after_title'];
  237.         echo __( ''.$code.'', 'edc_free_books_widget' );
  238.         echo $args['after_widget'];
  239.     }
  240.  
  241.     public function form( $instance ) {
  242.         global $EDC_category;
  243.         if ( isset( $instance[ 'title' ] ) ) {
  244.             $title = $instance[ 'title' ];
  245.             $edc_free_books_id = $instance['edc_free_books_id'];
  246.             $edc_free_books_language_shortname = $instance['edc_free_books_language_shortname'];
  247.             $edc_free_books_allow_source = $instance['edc_free_books_allow_source'];
  248.             $edc_free_books_allow_download = $instance['edc_free_books_allow_download'];
  249.             $edc_free_books_allow_read = $instance['edc_free_books_allow_read'];
  250.             $edc_free_books_width = $instance['edc_free_books_width'];
  251.             $edc_free_books_height = $instance['edc_free_books_height'];
  252.             $edc_free_books_limit = $instance['edc_free_books_limit'];
  253.             $edc_slider_type = $instance['edc_slider_type'];
  254.             $edc_free_books_allow_title = $instance['edc_free_books_allow_title'];
  255.         }else{
  256.             $title = __( 'Islamic Books', 'edc_free_books_widget' );
  257.             $edc_free_books_id = 2;
  258.             $edc_free_books_language_shortname = '';
  259.             $edc_free_books_allow_source = 1;
  260.             $edc_free_books_allow_download = 1;
  261.             $edc_free_books_allow_read = 1;
  262.             $edc_free_books_width = '';
  263.             $edc_free_books_height = '';
  264.             $edc_free_books_limit = 10;
  265.             $edc_slider_type = 1;
  266.             $edc_free_books_allow_title = 1;
  267.         }
  268.         ?>
  269.         <p>
  270.         <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
  271.         <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
  272.         </p>
  273.        
  274.         <p>
  275.  
  276.         <select id="<?php echo $this->get_field_id('edc_free_books_id'); ?>" name="<?php echo $this->get_field_name('edc_free_books_id'); ?>">
  277.         <?php for($i = 1; $i <= count($EDC_category); $i++): ?>
  278.         <?php if($EDC_category[$i][4] == 0){ ?>
  279.         <option title="<?php echo $EDC_category[$i][1]; ?>" value="<?php echo intval($EDC_category[$i][0]); ?>" <?php echo ( $edc_free_books_id == intval($EDC_category[$i][0]) ) ? 'selected="selected"' : ''; ?>><?php echo $EDC_category[$i][1]; ?></option>
  280.         <?php }else{?>
  281.         <option title="<?php echo $EDC_category[$i][1]; ?>" value="<?php echo intval($EDC_category[$i][0]); ?>" <?php echo ( $edc_free_books_id == intval($EDC_category[$i][0]) ) ? 'selected="selected"' : ''; ?>><?php echo '- '.$EDC_category[$i][1]; ?></option>
  282.         <?php } ?>
  283.         <?php endfor; ?>
  284.         </select>
  285.         <label for="<?php echo $this->get_field_id('edc_free_books_id'); ?>">
  286.         <?php _e('Languages', 'edc_free_books_widget'); ?>
  287.         </label>
  288.         </p>
  289.          
  290.         <p>
  291.         <label for="<?php echo $this->get_field_id('edc_free_books_allow_source'); ?>">
  292.         <input id="<?php echo $this->get_field_id('edc_free_books_allow_source'); ?>" name="<?php echo $this->get_field_name('edc_free_books_allow_source'); ?>" type="checkbox" <?php if($edc_free_books_allow_source) { echo 'checked="checked"'; } ?> />
  293.         <?php _e('Source icon', 'edc_free_books_widget'); ?>
  294.         </label>
  295.         </p>
  296.        
  297.         <p>
  298.         <label for="<?php echo $this->get_field_id('edc_free_books_allow_read'); ?>">
  299.         <input id="<?php echo $this->get_field_id('edc_free_books_allow_read'); ?>" name="<?php echo $this->get_field_name('edc_free_books_allow_read'); ?>" type="checkbox" <?php if($edc_free_books_allow_read) { echo 'checked="checked"'; } ?> />
  300.         <?php _e('Read icon', 'edc_free_books_widget'); ?>
  301.         </label>
  302.         </p>
  303.        
  304.         <p>
  305.         <label for="<?php echo $this->get_field_id('edc_free_books_allow_download'); ?>">
  306.         <input id="<?php echo $this->get_field_id('edc_free_books_allow_download'); ?>" name="<?php echo $this->get_field_name('edc_free_books_allow_download'); ?>" type="checkbox" <?php if($edc_free_books_allow_download) { echo 'checked="checked"'; } ?> />
  307.         <?php _e('Download icon', 'edc_free_books_widget'); ?>
  308.         </label>
  309.         </p>
  310.            
  311.         <p>
  312.         <label for="<?php echo $this->get_field_id('edc_free_books_allow_title'); ?>">
  313.         <input id="<?php echo $this->get_field_id('edc_free_books_allow_title'); ?>" name="<?php echo $this->get_field_name('edc_free_books_allow_title'); ?>" type="checkbox" <?php if($edc_free_books_allow_title) { echo 'checked="checked"'; } ?> />
  314.         <?php _e('Show title', 'edc_free_books_widget'); ?>
  315.         </label>
  316.         </p>
  317.        
  318.         <!--
  319.         <p>
  320.         <label for="<?php echo $this->get_field_id( 'edc_free_books_width' ); ?>"><?php _e( 'Image width:' ); ?></label>
  321.         <input class="widefat" id="<?php echo $this->get_field_id( 'edc_free_books_width' ); ?>" name="<?php echo $this->get_field_name( 'edc_free_books_width' ); ?>" type="text" value="<?php if(empty($edc_free_books_width)){ echo 200; }else{ echo esc_attr( $edc_free_books_width ); } ?>" />
  322.         </p>
  323.        
  324.         <p>
  325.         <label for="<?php echo $this->get_field_id( 'edc_free_books_height' ); ?>"><?php _e( 'Image height:' ); ?></label>
  326.         <input class="widefat" id="<?php echo $this->get_field_id( 'edc_free_books_height' ); ?>" name="<?php echo $this->get_field_name( 'edc_free_books_height' ); ?>" type="text" value="<?php if(empty($edc_free_books_height)){ echo 244; }else{ echo esc_attr( $edc_free_books_height ); } ?>" />
  327.         </p>
  328.         -->
  329.         <p>
  330.         <label for="<?php echo $this->get_field_id( 'edc_free_books_limit' ); ?>"><?php _e( 'Books limit:' ); ?></label>
  331.         <input class="widefat" id="<?php echo $this->get_field_id( 'edc_free_books_limit' ); ?>" name="<?php echo $this->get_field_name( 'edc_free_books_limit' ); ?>" type="text" value="<?php if(empty($edc_free_books_limit)){ echo 1; }else{ echo esc_attr( $edc_free_books_limit ); } ?>" />
  332.         </p>
  333.        
  334.         <p>
  335.         <select id="<?php echo $this->get_field_id('edc_slider_type'); ?>" name="<?php echo $this->get_field_name('edc_slider_type'); ?>">
  336.         <option value="1" <?php echo ( $edc_slider_type == 1 ) ? 'selected="selected"' : ''; ?>>1. Image slideshow with captions</option>
  337.         <option value="2" <?php echo ( $edc_slider_type == 2 ) ? 'selected="selected"' : ''; ?>>2. Auto show with start / stop controls</option>
  338.         <option value="3" <?php echo ( $edc_slider_type == 3 ) ? 'selected="selected"' : ''; ?>>3. Manual show without infinite loop</option>
  339.         <option value="4" <?php echo ( $edc_slider_type == 4 ) ? 'selected="selected"' : ''; ?>>4. Slideshow using adaptiveHeight</option>
  340.         <option value="5" <?php echo ( $edc_slider_type == 5 ) ? 'selected="selected"' : ''; ?>>5. Carousels demystified - in depth explanation with examples</option>
  341.         <option value="6" <?php echo ( $edc_slider_type == 6 ) ? 'selected="selected"' : ''; ?>>6. Carousel - static number of slides showing</option>
  342.         <option value="7" <?php echo ( $edc_slider_type == 7 ) ? 'selected="selected"' : ''; ?>>7. Carousel - dynamic number of slides showing</option>
  343.         <option value="8" <?php echo ( $edc_slider_type == 8 ) ? 'selected="selected"' : ''; ?>>8. Vertical slideshow</option>
  344.         <option value="9" <?php echo ( $edc_slider_type == 9 ) ? 'selected="selected"' : ''; ?>>9. Custom next / prev control selectors</option>
  345.         <option value="0" <?php echo ( $edc_slider_type == 0 ) ? 'selected="selected"' : ''; ?>>10. Just Links</option>
  346.         </select>
  347.         <label for="<?php echo $this->get_field_id('edc_slider_type'); ?>">
  348.         <?php _e('Slider Type', 'edc_free_books_widget'); ?>
  349.         </label>
  350.         </p>
  351.         <?php
  352.     }
  353.  
  354.     public function update( $new_instance, $old_instance ) {
  355.         $instance = array();
  356.         $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
  357.         $instance['edc_free_books_id'] = $new_instance['edc_free_books_id'];
  358.         $instance['edc_free_books_language_shortname'] = $new_instance['edc_free_books_language_shortname'];
  359.         $instance['edc_free_books_width'] = $new_instance['edc_free_books_width'];
  360.         $instance['edc_free_books_height'] = $new_instance['edc_free_books_height'];
  361.         $instance['edc_free_books_limit'] = $new_instance['edc_free_books_limit'];
  362.         $instance['edc_free_books_allow_source'] = ( isset( $new_instance['edc_free_books_allow_source'] ) ? 1 : 0 );
  363.         $instance['edc_free_books_allow_read'] = ( isset( $new_instance['edc_free_books_allow_read'] ) ? 1 : 0 );
  364.         $instance['edc_free_books_allow_download'] = ( isset( $new_instance['edc_free_books_allow_download'] ) ? 1 : 0 );
  365.         $instance['edc_free_books_allow_title'] = ( isset( $new_instance['edc_free_books_allow_title'] ) ? 1 : 0 );
  366.         $instance['edc_slider_type'] = intval($new_instance['edc_slider_type']);
  367.         return $instance;
  368.     }
  369.  
  370. }
  371.  
  372. function register_Free_Books_Widget() {
  373.     register_widget( 'Free_Books_Widget' );
  374. }
  375. add_action( 'widgets_init', 'register_Free_Books_Widget' );
  376.  
  377. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement