X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-categories.php;h=c6674511b9ebb259c71f5de9deac71333594a4ef;hp=4f2a8ae2386033a3910bb971b4cfd861ff256534;hb=4a0707e942a96b80ecea6bb83d0bf1acf4fe1e59;hpb=43885129ac24cee5545a8a5ad51e90aa182fdf46 diff --git a/inc/modules/member/what-categories.php b/inc/modules/member/what-categories.php index 4f2a8ae238..c6674511b9 100644 --- a/inc/modules/member/what-categories.php +++ b/inc/modules/member/what-categories.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Kategorien ab- bzw. anwaehlen * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,141 +37,134 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} - elseif (!IS_LOGGED_IN()) -{ - LOAD_URL("modules.php[13~?module=index"); +if (!defined('__SECURITY')) { + die(); +} elseif (!isMember()) { + redirectToIndexMemberOnlyModule(); } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +addMenuDescription('member', __FILE__); -$UID = $GLOBALS['userid']; -$whereStatement = " WHERE visible='Y'"; -if (IS_ADMIN()) $whereStatement = ""; +$UID = getUserId(); +$whereStatement = " WHERE `visible`='Y'"; +if (isAdmin()) $whereStatement = ''; -$result = SQL_QUERY("SELECT id, cat FROM "._MYSQL_PREFIX."_cats".$whereStatement." ORDER BY sort", __FILE__, __LINE__); +$result = SQL_QUERY("SELECT id, cat FROM `{?_MYSQL_PREFIX?}_cats`".$whereStatement." ORDER BY `sort`", __FILE__, __LINE__); $cats = SQL_NUMROWS($result); -if ($cats > 0) -{ +if ($cats > 0) { $LEAST = false; - if (isset($_POST['ok'])) - { + if (isFormSent()) { $cnt = 0; - foreach ($_POST['cat'] as $cat=>$joined) - { - if ($joined == "N") $cnt++; - } - if (($cats - $cnt) < $_CONFIG['least_cats']) - { - unset($_POST['ok']); + foreach (postRequestElement('cat') as $cat => $joined) { + if ($joined != 'Y') $cnt++; + } // END - foreach + + if (($cats - $cnt) < getConfig('least_cats')) { + unsetPostRequestElement('ok'); $LEAST = true; - } - } - if (isset($_POST['ok'])) - { - foreach ($_POST['cat'] as $cat=>$joined) - { - switch ($joined) - { + } // END - if + } // END - if + + // Is the form sent? + if (isFormSent()) { + // Start counting all + $cnt = 0; + + // Go through all entries + foreach (postRequestElement('cat') as $cat => $joined) { + // Ini sql here + $sql = ''; + + // Has the user joined on this category? + switch ($joined) { case 'Y': - $sql = ""; - $result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s AND cat_id=%s LIMIT 1", - array($UID, bigintval($cat)), __FILE__, __LINE__); - - if (SQL_NUMROWS($result_user) == 0) - { - $sql = "INSERT INTO "._MYSQL_PREFIX."_user_cats (userid, cat_id) VALUES ('%s', '%s')"; - } - else - { - // Free memory - SQL_FREERESULT($result_user); - } + $result_user = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1", + array($UID, bigintval($cat)), __FILE__, __LINE__); + + if (SQL_NUMROWS($result_user) == 0) { + $sql = "INSERT INTO `{?_MYSQL_PREFIX?}_user_cats` (userid, cat_id) VALUES ('%s','%s')"; + } // END - if + + // Free memory + SQL_FREERESULT($result_user); break; case 'N': - $sql = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s AND cat_id=%s LIMIT 1"; + $sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid`=%s AND `cat_id`=%s LIMIT 1"; break; - } - if (!empty($sql)) - { + } // END - switch + + if (!empty($sql)) { // Run SQL command - $result = SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); - } + SQL_QUERY_ESC(trim($sql), array($UID, bigintval($cat)), __FILE__, __LINE__); + + // Count this row + $cnt += SQL_AFFECTEDROWS(); + } // END - if + } // END - foreach + + // Categories saved? + if ($cnt > 0) { + // Output message + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_SAVED')); + } else { + // None save + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_CATS_NOT_SAVED')); } - // Categories saved... - LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_CATS_SAVED); - } - else - { - if ($LEAST) - { + } else { + if ($LEAST) { // Also here we have to secure it... :( - LOAD_TEMPLATE("admin_settings_saved", true, CATS_LEAST.": ".$_CONFIG['least_cats']); - } + loadTemplate('admin_settings_saved', false, sprintf(getMessage('CATS_LEAST'), getConfig('least_cats'))); + } // END - if + // Put some data into constants for the template - define('__ROWS', ($cats*2+4)); + $content['rows'] = ($cats*2+4); // Load header template - LOAD_TEMPLATE("member_cats_header"); + loadTemplate('member_cats_header', false, $content); // Start switching colors and load all visible categories - $SW = 2; - while (list($id, $cat) = SQL_FETCHROW($result)) - { + // @TODO Rewrite this to use $OUT .= ... + $OUT = ''; $SW = 2; + while ($content = SQL_FETCHARRAY($result)) { // Default he has not joined - $JOINED_N = ' checked'; $JOINED_Y = ""; - - // Check category selection - $result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s AND cat_id=%s LIMIT 1", - array($UID, bigintval($id)), __FILE__, __LINE__); - - // When we found an entry don't read it, just change the JOINED_x variables - if (isset($_POST['cat'])) - { - if ($_POST['cat'][$id] =='Y') { $JOINED_Y = ' checked'; $JOINED_N = ""; } - } - else - { - if (SQL_NUMROWS($result_user) == 1) - { - $JOINED_Y = ' checked'; $JOINED_N = ""; + $content['jn'] = ' checked="checked"'; + $content['jy'] = ''; + + // When we found an entry don't read it, just change the jx elements + if (isPostRequestElementSet(('cat'))) { + // Form sent? + if (postRequestElement('cat', $content['id']) =='Y') { + $content['jy'] = ' checked="checked"'; + $content['jn'] = ''; + } + } else { + // Check if he has an entry + if (countSumTotalData($UID, 'user_cats', 'id', 'userid', true, sprintf(" AND `cat_id`=%s", bigintval($content['id']))) == 1) { + $content['jn'] = ''; + $content['jy'] = ' checked="checked"'; } - - // Free memory - SQL_FREERESULT($result_user); } - // Prepare data for the template - $content = array( - 'sw' => $SW, - 'id' => $id, - 'cat' => $cat, - 'jy' => $JOINED_Y, - 'jn' => $JOINED_N, - ); + // Add some more + $content['sw'] = $SW; // Load row template and switch colors - LOAD_TEMPLATE("member_cat_row", false, $content); + loadTemplate('member_cat_row', false, $content); $SW = 3 - $SW; } // Load footer template - LOAD_TEMPLATE("member_cats_footer"); + loadTemplate('member_cats_footer'); } -} - else -{ +} else { // No cateogries are defined yet - LOAD_TEMPLATE("admin_settings_saved", true, MEMBER_NO_CATS); + loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_CATS')); } +// Free result SQL_FREERESULT($result); //