| 
<?php
/**
 *   __ _  ___  ___ ___   ___   ___     ____ _ __ ___   ___
 *  / _` |/  / / __/ _ \ / _ \ /  /    / __/| '_ ` _ \ /  /
 * | (_| |\  \| (_| (_) | (_) |\  \   | (__ | | | | | |\  \
 *  \__,_|/__/ \___\___/ \___/ /__/    \___\|_| |_| |_|/__/
 *
 *
 ************************************************************************************
 * @ASCOOS-NAME            : ASCOOS CMS 24'                                            *
 * @ASCOOS-VERSION         : 24.0.0                                                    *
 * @ASCOOS-CATEGORY        : Block (Frontend and Administrator Side)                   *
 * @ASCOOS-CREATOR         : Drogidis Christos                                         *
 * @ASCOOS-SITE            : www.ascoos.com                                            *
 * @ASCOOS-LICENSE         : [Commercial] http://docs.ascoos.com/lics/ascoos/AGL.html  *
 * @ASCOOS-COPYRIGHT       : Copyright (c) 2007 - 2024, AlexSoft Software.             *
 ************************************************************************************
 *
 * @package                : Block Manager - Latest classes from PHPClasses.org
 * @subpackage             : Main Frontend file
 * @source                 : /[BLOCKS PATH]/phpclasses_latest/index.php
 * @fileNo                 :
 * @version                : 1.0.1
 * @created                : 2024-10-10 07:00:00 UTC+3
 * @updated                : 2024-10-14 07:00:00 UTC+3
 * @author                 : Drogidis Christos
 * @authorSite             : www.alexsoft.gr
 * @license             : AGL-F
 *
 * @since PHP 8.2.0
 */
 
 defined ("ALEXSOFT_RUN_CMS") or die("Prohibition of Access.");
 
 include_once ( __DIR__ . '/libs.php');
 
 
 // Get Value Block Parameters
 $method         = $block->getParam('str', 'method', 'xml' );            // What feed method is used (XML or RSS)?
 $count             = $block->getParam('int', 'count', 10 );                // How many classes will be displayed.
 $user            = $block->getParam('str', 'username', 'bigfriend' );    // PHPClasses User
 $show_summary    = $block->getParam('bool', 'show_summary', false );        // Show Summary Description
 $show_days        = $block->getParam('bool', 'show_days', false );        // Show Days
 $theme            = $block->getParam('lstr', 'theme', 'default' );        // The Block theme
 
 // load Block Theme
 $block->loadTheme($theme);
 
 $feeds = simplexml_load_file('https://'.$user.'.users.phpclasses.org/browse/latest/latest.'.$method);
 
 $items= [];
 
 switch ($method) {
 case 'rss':
 $ci = 0;
 
 foreach ($feeds->channel->item as $feed) {
 if ($ci >= $count) break;
 $parts = explode("#", $feed->link);
 $items[$ci]['link'] = $parts[0];
 $items[$ci]['title'] = (string) $feed->title;
 if ($show_summary) $items[$ci]['summary'] = getSummary($feed->description);
 if ($show_days) $items[$ci]['days'] = diff_days($feed->pubDate);
 
 $ci++;
 unset($parts);
 }
 unset($feeds);
 break;
 
 default:
 $ci = 0;
 
 foreach ($feeds->item as $feed) {
 if ($ci >= $count) break;
 $parts = explode("#", $feed->link);
 $items[$ci]['link'] = $parts[0];
 $items[$ci]['title'] = (string) $feed->title;
 if ($show_summary) $items[$ci]['summary'] = getSummary($feed->description);
 
 $ci++;
 unset($parts);
 }
 unset($feeds);
 break;
 }
 
 
 $text = '';
 $text .= '<div class="block-phpclasses-latest-'.$theme.'">';
 if ($block->getVar('show_title')) {
 $text .= '<div class="header"><h3>'.$block->getTitle().'</h3></div><div class="clear"></div>';
 }
 $text .= '<div class="text"><div class="table">';
 
 
 foreach ($items as $key => $feed)
 {
 $text .= '<div class="row">';
 $text .= '<div class="cell"><a target="_blank" href="'.$feed['link'].'">'.$feed['title'].'</a>';
 if ($show_summary) $text .= '<br>'.$feed['summary'];
 $text .= '</div>';
 
 // Only for RSS Feed
 if ($show_days && $method !== 'xml') $text .= "<div class=\"cell right\">".$feed['days']."</div>";
 
 $text .= '</div>'; // row
 }
 unset($items);
 
 $text .= '</div></div>'; // table/text
 $text .= '<div class="more"><a target="_blank" href="https://'.$user.'.users.phpclasses.org/browse/latest/latest.html"><strong>...'.$objLang->more.'</strong></a></div>';
 $text .= '</div>'; // block
 echo $text;
 unset($text);
 
 ?>
 |