/**
  * publish a news by id & clang
  * if publish-lang == all => $clang is not needed, but must be set
  * @param $id
  * @param $clang
  * @param DateTime $time
  * @return string
  */
 public static function publishNews($id, $clang, DateTime $time)
 {
     /**
      * @var array $REX
      * @var i18n $I18N
      */
     global $REX, $I18N;
     $sql = new rex_sql();
     $sql->setTable(rex_asd_news_config::getTable());
     $sql->setWhere('`id` = ' . $id . ' AND `clang` = ' . $clang);
     if (rex_asd_news_config::getConfig('published-lang') == 'all') {
         $sql->setWhere('`id` = ' . $id);
     }
     $sql->setValue('publishedAt', $time->format('Y-m-d H:i'));
     $sql->setValue('publishedBy', $REX['USER']->getValue('user_id'));
     $sql->setValue('status', 1);
     $sql->update();
     $sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `id` = ' . $id . ' AND `clang` = ' . $clang);
     return '
     <td>' . $id . '</td>
     <td>' . $sql->getValue('title') . '</td>
     <td><span>' . $time->format('d.m.Y H:i') . '</span></td>
     <td><a href="' . self::getBaseUrl($clang) . 'unpublish&amp;id=' . $id . '" class="rex-online" onclick="return confirm(\'' . $I18N->msg('asd_news_really_unpublish') . '\');">' . $I18N->msg('asd_news_published') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'edit&amp;id=' . $id . '">' . $I18N->msg('edit') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'delete&amp;id=' . $id . '" onclick="return confirm(\'' . $I18N->msg('asd_news_really_delete') . '\');">' . $I18N->msg('delete') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'status&amp;id=' . $id . '" class="rex-online">' . $I18N->msg('status_online') . '</a></td>';
 }
示例#2
0
 public function __construct($tableName, $fieldset, $whereCondition, $method = 'post', $debug = false)
 {
     parent::rex_form($tableName, $fieldset, $whereCondition, $method, $debug);
     if (OOAddon::isAvailable('metainfo')) {
         require_once rex_path::addon('metainfo', 'extensions/extension_art_metainfo.inc.php');
         $sqlCols = rex_asd_news_config::getConfig('sql');
         $this->sqlFields = _rex_a62_metainfo_sqlfields('asd_', 'AND (`p`.`restrictions` = "" OR p.`restrictions` LIKE "%|' . $this->getValue($sqlCols['category']) . '|%") ');
     }
 }
示例#3
0
 public static function addNewstoSitemap($params)
 {
     $mainArticle = rex_asd_news_config::getConfig('article');
     $mainArticle = new rex_article($mainArticle);
     foreach (rex_asd_news::getByWhere(array('clang' => null)) as $news) {
         /** @var rex_asd_news $news */
         $fragment = array('loc' => $news->getUrl(), 'lastmod' => $news->getPublishDate()->format('c'), 'changefreq' => self::calc_article_changefreq($news->getPublishDate()->getTimestamp()), 'priority' => self::calc_article_priority($mainArticle->getValue('id'), $mainArticle->getValue('clang'), $mainArticle->getValue('path') . '|' . $news->getValue('id')));
         $params['subject'][rex_asd_news_config::getName()][] = $fragment;
     }
     return $params['subject'];
 }
示例#4
0
 /**
  * @param array $params
  * @return array
  */
 public static function isImageInUse($params)
 {
     /** @var i18n $I18N */
     global $I18N;
     $sql = new rex_sql();
     $sqlCols = rex_asd_news_config::getConfig('sql');
     $sql->setQuery('SELECT `id`, `title` FROM `' . rex_asd_news_config::getTable() . '` WHERE `' . $sqlCols['picture'] . '` = "' . $params['filename'] . '"');
     if ($sql->getRows()) {
         $message = $I18N->msg('asd_news') . '<br /><ul>';
         for ($i = 1; $i <= $sql->getRow(); $i++) {
             $message .= '
 <li>
     <a href="index.php?page=' . rex_asd_news_config::getName() . '&amp;func=edit&amp;id=' . $sql->getValue('id') . '">
         ' . $sql->getValue('title') . '
     </a>
 </li>';
         }
         $message .= '</ul>';
         $params['subject'][] = $message;
     }
     return $params['subject'];
 }
