mirror of
https://github.com/slawkens/myaac.git
synced 2025-10-13 17:24:54 +02:00
* added news preview function (news, ticker, article)
* update TODO
This commit is contained in:
121
tools/news_preview.php
Normal file
121
tools/news_preview.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
/**
|
||||
* News preview
|
||||
* Returns news preview in json format
|
||||
*
|
||||
* @package MyAAC
|
||||
* @author Slawkens <slawkens@gmail.com>
|
||||
* @copyright 2017 MyAAC
|
||||
* @link http://my-aac.org
|
||||
*/
|
||||
|
||||
// we need some functions
|
||||
require('../common.php');
|
||||
require_once(SYSTEM . 'functions.php');
|
||||
require_once(SYSTEM . 'init.php');
|
||||
require_once(SYSTEM . 'template.php');
|
||||
|
||||
$error = '';
|
||||
if(isset($_GET['title'], $_GET['body'], $_GET['player_id'], $_GET['category'], $_GET['forum_section'], $_GET['template_path'], $_GET['type']))
|
||||
{
|
||||
$categories = array();
|
||||
foreach($db->query(
|
||||
'SELECT id, name, icon_id FROM ' . TABLE_PREFIX . 'news_categories WHERE hidden != 1') as $cat)
|
||||
{
|
||||
$categories[$cat['id']] = array(
|
||||
'name' => $cat['name'],
|
||||
'icon_id' => $cat['icon_id']
|
||||
);
|
||||
}
|
||||
/*
|
||||
$template_path = $_GET['template_path'];
|
||||
$twig->addGlobal('template_path', $template_path);
|
||||
if($twig_loader && file_exists(BASE . $template_path))
|
||||
$twig_loader->prependPath(BASE . $template_path);
|
||||
*/
|
||||
$twig->addGlobal('config', $config);
|
||||
|
||||
$player = new OTS_Player();
|
||||
$player->load($_GET['player_id']);
|
||||
|
||||
$author = '';
|
||||
if($player->isLoaded()) {
|
||||
$author = $player->getName();
|
||||
}
|
||||
|
||||
if($_GET['type'] == 3) { // ARTICLE
|
||||
if(!isset($_GET['article_text'], $_GET['article_image'])) {
|
||||
error_('Error: please fill all inputs 2.');
|
||||
}
|
||||
|
||||
$featured_article = '';
|
||||
if($twig->getLoader()->exists('news.featured_article.html.twig')) {
|
||||
$featured_article = $twig->render('news.featured_article.html.twig', array(
|
||||
'article' => array(
|
||||
'id' => 1,
|
||||
'title' => $_GET['title'],
|
||||
'text' => $_GET['article_text'],
|
||||
'image' => $_GET['article_image'],
|
||||
'hidden' => 0,
|
||||
'read_more'=> getLink('news/archive/') . '0'
|
||||
),
|
||||
'canEdit' => false
|
||||
));
|
||||
}
|
||||
|
||||
success_($featured_article);
|
||||
}
|
||||
else if($_GET['type'] == 2) { // TICKER
|
||||
$tickers = array(
|
||||
array('id' => 1, 'date' => time(), 'body' => $_GET['body'], 'category' => $_GET['category'])
|
||||
);
|
||||
|
||||
foreach($tickers as &$ticker) {
|
||||
$ticker['icon'] = $categories[$ticker['category']]['icon_id'];
|
||||
$ticker['body_short'] = short_text(strip_tags($ticker['body']), 100);
|
||||
}
|
||||
|
||||
$tickers_content = $twig->render('news.tickers.html.twig', array(
|
||||
'tickers' => $tickers,
|
||||
'canEdit' => false,
|
||||
'i' => -1
|
||||
));
|
||||
|
||||
success_($tickers_content);
|
||||
}
|
||||
else {
|
||||
success_($twig->render('news.html.twig', array(
|
||||
'id' => 1,
|
||||
'title' => $_GET['title'],
|
||||
'content' => $_GET['body'],
|
||||
'date' => time(),
|
||||
'icon' => $categories[$_GET['category']]['icon_id'],
|
||||
'author' => $config['news_author'] ? $author : '',
|
||||
'comments' => null,
|
||||
'news_date_format' => $config['news_date_format'],
|
||||
'hidden'=> 0
|
||||
)));
|
||||
}
|
||||
}
|
||||
else
|
||||
error_('Error: please fill all inputs.');
|
||||
|
||||
/**
|
||||
* Output message & exit.
|
||||
*
|
||||
* @param string $desc Description
|
||||
*/
|
||||
function success_($desc) {
|
||||
echo json_encode(array(
|
||||
'success' => $desc
|
||||
));
|
||||
exit();
|
||||
}
|
||||
function error_($desc) {
|
||||
echo json_encode(array(
|
||||
'error' => $desc
|
||||
));
|
||||
exit();
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user