<?php
// Αρχικοποίηση του Joomla περιβάλλοντος
define('_JEXEC', 1);
define('JPATH_BASE', __DIR__);
require_once(JPATH_BASE . '/includes/defines.php');
require_once(JPATH_BASE . '/includes/framework.php');
// Αρχικοποίηση του Joomla application
$app = JFactory::getApplication('site');
// Λίστα κατηγοριών που θα εξαιρεθούν
$excludedCategories = array(2, 10, 12, 15, 100, 101, 36, 37, 38, 39, 40, 52, 102, 78, 80, 81, 82, 83, 106, 84, 317);
// Φόρτωση όλων των άρθρων από τη βάση δεδομένων με εξαίρεση συγκεκριμένες κατηγορίες
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName(array('id', 'title', 'catid', 'alias')))
->from($db->quoteName('#__content'))
->where($db->quoteName('state') . ' = 1') // Μόνο δημοσιευμένα άρθρα
->where($db->quoteName('catid') . ' NOT IN (' . implode(',', $excludedCategories) . ')');
$db->setQuery($query);
$articles = $db->loadObjectList();
if ($articles) {
$articlesArray = array();
// Δημιουργία των φιλικών URLs για κάθε άρθρο
foreach ($articles as $article) {
$link = 'index.php?option=com_content&view=article&id=' . $article->id . '&catid=' . $article->catid;
$url = JRoute::_($link, false);
// Προσθήκη των δεδομένων του άρθρου σε πίνακα
$articlesArray[] = array(
'title' => $article->title,
'url' => $url
);
}
// Επιστροφή των άρθρων σε JSON μορφή
header('Content-Type: application/json');
echo json_encode($articlesArray, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
} else {
echo json_encode(array('message' => 'No articles found'), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
?>
Comments