示例#5
0
文件: news.php 项目: Sysix/asd_news
    $sql->setWhere('id=' . $id . ' AND clang = ' . $clang);
    if ($sql->delete()) {
        echo rex_info($I18N->msg('asd_news_deleted'));
    } else {
        echo rex_warning($sql->getError());
    }
    $func = '';
}
if ($func == 'unpublish') {
    $sql = new rex_sql();
    $sql->setTable(rex_asd_news_config::getTable());
    $sql->setWhere('id=' . $id . ' AND clang = ' . $clang);
    $sql->setValue('publishedAt', '0000-00-00 00:00:00');
    $sql->setValue('publishedBy', 0);
    $successMessage = $I18N->msg('asd_news_unpublished_s');
    if (rex_asd_news_config::getConfig('published-lang') == 'all') {
        $sql->setWhere('`id` = ' . $id);
        $successMessage = $I18N->msg('asd_news_unpublished_m');
    }
    if ($sql->update()) {
        echo rex_info($successMessage);
    } else {
        echo rex_warning($sql->getError());
    }
    $func = '';
}
if ($func == '') {
    $list = new rex_list('
    SELECT
      `id`, `title`, `publishedAt`, `status`
    FROM `' . rex_asd_news_config::getTable() . '`
示例#6
0
 /**
  * @return string
  */
 public function getButtons()
 {
     if ($this->getPageCount() <= 1) {
         return '';
     }
     switch (rex_asd_news_config::getConfig('pagination')) {
         case 'site-number':
             return $this->getPagination();
         case 'pager':
         default:
             return $this->getPager();
     }
 }
示例#7
0
<?php

require rex_path::src('layout' . DIRECTORY_SEPARATOR . 'top.php');
rex_title($I18N->msg('asd_news'), $REX['ADDON']['pages'][rex_asd_news_config::getName()]);
$page = rex_request('page', 'string');
$subpage = rex_request('subpage', 'string');
$func = rex_request('func', 'string');
if (!$subpage) {
    $subpage = 'news';
}
$BaseDir = rex_asd_news_config::getBaseUrl();
$baseDirFunc = rex_asd_news_config::getBaseUrl($func);
if (!rex_asd_news_config::getConfig('article')) {
    echo rex_warning($I18N->msg('asd_news_no_article_selected'));
}
switch ($subpage) {
    case 'news':
    case 'rubric':
    case 'faq':
        $path = rex_path::addon(rex_asd_news_config::getName(), 'pages' . DIRECTORY_SEPARATOR . $subpage . '.php');
        break;
    case 'settings':
    case 'metainfo':
        if ($REX['USER']->hasPerm(rex_asd_news_config::getName() . '[' . $subpage . ']') || $REX['USER']->isAdmin()) {
            $path = rex_path::addon(rex_asd_news_config::getName(), 'pages' . DIRECTORY_SEPARATOR . $subpage . '.php');
        }
        break;
    default:
        $path = rex_path::plugin(rex_asd_news_config::getName(), $subpage, 'pages' . DIRECTORY_SEPARATOR . $subpage . '.php');
        break;
}
示例#8
0
 /**
  * @param int|null $clang
  * @return array
  */
 public static function getArchiveNews($clang = null)
 {
     return self::getByWhere(array('LIMIT' => 99999, 'OFFSET' => rex_asd_news_config::getConfig('min-archive')), $clang);
 }
示例#9
0
                                               value="<?php 
echo rex_asd_news_config::getConfig('pagination-css-id');
?>
">
                                    </p>
                                </div>

                                <div class="rex-form-row">
                                    <p class="rex-form-text">
                                        <label><?php 
echo $I18N->msg('asd_news_pager');
?>
</label>
                                        <input class="rex-form-text" type="text" name="pager-css-id"
                                               value="<?php 
echo rex_asd_news_config::getConfig('pager-css-id');
?>
">
                                    </p>
                                </div>

                            </div>
                        </div>
                        <div class="rex-form-row">
                            <p class="rex-form-submit rex-form-submit-2">

                                <input class="rex-form-submit" type="submit" id="sendit" name="sendit"
                                       value="<?php 
echo $I18N->msg('submit');
?>
"/>