/** * 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&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&id=' . $id . '">' . $I18N->msg('edit') . '</a></td> <td><a href="' . self::getBaseUrl($clang) . 'delete&id=' . $id . '" onclick="return confirm(\'' . $I18N->msg('asd_news_really_delete') . '\');">' . $I18N->msg('delete') . '</a></td> <td><a href="' . self::getBaseUrl($clang) . 'status&id=' . $id . '" class="rex-online">' . $I18N->msg('status_online') . '</a></td>'; }
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']) . '|%") '); } }
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']; }
/** * @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() . '&func=edit&id=' . $sql->getValue('id') . '"> ' . $sql->getValue('title') . ' </a> </li>'; } $message .= '</ul>'; $params['subject'][] = $message; } return $params['subject']; }
$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() . '`
/** * @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(); } }
<?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; }
/** * @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); }
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'); ?> "/>