From 92e90cd55fb146130d8c42c90e1416bdd7e3160a Mon Sep 17 00:00:00 2001 From: pioder Date: Thu, 25 Jun 2009 19:50:28 +0000 Subject: [PATCH] + Moved ACP link from footer to header + Added PMs limits + Replaced ACP frames to original DSF layout > Version 9.6.25 released. git-svn-id: https://svn.pioder.pl/uf-svn/uF@33 72ec579a-5ced-4fa4-82f3-afba5d98df2f --- admin/admin_script.php | 17 +++ admin/header.php | 2 +- admin/index.php | 10 +- admin/template/admin_script.tpl | 20 ++- admin/template/images/Thumbs.db | Bin 38912 -> 0 bytes admin/template/images/lng_Polish/Thumbs.db | Bin 39936 -> 0 bytes admin/template/images/wyzz/Thumbs.db | Bin 8192 -> 0 bytes admin/template/overall_header.tpl | 64 +++------- admin/template/skin.css | 1 + config.php | 2 +- eprofile.php | 8 -- forum.php | 15 --- groups.php | 30 ----- includes/admin/class_main.php | 3 +- includes/classes/class_pms.php | 16 +++ includes/misc_functions.php | 23 ++-- includes/pms/pms_folder.php | 13 +- includes/pms/pms_write.php | 35 +++++- index.php | 15 --- install1/uf_tables.sql | 12 +- lngs/Polish/admin.php | 2 + lngs/Polish/main.php | 23 +++- login.php | 2 - moderate.php | 15 --- posting.php | 8 -- register.php | 117 ++++++++++-------- skins/subPurple/overall_footer.tpl | 1 - skins/subPurple/overall_header.tpl | 21 ++-- .../{msgs_is_body.tpl => pms_folder_body.tpl} | 13 +- ...s_end_body.tpl => pms_folder_end_body.tpl} | 0 ...item_body.tpl => pms_folder_item_body.tpl} | 0 .../{msgs_new_body.tpl => pms_new_body.tpl} | 1 + warns.php | 8 -- 33 files changed, 242 insertions(+), 255 deletions(-) delete mode 100644 admin/template/images/Thumbs.db delete mode 100644 admin/template/images/lng_Polish/Thumbs.db delete mode 100644 admin/template/images/wyzz/Thumbs.db rename skins/subPurple/{msgs_is_body.tpl => pms_folder_body.tpl} (82%) rename skins/subPurple/{msgs_is_end_body.tpl => pms_folder_end_body.tpl} (100%) rename skins/subPurple/{msgs_is_item_body.tpl => pms_folder_item_body.tpl} (100%) rename skins/subPurple/{msgs_new_body.tpl => pms_new_body.tpl} (95%) diff --git a/admin/admin_script.php b/admin/admin_script.php index 7da8154..c1e0f36 100644 --- a/admin/admin_script.php +++ b/admin/admin_script.php @@ -289,6 +289,14 @@ if (isset($_POST['forum_path'])) /* shoutbox_max_msgs */ $name[] = 'shoutbox_max'; $value[] = (!is_numeric($_POST['shoutbox_limit'])) ? '50' : $_POST['shoutbox_limit']; + + /* pm inbox max */ + $name[] = 'pm_inbox_max'; + $value[] = (!is_numeric($_POST['pm_inbox_max'])) ? '10' : $_POST['pm_inbox_max']; + + /* pm sentbox max */ + $name[] = 'pm_sentbox_max'; + $value[] = (!is_numeric($_POST['pm_sentbox_max'])) ? '10' : $_POST['pm_sentbox_max']; $count_o = count($name); for($i=0;$i<$count_o;$i++) @@ -368,6 +376,15 @@ $skin = array( 'L.shoutbox_limit'=>$lng['shoutbox_max_view'], 'OPTION.shoutbox_limit'=>$forum_config['shoutbox_max'], + +/* pm sentbox max */ +'L.pm_sentbox_max'=>$lng['pm_sentbox_max'], +'OPTION.pm_sentbox_max'=>$forum_config['pm_sentbox_max'], + +/* pm inbox max */ +'L.pm_inbox_max'=>$lng['pm_inbox_max'], +'OPTION.pm_inbox_max'=>$forum_config['pm_inbox_max'], + /* color mod */ 'L.color_mod'=>$lng['color_mod'], 'OPTION.color_mod' => $forum_config['color_mod'], diff --git a/admin/header.php b/admin/header.php index 6a2c1a9..09632a9 100644 --- a/admin/header.php +++ b/admin/header.php @@ -27,7 +27,7 @@ if (User::UserInformation($_SESSION['uid'],'rank')!=2) admin_message_forum($lng['yournotadmin'],'../index.php'); } $skin = array( - 'uf_pa'=>$lng['uf_pa_nav'], + 'uf_pa'=>$lng['uf_pa'], 'index'=>$lng['index'], 'gotoforum'=>$lng['go_to_forum'], 'scriptstat'=>$lng['scriptstat'], diff --git a/admin/index.php b/admin/index.php index 3b07626..e3e358e 100644 --- a/admin/index.php +++ b/admin/index.php @@ -29,13 +29,13 @@ if (User::UserInformation($_SESSION['uid'],'rank')!=2) { admin_message_forum($lng['yournotadmin'],'../index.php'); } -/*echo ' +echo ' -DSF Administration +µForum ACP @@ -45,8 +45,8 @@ if (User::UserInformation($_SESSION['uid'],'rank')!=2) Sorry, you browser doesn\'t support frames. -';*/ -echo ' +'; +/*echo ' @@ -62,5 +62,5 @@ echo ' Sorry, you browser doesn\'t support frames. -'; +';*/ ?> diff --git a/admin/template/admin_script.tpl b/admin/template/admin_script.tpl index 538afd5..8ca376e 100644 --- a/admin/template/admin_script.tpl +++ b/admin/template/admin_script.tpl @@ -153,7 +153,7 @@ - + :   @@ -162,6 +162,24 @@ + + + + :   + + + + + + + + + :   + + + + +   diff --git a/admin/template/images/Thumbs.db b/admin/template/images/Thumbs.db deleted file mode 100644 index b72e01ee667cb2e6069e6ece9d0b1a8dd245c136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38912 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 -DSF Administration +µF Administration
-
-
+
+
-
+
- - - - - - - - - - - - - - - - - - - -
- =><= -
- -
- -
- + »« • + • + • + • + • + • + +
- -
- -
- -
- -
- -
- -
- -
- + • + • + • + • + +
diff --git a/admin/template/skin.css b/admin/template/skin.css index f2e11ab..eb3a549 100644 --- a/admin/template/skin.css +++ b/admin/template/skin.css @@ -17,6 +17,7 @@ a:hover background-color: #C6D1FB; text-align: center; background-image: url('images/td_beam.jpg'); + text-decoration: none; } /* body class */ diff --git a/config.php b/config.php index 6ab0c56..bef62b5 100644 --- a/config.php +++ b/config.php @@ -13,6 +13,6 @@ define('DB_USER','root'); define('DB_PASS',''); define('DB_NAME','uf'); define('DB_PREFIX','uf_'); -define('VERSION','9.5.31'); +define('VERSION','9.6.25'); define('UF_INSTALLED',true); ?> diff --git a/eprofile.php b/eprofile.php index 48b2130..6a8ee83 100644 --- a/eprofile.php +++ b/eprofile.php @@ -278,14 +278,6 @@ if ($msg=='') //do it! include('./skins/'.$default_skin.'/overall_header.tpl'); include('./skins/'.$default_skin.'/eprofile_body.tpl'); -if(RANK=='2') -{ - $skin['pa_link']=''.$lng['pa_link'].''; -} -else -{ - $skin['pa_link']=''; -} $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); include('./skins/'.$default_skin.'/overall_footer.tpl'); diff --git a/forum.php b/forum.php index e9723ee..fc261c1 100644 --- a/forum.php +++ b/forum.php @@ -90,21 +90,6 @@ $skin = array_push_assoc($skin, array( onMouseOut="this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/topic.gif\'" border="0" alt="reply">' )); include('./skins/'.$default_skin.'/forum_end_body.tpl'); -if ($_SESSION['uid']>0) -{ - if(RANK=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } -} -else -{ - $skin['pa_link']=''; -} $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); include('./skins/'.$default_skin.'/overall_footer.tpl'); diff --git a/groups.php b/groups.php index ad0c810..0fc3d29 100644 --- a/groups.php +++ b/groups.php @@ -131,21 +131,6 @@ if(isset($_GET['mode'])) { echo '

