1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-14 01:19:44 +01:00

menumanager_class.php: fixed path for menu config action (it included '.php' and leaded to '.php.php' anding);

signup.php: added default empty values for user_class, user_perms, user_prefs, user_realm as they were leading to DB Insert error;
This commit is contained in:
berckoff 2012-01-10 16:31:39 +00:00
parent 771fc01a9c
commit 59f2feb30c
2 changed files with 151 additions and 152 deletions

View File

@ -869,46 +869,46 @@ class e_menuManager {
$text .= "</select>
</div></form>";
return $text;
}
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
function parseheader($LAYOUT, $check = FALSE)
{
function parseheader($LAYOUT, $check = FALSE)
{
// $tmp = explode("\n", $LAYOUT);
// Split up using the same function as the shortcode handler
$tmp = preg_split('#(\{\S[^\x02]*?\S\})#', $LAYOUT, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
$str = array();
for($c = 0; $c < count($tmp); $c++)
{
if(preg_match("/[\{|\}]/", $tmp[$c]))
{
if($check)
{
if(strstr($tmp[$c], "{MENU="))
{
$matches = array();
$str = array();
for($c = 0; $c < count($tmp); $c++)
{
if(preg_match("/[\{|\}]/", $tmp[$c]))
{
if($check)
{
if(strstr($tmp[$c], "{MENU="))
{
$matches = array();
// Match all menu areas, menu number is limited to tinyint(3)
preg_match_all("/\{MENU=([\d]{1,3})(:[\w\d]*)?\}/", $tmp[$c], $matches);
$this->menuSetCode($matches, $str);
}
}
else
{
$this->checklayout($tmp[$c]);
}
}
else
{
if(!$check)
{
echo $tmp[$c];
}
}
}
if($check)
{
return $str;
}
preg_match_all("/\{MENU=([\d]{1,3})(:[\w\d]*)?\}/", $tmp[$c], $matches);
$this->menuSetCode($matches, $str);
}
}
else
{
$this->checklayout($tmp[$c]);
}
}
else
{
if(!$check)
{
echo $tmp[$c];
}
}
}
if($check)
{
return $str;
}
}
function menuSetCode($matches, &$ret)
@ -922,121 +922,121 @@ class e_menuManager {
{
$ret[] = $match;
}
}
function checklayout($str)
}
function checklayout($str)
{ // Displays a basic representation of the theme
global $pref, $ns, $PLUGINS_DIRECTORY, $rs, $sc_style, $tp, $menu_order;
$menuLayout = ($this->curLayout != $pref['sitetheme_deflayout']) ? $this->curLayout : "";
if(strstr($str, "LOGO"))
{
echo $tp->parseTemplate("{LOGO}");
}
else if(strstr($str, "SITENAME"))
{
echo "<div style='padding: 2px'>[SiteName]</div>";
}
else if(strstr($str, "SITETAG"))
{
echo "<div style='padding: 2px'>[SiteTag]</div>";
}
else if(strstr($str, "SITELINKS"))
{
echo "<div style='padding: 2px; text-align: center'>[SiteLinks]</div>";
}
else if(strstr($str, "LANGUAGELINKS"))
{
echo "<div class=text style='padding: 2px; text-align: center'>[Language]</div>";
}
else if(strstr($str, "CUSTOM"))
{
$cust = preg_replace("/\W*\{CUSTOM=(.*?)(\+.*)?\}\W*/si", "\\1", $str);
echo "<div style='padding: 2px'>[" . $cust . "]</div>";
}
global $pref, $ns, $PLUGINS_DIRECTORY, $rs, $sc_style, $tp, $menu_order;
$menuLayout = ($this->curLayout != $pref['sitetheme_deflayout']) ? $this->curLayout : "";
if(strstr($str, "LOGO"))
{
echo $tp->parseTemplate("{LOGO}");
}
else if(strstr($str, "SITENAME"))
{
echo "<div style='padding: 2px'>[SiteName]</div>";
}
else if(strstr($str, "SITETAG"))
{
echo "<div style='padding: 2px'>[SiteTag]</div>";
}
else if(strstr($str, "SITELINKS"))
{
echo "<div style='padding: 2px; text-align: center'>[SiteLinks]</div>";
}
else if(strstr($str, "LANGUAGELINKS"))
{
echo "<div class=text style='padding: 2px; text-align: center'>[Language]</div>";
}
else if(strstr($str, "CUSTOM"))
{
$cust = preg_replace("/\W*\{CUSTOM=(.*?)(\+.*)?\}\W*/si", "\\1", $str);
echo "<div style='padding: 2px'>[" . $cust . "]</div>";
}
// Display embedded Plugin information.
else if(strstr($str, "PLUGIN"))
{
$plug = preg_replace("/\{PLUGIN=(.*?)\}/si", "\\1", $str);
$plug = trim($plug);
if(file_exists((e_PLUGIN . "{$plug}/{$plug}_config.php")))
{
$link = e_PLUGIN . "{$plug}/{$plug}_config.php";
}
if(file_exists((e_PLUGIN . $plug . "/config.php")))
{
$link = e_PLUGIN . $plug . "/config.php";
}
$plugtext = ($link) ? "(" . MENLAN_34 . ":<a href='$link' title='" . LAN_CONFIGURE . "'>" . LAN_CONFIGURE . "</a>)" : "(" . MENLAN_34 . ")";
echo "<br />";
$ns->tablerender($plug, $plugtext);
}
else if(strstr($str, "MENU"))
{
$matches = array();
if(preg_match_all("/\{MENU=([\d]{1,3})(:[\w\d]*)?\}/", $str, $matches))
{
foreach($matches[1] as $menu)
{
$menu = preg_replace("/\{MENU=(.*?)(:.*?)?\}/si", "\\1", $str);
if(isset($sc_style['MENU']['pre']) && strpos($str, 'ret') !== false)
{
echo $sc_style['MENU']['pre'];
}
else if(strstr($str, "PLUGIN"))
{
$plug = preg_replace("/\{PLUGIN=(.*?)\}/si", "\\1", $str);
$plug = trim($plug);
if(file_exists((e_PLUGIN . "{$plug}/{$plug}_config.php")))
{
$link = e_PLUGIN . "{$plug}/{$plug}_config.php";
}
if(file_exists((e_PLUGIN . $plug . "/config.php")))
{
$link = e_PLUGIN . $plug . "/config.php";
}
$plugtext = ($link) ? "(" . MENLAN_34 . ":<a href='$link' title='" . LAN_CONFIGURE . "'>" . LAN_CONFIGURE . "</a>)" : "(" . MENLAN_34 . ")";
echo "<br />";
$ns->tablerender($plug, $plugtext);
}
else if(strstr($str, "MENU"))
{
$matches = array();
if(preg_match_all("/\{MENU=([\d]{1,3})(:[\w\d]*)?\}/", $str, $matches))
{
foreach($matches[1] as $menu)
{
$menu = preg_replace("/\{MENU=(.*?)(:.*?)?\}/si", "\\1", $str);
if(isset($sc_style['MENU']['pre']) && strpos($str, 'ret') !== false)
{
echo $sc_style['MENU']['pre'];
}
echo "
<div class='portal-column' id='portal-column-" . $menu . "'>
<div style='text-align:center; font-size:14px' class='fborder'>
<div class='forumheader'><b>" . MENLAN_14 . " " . $menu . "</b></div></div><br />";
$text = "&nbsp;";
$sql9 = new db();
if($sql9->db_Count("menus", "(*)", " WHERE menu_location='$menu' AND menu_layout = '" . $this->dbLayout . "' "))
{
unset($text);
echo $rs->form_open("post", e_SELF . "?configure=" . $this->curLayout, "frm_menu_" . intval($menu));
$MODE = 1;
$sql9->db_Select("menus", "*", "menu_location='$menu' AND menu_layout='" . $this->dbLayout . "' ORDER BY menu_order");
$menu_count = $sql9->db_Rows();
while($row = $sql9->db_Fetch(MYSQL_ASSOC))
{
<div class='forumheader'><b>" . MENLAN_14 . " " . $menu . "</b></div></div><br />";
$text = "&nbsp;";
$sql9 = new db();
if($sql9->db_Count("menus", "(*)", " WHERE menu_location='$menu' AND menu_layout = '" . $this->dbLayout . "' "))
{
unset($text);
echo $rs->form_open("post", e_SELF . "?configure=" . $this->curLayout, "frm_menu_" . intval($menu));
$MODE = 1;
$sql9->db_Select("menus", "*", "menu_location='$menu' AND menu_layout='" . $this->dbLayout . "' ORDER BY menu_order");
$menu_count = $sql9->db_Rows();
while($row = $sql9->db_Fetch(MYSQL_ASSOC))
{
echo "\n\n\n <!-- Menu Start -->\n\n
<div class='block' id='block-" . $row['menu_id'] . "--" . $this->dbLayout . "'>
<div class='content'>";
echo $this->menuRenderMenu($row, $menu_count);
echo "\n</div></div>";
echo "\n\n\n<!-- Menu end -->\n\n\n";
echo "<div><br /></div>";
}
echo $rs->form_close();
}
echo "</div>";
if(isset($sc_style['MENU']['post']) && strpos($str, 'ret') !== false)
{
echo $sc_style['MENU']['post'];
}
}
}
}
else if(strstr($str, "SETSTYLE"))
{
$tmp = explode("=", $str);
$style = preg_replace("/\{SETSTYLE=(.*?)\}/si", "\\1", $str);
}
else if(strstr($str, "SITEDISCLAIMER"))
{
echo "[Sitedisclaimer]";
}
<div class='content'>";
echo $this->menuRenderMenu($row, $menu_count);
echo "\n</div></div>";
echo "\n\n\n<!-- Menu end -->\n\n\n";
echo "<div><br /></div>";
}
echo $rs->form_close();
}
echo "</div>";
if(isset($sc_style['MENU']['post']) && strpos($str, 'ret') !== false)
{
echo $sc_style['MENU']['post'];
}
}
}
}
else if(strstr($str, "SETSTYLE"))
{
$tmp = explode("=", $str);
$style = preg_replace("/\{SETSTYLE=(.*?)\}/si", "\\1", $str);
}
else if(strstr($str, "SITEDISCLAIMER"))
{
echo "[Sitedisclaimer]";
}
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
@ -1060,7 +1060,7 @@ class e_menuManager {
$conf = '';
if (file_exists(e_PLUGIN.$menu_path.$menu_name.'_menu_config.php'))
{
$conf = $menu_path.$menu_name.'_menu_config.php';
$conf = $menu_path.$menu_name.'_menu_config';
}
if($conf == '' && file_exists(e_PLUGIN."{$menu_path}config.php"))
@ -1187,7 +1187,6 @@ class e_menuManager {
}
function menuSetConfigList()
{
global $sql,$pref;
@ -1226,13 +1225,5 @@ class e_menuManager {
$pref['menuconfig_list'] = $tmp;
save_prefs();
}
} // end of Class.
?>
} // end of Class.

View File

@ -513,7 +513,8 @@ if (isset($_POST['register']))
}
// Work out data to be written to user audit trail
$signup_data = array('user_name', 'user_loginname', 'user_email', 'user_ip');
foreach (array() as $f)
// foreach (array() as $f)
foreach ($signup_data as $f)
{
$signup_data[$f] = $allData['data'][$f]; // Just copy across selected fields
}
@ -525,6 +526,13 @@ if (isset($_POST['register']))
}
$allData['data']['user_join'] = time();
// The user_class, user_perms, user_prefs, user_realm fields don't have default value,
// so we put apropriate ones, otherwise - broken DB Insert
$allData['data']['user_class'] = '';
$allData['data']['user_perms'] = '';
$allData['data']['user_prefs'] = '';
$allData['data']['user_realm'] = '';
// Actually write data to DB
validatorClass::addFieldTypes($userMethods->userVettingInfo,$allData);