* phpwcms content management system * * @author Oliver Georgi <*****@*****.**> * @copyright Copyright (c) 2002-2015, Oliver Georgi * @license http://opensource.org/licenses/GPL-2.0 GNU GPL-2 * @link http://www.phpwcms.de * **/ // ---------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); } // ---------------------------------------------------------------- // make all neccessary module checks $phpwcms_modules = returnSubdirListAsArray(PHPWCMS_ROOT . '/include/inc_module'); $value = ''; foreach ($phpwcms_modules as $value) { // set default vars $_module_name = ''; $_module_type = 0; $_module_contentpart = false; $_module_fe_render = false; $_module_fe_init = false; $_module_fe_search = false; $_module_fe_setting = false; if (is_file(PHPWCMS_ROOT . '/include/inc_module/' . $value . '/module.default.php')) { // main settings require PHPWCMS_ROOT . '/include/inc_module/' . $value . '/module.default.php'; // define as module - use default name if ($_module_name !== '') {
function proof_alias($current_id, $alias = '', $mode = 'CATEGORY') { $current_id = intval($current_id); $alias = strtolower(uri_sanitize(clean_slweg($alias))); $reserved = array('print', 'newsdetail', 'newspage', 'id', 'aid', 'subgallery', 'listpage', 'page', 'subscribe', 'unsubscribe', 'email', 'u', 's', 'q', 'feedimport', 'r404', 'phpwcms-preview'); if ($alias === '') { if (!empty($GLOBALS['phpwcms']['allow_empty_alias'])) { return ''; } elseif ($mode == 'CATEGORY' && isset($_POST["acat_name"])) { $alias = $_POST["acat_name"]; } elseif ($mode == 'ARTICLE' && isset($_POST["article_title"])) { $alias = $_POST["article_title"]; } elseif ($mode == 'CONTENT' && (isset($_POST["cnt_title"]) || isset($_POST["cnt_name"]))) { $alias = trim($_POST["cnt_title"]) == '' ? $_POST["cnt_name"] : $_POST["cnt_title"]; } $alias = strtolower(uri_sanitize(clean_slweg($alias))); if ($alias === '') { return ''; } } // Test against existing folders to avoid problems with rewrite if (PHPWCMS_ALIAS_WSLASH && strpos($alias, '/') !== false) { $root_folders = returnSubdirListAsArray(PHPWCMS_ROOT); if ($root_folders !== false) { // Only check first "path" section $alias_sections = explode('/', $alias); $alias_proof = strtolower($alias_sections[0]); $alias_proof_suffix = ''; $alias_proof_suffix_count = 0; foreach ($root_folders as $key => $folder) { $root_folders[$key] = strtolower($folder); } while (in_array($alias_proof . $alias_proof_suffix, $root_folders)) { $alias_proof_suffix_count++; $alias_proof_suffix = '-' . $alias_proof_suffix_count; } if ($alias_proof_suffix_count) { $alias_sections[0] .= $alias_proof_suffix; $alias = implode('/', $alias_sections); } } } $alias = substr($alias, 0, 230); if (PHPWCMS_ALIAS_WSLASH) { $alias = trim($alias, '/'); } $alias_proof_suffix = ''; $alias_proof_suffix_count = 0; // Now test against existing files to avoid problems with rewrite while (is_file(PHPWCMS_ROOT . '/' . $alias . $alias_proof_suffix . PHPWCMS_REWRITE_EXT)) { $alias_proof_suffix_count++; $alias_proof_suffix = '-' . $alias_proof_suffix_count; } if ($alias_proof_suffix_count) { $alias .= $alias_proof_suffix; } // new reserved alias can be defined in $phpwcms['reserved_alias'] if (isset($phpwcms['reserved_alias']) && is_array($phpwcms['reserved_alias']) && count($phpwcms['reserved_alias'])) { $reserved = array_merge($reserved, $phpwcms['reserved_alias']); } if ($alias == '' || in_array($alias, $reserved) || $alias == 'index' && $current_id != 'index') { $alias .= $mode == 'CONTENT' ? date('_Ymd') : '-view'; } $alias = trim($alias, '-'); $where_acat = ''; $where_article = ''; $where_content = ''; switch ($mode) { case 'CATEGORY': $where_acat = 'acat_id != ' . $current_id . ' AND '; break; case 'ARTICLE': $where_article = 'article_id != ' . $current_id . ' AND '; break; case 'CONTENT': $where_content = 'cnt_id != ' . $current_id . ' AND '; break; } // check alias against all structure alias $sql = "SELECT COUNT(acat_id) FROM " . DB_PREPEND . "phpwcms_articlecat WHERE "; $sql .= $where_acat; $sql .= "acat_alias=" . _dbEscape($alias); $acat_count = _dbQuery($sql, 'COUNT'); // check alias against all articles $sql = "SELECT COUNT(article_id) FROM " . DB_PREPEND . "phpwcms_article WHERE "; $sql .= $where_article; $sql .= "article_alias=" . _dbEscape($alias); $article_count = _dbQuery($sql, 'COUNT'); // check alias against all "sub" contents like news $sql = "SELECT COUNT(cnt_id) FROM " . DB_PREPEND . "phpwcms_content WHERE "; $sql .= $where_content; $sql .= "cnt_alias=" . _dbEscape($alias); $content_count = _dbQuery($sql, 'COUNT'); if ($acat_count > 0 || $article_count > 0 || $content_count > 0) { $sql = "SELECT acat_alias FROM " . DB_PREPEND . "phpwcms_articlecat WHERE "; $sql .= $where_acat; $sql .= "acat_alias LIKE " . _dbEscape($alias, true, '', '%'); $all_acat_alias = _dbQuery($sql); $sql = "SELECT article_alias FROM " . DB_PREPEND . "phpwcms_article WHERE "; $sql .= $where_article; $sql .= "article_alias LIKE " . _dbEscape($alias, true, '', '%'); $all_article_alias = _dbQuery($sql); $sql = "SELECT cnt_alias FROM " . DB_PREPEND . "phpwcms_content WHERE "; $sql .= $where_content; $sql .= "cnt_alias LIKE " . _dbEscape($alias, true, '', '%'); $all_content_alias = _dbQuery($sql); $all_alias = array(); foreach ($all_acat_alias as $item) { $item = $item['acat_alias']; $all_alias[$item] = $item; } foreach ($all_article_alias as $item) { $item = $item['article_alias']; $all_alias[$item] = $item; } foreach ($all_content_alias as $item) { $item = $item['cnt_alias']; $all_alias[$item] = $item; } $all_alias_count = count($all_alias); while (isset($all_alias[$alias . '-' . $all_alias_count])) { $all_alias_count++; } if (preg_match('/\\-(\\d+)$/', $alias)) { $alias .= $all_alias_count; } else { $alias .= '-' . $all_alias_count; } } return $alias; }
$i .= ' /></td><td><label for="nls' . $row[0] . '">' . html($row[1]) . "</label></td>\n</tr>\n"; } mysql_free_result($result); echo $i; } ?> </table></td> </tr> <tr><td colspan="2"><img src="img/leer.gif" alt="" width="1" height="8" /></td></tr> <?php // newsletter templates $BE['HEADER']['newsletter.form.js'] = getJavaScriptSourceLink('include/inc_js/newsletter.form.js'); $tmpllist = returnSubdirListAsArray(PHPWCMS_TEMPLATE . 'inc_newsletter'); $tmpldata = array('options' => array(), 'js' => array(), 'files' => array()); $value3 = ''; if (is_array($tmpllist) && count($tmpllist)) { if (empty($newsletter["newsletter_vars"]['template'])) { $newsletter["newsletter_vars"]['template'] = ''; } $i = 0; foreach ($tmpllist as $value) { $value1 = html($value); $tmpldata['options'][$i] = '<option value="' . $value1 . '"'; if ($value == $newsletter["newsletter_vars"]['template']) { $tmpldata['options'][$i] .= ' selected="selected"'; $value3 = $value; } $tmpldata['options'][$i] .= '>' . $value1 . '</option>' . LF;