'.$lng['no_elements'].'!

'; } - if ($_SESSION['uid']>0) - { - if(RANK=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } - } - else - { - $skin['pa_link']=''; - } echo ''; $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); @@ -198,21 +183,6 @@ else echo '

'.$lng['no_groups'].'!

'; } - if ($_SESSION['uid']>0) - { - if(RANK=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } - } - else - { - $skin['pa_link']=''; - } $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); include('./skins/'.$default_skin.'/overall_footer.tpl'); diff --git a/includes/admin/class_main.php b/includes/admin/class_main.php index 6411686..d92cbe9 100644 --- a/includes/admin/class_main.php +++ b/includes/admin/class_main.php @@ -153,8 +153,7 @@ class Admin_Over DSF Administration - -
'.$lng['uf_pa'].'
'; + '; } } ?> diff --git a/includes/classes/class_pms.php b/includes/classes/class_pms.php index b79b7f8..0ce7712 100644 --- a/includes/classes/class_pms.php +++ b/includes/classes/class_pms.php @@ -13,6 +13,22 @@ if ( !defined('IN_uF') ) } class Pms { + function PMCnt($uid = -1) + { + $uid = ($uid==-1) ? $_SESSION['uid'] : $uid; + //private messages in inbox + $sql = "SELECT COUNT(*) AS `cnt` FROM `".PM_INBOX_TABLE."` WHERE `u_id`='".$uid."'"; + $result = DataBase::sql_query($sql, GENERAL, 'Could not obtain count of pms in inbox'); + $row = DataBase::fetch($result); + + //private messages in sentbox + $sql = "SELECT COUNT(*) AS `cnt` FROM `".PM_SENTBOX_TABLE."` WHERE `u_id`='".$uid."'"; + $result = DataBase::sql_query($sql, GENERAL, 'Could not obtain count of pms in sentbox'); + $row2 = DataBase::fetch($result); + + return array($row['cnt'], $row2['cnt']); + } + function UserName($uid) { global $user; diff --git a/includes/misc_functions.php b/includes/misc_functions.php index b2c35ca..4f30e32 100644 --- a/includes/misc_functions.php +++ b/includes/misc_functions.php @@ -33,21 +33,22 @@ function GenerateHeader($title, $navigator) global $lng; global $forum_config; $skin = array( - 'forumname' => $forum_config['forumname'], - 'forumdesc' => $forum_config['forumdesc'], - 'users' => $lng['lusers'], - 'pm' => $lng['lpm'], - 'register' => $lng['lregister'], - 'search' => $lng['lsearch'], - 'eprofile' => $lng['leprofile'], - 'groups' => $lng['lgroups'], + 'L.forumname' => $forum_config['forumname'], + 'L.forumdesc' => $forum_config['forumdesc'], + 'L.users' => $lng['lusers'], + 'L.pm' => $lng['lpm'], + 'L.register' => $lng['lregister'], + 'L.search' => $lng['lsearch'], + 'L.eprofile' => $lng['leprofile'], + 'L.groups' => $lng['lgroups'], 'keywords' => $forum_config['meta_keywords'], 'description' => $forum_config['meta_description'], 'mainpage' => $title, - 'lmainpage' => $navigator, - 'lactual_time'=>$lng['lactualtime'], + 'L.mainpage' => $navigator, + 'L.actual_time'=>$lng['lactualtime'], 'modelogin' => ($_SESSION['uid']>0) ? 'logout' : 'login', - 'llogin' => ($_SESSION['uid']>0) ? $lng['lunlogin'] : $lng['llogin'] + 'L.login' => ($_SESSION['uid']>0) ? $lng['lunlogin'] : $lng['llogin'], + 'L.pa_link' => $lng['pa_link'] ); return $skin; diff --git a/includes/pms/pms_folder.php b/includes/pms/pms_folder.php index abd4d06..5c0d8d1 100644 --- a/includes/pms/pms_folder.php +++ b/includes/pms/pms_folder.php @@ -3,6 +3,7 @@ // //private messsages cache - v1.0 Alpha 2 // +$cnt = Pms::PMCnt(); // 0 - inbox; 1 - sentbox $sql = "SELECT `u_id`,`nick`,`rank` FROM `".USERS_TABLE."`"; $query = DataBase::sql_query($sql,GENERAL,'Could not obtain forums information'); $user['count']= DataBase::num_rows($query); @@ -20,13 +21,17 @@ $skin = array( 'lang'=>DefaultLang(), 'lname'=>$lng['message_name'], 'lauthor'=>$lng['user'], -'lmdate'=>$lng['date'] +'lmdate'=>$lng['date'], +'lmessages_in_box'=>$lng['messages_in_box'], +'msg_count'=>($_GET['submode']=='inbox') ? $cnt[0] : $cnt[1], +'msg_max'=>($_GET['submode']=='inbox') ? $forum_config['pm_inbox_max'] : $forum_config['pm_sentbox_max'], +'msg_per'=>($_GET['submode']=='inbox') ? round(($cnt[0]/$forum_config['pm_inbox_max'])*100,1) : round(($cnt[1]/$forum_config['pm_sentbox_max'])*100,1) ); $skin = array_push_assoc($skin,GenerateHeader($lng['lpm'].': '.(($_GET['submode']=='sentbox') ? $lng['sentbox'] : $lng['inbox']), ' > '.$lng['lpm'].' > '.$folder)); //do it! include('./skins/'.$default_skin.'/overall_header.tpl'); -include('./skins/'.$default_skin.'/msgs_is_body.tpl'); +include('./skins/'.$default_skin.'/pms_folder_body.tpl'); $uid = $_SESSION['uid']; if (!isset($_GET['submode'])) @@ -72,12 +77,12 @@ else 'mode'=> ($_GET['submode']=='inbox') ? 'user' : 'author' ); - include('./skins/'.$default_skin.'/msgs_is_item_body.tpl'); + include('./skins/'.$default_skin.'/pms_folder_item_body.tpl'); } $skin['nomsgs'] = ''; } //do it! -include('./skins/'.$default_skin.'/msgs_is_end_body.tpl'); +include('./skins/'.$default_skin.'/pms_folder_end_body.tpl'); if(RANK=='2') { $skin['pa_link']=''.$lng['pa_link'].''; diff --git a/includes/pms/pms_write.php b/includes/pms/pms_write.php index 1e64007..21c6633 100644 --- a/includes/pms/pms_write.php +++ b/includes/pms/pms_write.php @@ -11,10 +11,31 @@ if ((isset($_POST['textedit'])) and (isset($_POST['nmsg'])) and (isset($_POST['u $result = DataBase::fetch(DataBase::sql_query($sql, CRITICAL,'Could not obtain user information.')); if ($result['u_id']!='') { - $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); - $_POST['nmsg'] = strip_tags($_POST['nmsg']); - Pms::SendMessage($_POST['textedit'],$_POST['nmsg'], $_POST['username']); - message_forum($lng['post_is_saved'],'pms.php'); + $cntu = Pms::PMCnt($result['u_id']); + if ($cntu[0] < $forum_config['pm_inbox_max']) + { + //antiflood lock + if (isset($_COOKIE['antiflood_time'])) + { + if ($_COOKIE['antiflood_time']>time()) + { + message_forum($lng['antiflood_enabled'],$_SERVER['REQUEST_URI']); + } + } + else + { + setcookie('antiflood_time',(time() + $forum_config['time_antiflood'])); + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + $_POST['nmsg'] = strip_tags($_POST['nmsg']); + Pms::SendMessage($_POST['textedit'],$_POST['nmsg'], $_POST['username']); + message_forum($lng['post_is_saved'],'pms.php'); + } + } + else + { + $message = $lng['pm_inbox_full']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } } else { @@ -42,6 +63,7 @@ else $_POST['nmsg']=''; $_POST['textedit']=''; } +$cnt = Pms::PMCnt(); //add skin variables $skin = array( 'smiles'=>Post::SmilesShow(), @@ -53,7 +75,8 @@ $skin = array( 'lsave'=>$lng['save'], 'lreset'=>$lng['reset'], 'lwritemsg'=>$lng['write_pm'], -'action'=>$_SERVER['REQUEST_URI'] +'action'=>$_SERVER['REQUEST_URI'], +'lsentbox_full'=>($cnt[1]==$forum_config['pm_sentbox_max']) ? $lng['pm_sentbox_full'] : '' ); $skin = array_push_assoc($skin, GenerateHeader($lng['lpm'].': '.$lng['write_pm'], '>'.$lng['lpm'].' > '.$lng['write_pm'])); @@ -65,7 +88,7 @@ if ($msg=='') //do it! include('./skins/'.$default_skin.'/overall_header.tpl'); -include('./skins/'.$default_skin.'/msgs_new_body.tpl'); +include('./skins/'.$default_skin.'/pms_new_body.tpl'); if(RANK=='2') { diff --git a/index.php b/index.php index de1aa79..2fba2d6 100644 --- a/index.php +++ b/index.php @@ -122,21 +122,6 @@ else } } -if ($_SESSION['uid']>0) -{ - if(RANK=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } -} -else -{ - $skin['pa_link']=''; -} $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); include('./skins/'.$default_skin.'/overall_footer.tpl'); diff --git a/install1/uf_tables.sql b/install1/uf_tables.sql index 407e867..01774f9 100644 --- a/install1/uf_tables.sql +++ b/install1/uf_tables.sql @@ -104,7 +104,9 @@ INSERT INTO `uf_config` VALUES ('sig_len', '300'); INSERT INTO `uf_config` VALUES ('time_antiflood', '30'); INSERT INTO `uf_config` VALUES ('tables_width', '900'); INSERT INTO `uf_config` VALUES ('newpasswd_len', '6'); - +INSERT INTO `uf_config` VALUES ('posts', '1'); +INSERT INTO `uf_config` VALUES ('pm_inbox_max', '10'); +INSERT INTO `uf_config` VALUES ('pm_sentbox_max', '10'); #---------------------------------------------------- @@ -118,6 +120,8 @@ CREATE TABLE `uf_forums` ( `moderate` int(11) NOT NULL default '0', `name` varchar(30) NOT NULL default '', `desc` text NOT NULL, + `posts` mediumint(8) NOT NULL, + `lastpost` varchar(255) NOT NULL, `c_id` int(8) NOT NULL default '0', `sort` mediumint(8) NOT NULL default '0', PRIMARY KEY (`f_id`) @@ -126,7 +130,7 @@ CREATE TABLE `uf_forums` ( #- #- Table structure for `uf_forums` #- -INSERT INTO `uf_forums` VALUES (1, 0, 0, 'Testowe Forum', 'Pierwsze testowe forum skryptu Dynamic Script Forum.', 1, 1); +INSERT INTO `uf_forums` VALUES (1, 0, 0, 'Testowe Forum', 'Pierwsze testowe forum skryptu Dynamic Script Forum.', 1, '1:1:1:1181666444:2:Admin', 1, 1); #---------------------------------------------------- @@ -311,6 +315,8 @@ CREATE TABLE `uf_topics` ( `name` varchar(100) NOT NULL default '', `author` mediumint(8) NOT NULL default '0', `lastpost_time` int(1) NOT NULL, + `posts` mediumint(8) NOT NULL, + `lastpost` varchar(255) NOT NULL, PRIMARY KEY (`t_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; @@ -318,7 +324,7 @@ CREATE TABLE `uf_topics` ( #- Table structure for `uf_topics` #- -INSERT INTO `uf_topics` VALUES (1, 1, 0, 0, 'Witamy na forum uf', 1,0); +INSERT INTO `uf_topics` VALUES (1, 1, 0, 0, 'Witamy na forum uf', 1, 0, 2, '1:1:0:2:Admin'); #---------------------------------------------------- diff --git a/lngs/Polish/admin.php b/lngs/Polish/admin.php index 6c4d2ca..1ffa3cc 100644 --- a/lngs/Polish/admin.php +++ b/lngs/Polish/admin.php @@ -145,6 +145,8 @@ $lng['shoutbox_time_clear']='Maksymalny czas (w sek.) wiadomoÅ›ci'; $lng['shoutbox_max_view']='Maksymalna ilość pokazywanych wiadomoÅ›ci'; $lng['allow_shoutbox']='WÅ‚Ä…cz ShoutBox'; //|| other---------------------- +$lng['pm_inbox_max']='Makasymalna ilość odebranych PW przechowywanych w skrzynce'; +$lng['pm_sentbox_max']='Maksymalna ilość wysÅ‚anych PW przechowywanych w skrzynce'; $lng['sig_len']='DÅ‚ugość podpisu'; $lng['color_mod']='Kolor Moderatora'; $lng['color_admin']='Kolor Administratora'; diff --git a/lngs/Polish/main.php b/lngs/Polish/main.php index 92edf84..d2a0785 100644 --- a/lngs/Polish/main.php +++ b/lngs/Polish/main.php @@ -77,9 +77,6 @@ $lng['default_skin']='DomyÅ›lny styl'; $lng['lurank']='Poziom'; $lng['showprofile']='Pokaż Profil'; $lng['avatar']='Avatar'; -$lng['luregister']='Zarejestrowany'; -$lng['lulastvisit']='Ostatnia wizyta'; -$lng['luinterests']='Zainteresowania'; $lng['user_name']='Nazwa użytkownika'; $lng['profile_settings']='Ustawienia profilu'; $lng['general_settings']='Ustawienia ogólne'; @@ -100,10 +97,20 @@ $lng['lastpost']='Ostatni post'; $lng['contact']='Kontakt'; $lng['lurank2']='Ranga'; $lng['lmod']='Moderacja'; -$lng['addusrtogrp']='Dodaj użytkownika(nick)'; -$lng['delusrforgrp']='UsuÅ„ z grupy(nick)'; + $lng['empty_password']='HasÅ‚o jest puste!'; +$lng['empty_nick']='Nie podano nicku!'; $lng['key_not_valid']='NieprawidÅ‚owy wynik dodawania!'; + +// +//on groups... -------------------------------------------------------- +// +$lng['addusrtogrp']='Dodaj użytkownika(nick)'; +$lng['delusrforgrp']='UsuÅ„ z grupy(nick)'; +$lng['luregister']='Zarejestrowany'; +$lng['lulastvisit']='Ostatnia wizyta'; +$lng['luinterests']='Zainteresowania'; + // //moderate... ------------------------------------------------------- // @@ -113,6 +120,8 @@ $lng['admin_mod_administration']='Pole Admina/Mod\'a'; // //other...------------------------------------------------------------ // + +$lng['messages_in_box']='WiadomoÅ›ci w folderze'; $lng['admins']='Administratorzy'; $lng['admins_desc']='Globalni administratorzy tego forum'; $lng['mods']='Moderatorzy'; @@ -139,7 +148,7 @@ $lng['no.']='nr'; $lng['desc']='RosnÄ…co'; $lng['script_generated']='Skrypt zostaÅ‚ wykonany w '; $lng['no']='Nie'; -$lng['pa_link']='Administruj forum'; +$lng['pa_link']='Administracja'; $lng['select_forum']='Wybierz forum'; $lng['empty']='Brak'; $lng['sticky']='Przyklejony: '; @@ -147,6 +156,8 @@ $lng['visible_of_post']='Kliknij tutaj, aby zatwierdzić post'; $lng['post_moderated']='Ten post nie zostaÅ‚ jeszcze zatwierdzony u moderatora'; $lng['moderated_post_text']='Treść nie zatwierdzonego postu'; $lng['post'] = 'Post'; +$lng['pm_sentbox_full']='Twoja skrzynka elementów wysÅ‚anych jest peÅ‚na - wiadomość nie zostanie zapisana.'; +$lng['pm_inbox_full']='Wiadomość nie zostanie dostarczona do adresata, gdyż jego skrzynka jest peÅ‚na. Przepraszamy.'; // //on private messages.....-------------------------------------------- // diff --git a/login.php b/login.php index 995bf96..1d3b9b9 100644 --- a/login.php +++ b/login.php @@ -93,7 +93,6 @@ if (isset($_GET['mode'])) $sql = "UPDATE `".USERS_TABLE."` SET lastvisit='".time()."' WHERE u_id='$user_id'";//update lastvisit for user DataBase::sql_query($sql,GENERAL,'Could not update user lastvisit');//run query $msg = $lng['youareloggedas'].': '.$nick.'';// messaage "login as.." - $skin['pa_link']=''; $stop = TimeGeneration();//generate generation's time message_forum($msg, 'index.php');//message and require to index.php } @@ -128,7 +127,6 @@ if (isset($_GET['mode'])) $skin = array_push_assoc($skin, GenerateHeader($lng['llogin'],'> '.$lng['llogin'])); include('./skins/'.$default_skin.'/overall_header.tpl'); include('./skins/'.$default_skin.'/login_body.tpl'); - $skin['pa_link']=''; $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); include('./skins/'.$default_skin.'/overall_footer.tpl'); diff --git a/moderate.php b/moderate.php index f9d1ca9..100ba67 100644 --- a/moderate.php +++ b/moderate.php @@ -132,21 +132,6 @@ switch(trim($_GET['action'])) $skin = array_push_assoc($skin, GenerateHeader($lng['move_topic'].': '.Topic::TopicInformation($tid,'name'),'' .$lng['move_topic'].': ' .Topic::TopicInformation($tid,'name'))); - if ($_SESSION['uid']>0) - { - if(RANK=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } - } - else - { - $skin['pa_link']=''; - } $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); //do it! diff --git a/posting.php b/posting.php index b9e241c..5e4abbd 100644 --- a/posting.php +++ b/posting.php @@ -42,14 +42,6 @@ $skin = array(); $skin = array_push_assoc($skin, GenerateHeader('','')); $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); -if(RANK=='2') -{ - $skin['pa_link']=''.$lng['pa_link'].''; -} -else -{ - $skin['pa_link']=''; -} if (isset($_POST['textedit'])) { diff --git a/register.php b/register.php index 0c5105b..d3c66e3 100644 --- a/register.php +++ b/register.php @@ -45,70 +45,83 @@ foreach ($_POST as $name => $value) $_POST[$name] = Secure::UseCensorlist($value); } } +$errors = false; + if (isset($_POST['email'])) { -if ( ereg ("^.+@.+\..+$", $_POST['email'])) -{ $nick = $_POST['nick']; - if ($nick!='') + if (!ereg ("^.+@.+\..+$", $_POST['email'])) { - $sql = "SELECT * FROM `".USERS_TABLE."` WHERE `nick`='$nick'"; + $errors = true; + $message = $lng['invalid_email']; + } + + if (trim($_POST['nick'])=='') + { + $errors = true; + $message = $lng['empty_nick']; + } + + if ($_POST['password']=='') + { + $errors = true; + $message = $lng['empty_password']; + } + + if ($_POST['confirmpassword']=='') + { + $errors = true; + $message = $lng['empty_password']; + } + + if ($_POST['valid_match']!=$_POST['valid_key']) + { + $errors = true; + $message = $lng['key_not_valid']; + } + + if ($_POST['password']!=$_POST['confirmpassword']) + { + $errors = true; + $message=$lng['incorrect_password2']; + } + + if (!$errors) + { + $nick = addslashes(strip_tags($_POST['nick'])); + $sql = "SELECT `nick` FROM `".USERS_TABLE."` WHERE `nick`='$nick'"; $query = DataBase::sql_query($sql,GENERAL,'Could not obtain user information.'); $result = DataBase::fetch($query); - $result = $result['nick']; - if ($result!=$nick) + + if ($nick == $result['nick']) { - if ($_POST['password']!='') - { - if ($_POST['password']==$_POST['confirmpassword']) - { - if ($_POST['valid_match']==$_POST['valid_key']) - { - $_POST['nick']= addslashes(strip_tags($_POST['nick'])); - $original_pass = $_POST['password']; - $_POST['password']=md5($_POST['password']); - User::CreateProfile($_POST['nick'],$_POST['password'], $_POST['email'],0,1,0,1,'','',''); - $stop = TimeGeneration(); - if ($forum_config['allow_send_email']) - { - SendRegisterEmail(); - } - message_forum($lng['account_created'],'index.php'); - } - else - { - $message = $lng['key_not_valid']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; - } - } - else - { - $message=$lng['incorrect_password2']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; - } - } - else - { - $message=$lng['empty_password']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; - } - } - else + $errors = true; + $message = $lng['user_is_exist']; + } + } + + + if (!$errors) + { + $_POST['nick']= addslashes(strip_tags($_POST['nick'])); + $original_pass = addslashes($_POST['password']); + $_POST['password']=md5($_POST['password']); + + User::CreateProfile($_POST['nick'],$_POST['password'], $_POST['email'],0,1,0,1,'','',''); + + $stop = TimeGeneration(); + + if ($forum_config['allow_send_email']) { - $message=$lng['user_is_exist']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + SendRegisterEmail(); } + + message_forum($lng['account_created'],'index.php'); } else { - $message=$lng['empty_email']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; } -} -else -{ - $message=$lng['invalid_email']; - $msg = './skins/'.$default_skin.'/post_error_body.tpl'; -} + } else { diff --git a/skins/subPurple/overall_footer.tpl b/skins/subPurple/overall_footer.tpl index a9e7314..e9bb784 100644 --- a/skins/subPurple/overall_footer.tpl +++ b/skins/subPurple/overall_footer.tpl @@ -8,7 +8,6 @@   -

diff --git a/skins/subPurple/overall_header.tpl b/skins/subPurple/overall_header.tpl index 699b2a2..900c3dd 100644 --- a/skins/subPurple/overall_header.tpl +++ b/skins/subPurple/overall_header.tpl @@ -6,7 +6,7 @@ -<? echo $skin['forumname']; ?> • <? echo $skin['mainpage']; ?> +<? echo $skin['L.forumname']; ?> • <? echo $skin['mainpage']; ?> + diff --git a/warns.php b/warns.php index d8f782e..2bf828a 100644 --- a/warns.php +++ b/warns.php @@ -177,14 +177,6 @@ switch(trim($_GET['mode'])) { $skin['no_elements']='

'.$lng['no_elements'].'!

'; } - if($user_rank=='2') - { - $skin['pa_link']=''.$lng['pa_link'].''; - } - else - { - $skin['pa_link']=''; - } include('./skins/'.$default_skin.'/warns_view_end_body.tpl'); include('./skins/'.$default_skin.'/overall_footer.tpl'); break;