From d4cbbb1055e687e345c7cf00c69b94c206c2b69e Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 29 May 2003 14:29:59 +0000 Subject: [PATCH] added email queue + small changes (do not hit me for the mysql_basic change :D) git-svn-id: file:///svn/phpbb/trunk@4067 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/emailer.php | 194 +++++++++++++++++++++++++- phpBB/includes/functions_posting.php | 68 ++++----- phpBB/index.php | 10 +- phpBB/install/schemas/mysql_basic.sql | 7 +- 4 files changed, 237 insertions(+), 42 deletions(-) diff --git a/phpBB/includes/emailer.php b/phpBB/includes/emailer.php index a25735ca79..0f6a08d6de 100755 --- a/phpBB/includes/emailer.php +++ b/phpBB/includes/emailer.php @@ -24,11 +24,18 @@ class emailer var $msg, $subject, $extra_headers; var $to_addres, $cc_address, $bcc_address; var $reply_to, $from; + var $use_queue, $queue; var $tpl_msg = array(); - function emailer() + function emailer($use_queue = false) { + $this->use_queue = $use_queue; + if ($use_queue) + { + $this->queue = new Queue(); + $this->queue->init('emailer', 100); + } $this->reset(); } @@ -141,7 +148,7 @@ class emailer return false; } - // Escape all quotes, else the eval will fail. + // Escape all quotes, else the eval will fail. $this->msg = str_replace ("'", "\'", $this->msg); $this->msg = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $this->msg); @@ -202,7 +209,22 @@ class emailer $this->extra_headers = (($this->replyto !='') ? "Reply-to: <$this->replyto>\r\n" : '') . (($this->from != '') ? "From: <$this->from>\r\n" : "From: <" . $config['board_email'] . ">\r\n") . "Return-Path: <" . $config['board_email'] . ">\r\nMessage-ID: <" . md5(uniqid(time())) . "@" . $config['server_name'] . ">\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=" . $this->encoding . "\r\nContent-transfer-encoding: 8bit\r\nDate: " . gmdate('D, d M Y H:i:s Z', time()) . "\r\nX-Priority: 3\r\nX-MSMail-Priority: Normal\r\nX-Mailer: PHP\r\n" . (($cc != '') ? "Cc:$cc\r\n" : '') . (($bcc != '') ? "Bcc:$bcc\r\n" : '') . trim($this->extra_headers); // Send message ... removed $this->encode() from subject for time being - $result = ($config['smtp_delivery']) ? smtpmail($to, $this->subject, $this->msg, $this->extra_headers) : mail($to, $this->subject, preg_replace("#(?msg), $this->extra_headers); + if (!$this->use_queue) + { + $result = ($config['smtp_delivery']) ? smtpmail($to, $this->subject, $this->msg, $this->extra_headers) : mail($to, $this->subject, preg_replace("#(?msg), $this->extra_headers); + } + else + { + $this->queue->put('emailer', array( + 'smtp_delivery' => $config['smtp_delivery'], + 'to' => $to, + 'subject' => $this->subject, + 'msg' => $this->msg, + 'extra_headers' => $this->extra_headers) + ); + + $result = true; + } // Did it work? if (!$result) @@ -432,4 +454,170 @@ function smtpmail($mail_to, $subject, $message, $headers = '') return TRUE; } +// This class is for handling queues - to be placed into another file ? +// At the moment it is only handling the email queue +class Queue +{ + var $data = array(); + var $queue_data = array(); + var $package_size = 0; + var $cache_file = ''; + + function Queue() + { + global $phpEx, $phpbb_root_path; + + $this->data = array(); + $this->cache_file = $phpbb_root_path . 'cache/queue.' . $phpEx; + } + + //--TEMP + function queue_filled() + { + if (file_exists($this->cache_file)) + { + return true; + } + + return false; + } + + function init($object, $package_size) + { + $this->data[$object] = array(); + $this->data[$object]['package_size'] = $package_size; + $this->data[$object]['data'] = array(); + } + + function put($object, $scope) + { + $this->data[$object]['data'][] = $scope; + } + + //--TEMP + function show() + { + echo ";
";
+		print_r($this->data);
+		echo "
;"; + } + + function process() + { + global $_SERVER, $_ENV; + + if (file_exists($this->cache_file)) + { + include($this->cache_file); + } + + foreach ($this->queue_data as $object => $data_array) + { + $package_size = $data_array['package_size']; + + $num_items = (count($data_array['data']) < $package_size) ? count($data_array['data']) : $package_size; + + if ($object == 'emailer') + { + @set_time_limit(60); + } + + for ($i = 0; $i < $num_items; $i++) + { + foreach ($data_array['data'][0] as $var => $value) + { + $$var = $value; + } + + if ($object == 'emailer') + { + $result = ($smtp_delivery) ? smtpmail($to, $subject, $msg, $extra_headers) : mail($to, $subject, preg_replace("#(?EMAIL ERROR [ ' . (($smtp_delivery) ? 'SMTP' : 'PHP') . ' ]

' . $result . '

CALLING PAGE

' . ((!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']) . '
'; + trigger_error($message, E_USER_ERROR); + } + } + array_shift($this->queue_data[$object]['data']); + } + + if (count($this->queue_data[$object]['data']) == 0) + { + unset($this->queue_data[$object]); + } + } + + if (count($this->queue_data) == 0) + { + unlink($this->cache_file); + } + else + { + $file = 'queue_data=' . $this->format_array($this->queue_data) . '; ?>'; + + if ($fp = @fopen($this->cache_file, 'wb')) + { + @flock($fp, LOCK_EX); + fwrite($fp, $file); + @flock($fp, LOCK_UN); + fclose($fp); + } + } + } + + function save() + { + if (file_exists($this->cache_file)) + { + include($this->cache_file); + + foreach ($this->queue_data as $object => $data_array) + { + if (count($this->data[$object])) + { + $this->data[$object]['data'] = array_merge($data_array['data'], $this->data[$object]['data']); + } + } + } + + $file = 'queue_data=' . $this->format_array($this->data) . '; ?>'; + + if ($fp = @fopen($this->cache_file, 'wb')) + { + @flock($fp, LOCK_EX); + fwrite($fp, $file); + @flock($fp, LOCK_UN); + fclose($fp); + } + } + + // From acm_file.php + function format_array($array) + { + $lines = array(); + foreach ($array as $k => $v) + { + if (is_array($v)) + { + $lines[] = "'$k'=>" . $this->format_array($v); + } + elseif (is_int($v)) + { + $lines[] = "'$k'=>$v"; + } + elseif (is_bool($v)) + { + $lines[] = "'$k'=>" . (($v) ? 'TRUE' : 'FALSE'); + } + else + { + $lines[] = "'$k'=>'" . str_replace("'", "\'", str_replace('\\', '\\\\', $v)) . "'"; + } + } + return 'array(' . implode(',', $lines) . ')'; + } + +} + ?> \ No newline at end of file diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index b790d2831a..8e26cc00b3 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -1239,6 +1239,7 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) if ($ids != '') { + // TODO: Paul - correct call to check f_read for specific users ? $sql = "SELECT a.user_id FROM " . ACL_OPTIONS_TABLE . " ao, " . ACL_USERS_TABLE . " a WHERE a.user_id IN (" . $ids . ") @@ -1288,24 +1289,24 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) // if ($topic_notification) { - $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name - FROM " . TOPICS_WATCH_TABLE . " tw, " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . FORUMS_TABLE . " f - WHERE tw.topic_id = $topic_id - AND tw.user_id NOT IN ($sql_ignore_users) + $sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name + FROM ' . TOPICS_WATCH_TABLE . ' tw, ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u, ' . FORUMS_TABLE . ' f + WHERE tw.topic_id = ' . $topic_id . ' + AND tw.user_id NOT IN (' . $sql_ignore_users . ') AND tw.notify_status = 0 - AND f.forum_id = $forum_id + AND f.forum_id = ' . $forum_id . ' AND t.topic_id = tw.topic_id - AND u.user_id = tw.user_id"; + AND u.user_id = tw.user_id'; } else if ($newtopic_notification) { - $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, f.forum_name - FROM " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f - WHERE fw.forum_id = $forum_id - AND fw.user_id NOT IN ($sql_ignore_users) + $sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, f.forum_name + FROM ' . USERS_TABLE . ' u, ' . FORUMS_WATCH_TABLE . ' fw, ' . FORUMS_TABLE . ' f + WHERE fw.forum_id = ' . $forum_id . ' + AND fw.user_id NOT IN (' . $sql_ignore_users . ') AND fw.notify_status = 0 AND f.forum_id = fw.forum_id - AND u.user_id = fw.user_id"; + AND u.user_id = fw.user_id'; } else { @@ -1354,14 +1355,14 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) $already_notified = ($update_watched_sql_topic == '') ? '' : $update_watched_sql_topic . ', '; $already_notified .= ($update_watched_sql_forum == '') ? '' : $update_watched_sql_forum . ', '; - $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name - FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f - WHERE fw.forum_id = $forum_id - AND fw.user_id NOT IN ($already_notified $sql_ignore_users) + $sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name + FROM ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u, ' . FORUMS_WATCH_TABLE . ' fw, ' . FORUMS_TABLE . ' f + WHERE fw.forum_id = ' . $forum_id . ' + AND fw.user_id NOT IN (' . $already_notified . ' ' . $sql_ignore_users . ') AND fw.notify_status = 0 - AND t.topic_id = $topic_id + AND t.topic_id = ' . $topic_id . ' AND f.forum_id = fw.forum_id - AND u.user_id = fw.user_id"; + AND u.user_id = fw.user_id'; $result = $db->sql_query($sql); if ($row = $db->sql_fetchrow($result)) @@ -1382,9 +1383,8 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) } } - // We're going to try and minimise the number of emails we send by using bcc. - // The complication here is that different templates and/or localisations may - // be required so we need to account for these. + // We are using an email queue here, no emails are sent now, only queued. + // Returned to use the TO-Header, default package size is 100 (should be admin-definable) !? if (sizeof($email_users) && $config['email_enable']) { global $phpbb_root_path, $phpEx; @@ -1392,28 +1392,26 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) @set_time_limit(60); include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer(); + $emailer = new emailer(true); // use queue - $bcc_list_ary = array(); + $email_list_ary = array(); foreach ($email_users as $row) { - $pos = sizeof($bcc_list_ary[$row['email_template']][$row['user_lang']]); - $bcc_list_ary[$row['email_template']][$row['user_lang']][$pos]['email'] = $row['user_email']; - $bcc_list_ary[$row['email_template']][$row['user_lang']][$pos]['name'] = $row['username']; + $pos = sizeof($email_list_ary[$row['email_template']]); + $email_list_ary[$row['email_template']][$pos]['email'] = $row['user_email']; + $email_list_ary[$row['email_template']][$pos]['name'] = $row['username']; + $email_list_ary[$row['email_template']][$pos]['lang'] = $row['user_lang']; } unset($email_users); - foreach ($bcc_list_ary as $email_template => $bcc_list) + foreach ($email_list_ary as $email_template => $email_list) { - foreach ($bcc_list as $lang => $bcc) + foreach ($email_list as $addr) { - $emailer->template($email_template, $lang); + $emailer->template($email_template, $addr['lang']); $emailer->replyto($config['board_email']); - foreach ($bcc as $addr) - { - $emailer->bcc($addr['email'], $addr['name']); - } + $emailer->to($addr['email'], $addr['name']); $emailer->assign_vars(array( 'EMAIL_SIG' => str_replace('
', "\n", "-- \n" . $config['board_email_sig']), @@ -1431,9 +1429,11 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id) $emailer->reset(); } } + + $emailer->queue->save(); } - unset($bcc_list_ary); - + unset($email_list_ary); + if ($delete_users_topic != '') { $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " diff --git a/phpBB/index.php b/phpBB/index.php index 725ebaa563..6947b2d677 100644 --- a/phpBB/index.php +++ b/phpBB/index.php @@ -33,7 +33,6 @@ $user->start(); $user->setup(); $auth->acl($user->data); - // Handle marking posts if ($mark_read == 'forums') { @@ -48,6 +47,15 @@ if ($mark_read == 'forums') trigger_error($message); } +// Handle queue - to be placed into common.php ? I think to only check and process at the index is enough. ;) +// Do not initiate the object, we do not need to do this... +if (file_exists($phpbb_root_path . 'cache/queue.' . $phpEx)) +{ + include($phpbb_root_path . 'includes/emailer.'.$phpEx); + $queue = new Queue(); + $queue->process(); +} + // Set some stats, get posts count from forums data if we... hum... retrieve all forums data $total_posts = $config['num_posts']; $total_topics = $config['num_topics']; diff --git a/phpBB/install/schemas/mysql_basic.sql b/phpBB/install/schemas/mysql_basic.sql index 4e054d5b7c..ce7ab8974b 100644 --- a/phpBB/install/schemas/mysql_basic.sql +++ b/phpBB/install/schemas/mysql_basic.sql @@ -236,7 +236,7 @@ INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_search', 1); INSERT INTO phpbb_styles (style_id, template_id, theme_id, imageset_id, style_name) VALUES (1, 1, 1, 1, 'subSilver'); # -- phpbb_styles_imageset -INSERT INTO phpbb_styles_imageset (imageset_id, imageset_name, imageset_path, btn_post, btn_post_pm, btn_reply, btn_reply_pm, btn_locked, btn_profile, btn_pm, btn_delete, btn_ip, btn_quote, btn_search, btn_edit, btn_report, btn_email, btn_www, btn_icq, btn_aim, btn_yim, btn_msnm, btn_online, btn_offline, btn_topic_watch, btn_topic_unwatch, icon_unapproved, icon_reported, icon_attach, icon_post, icon_post_new, icon_post_latest, icon_post_newest, forum, forum_new, forum_locked, sub_forum, sub_forum_new, folder, folder_posted, folder_new, folder_new_posted, folder_hot, folder_hot_posted, folder_hot_new, folder_hot_new_posted, folder_locked, folder_locked_posted, folder_locked_new, folder_locked_new_posted, folder_sticky, folder_sticky_posted, folder_sticky_new, folder_sticky_new_posted, folder_announce, folder_announce_posted, folder_announce_new, folder_announce_new_posted, poll_left, poll_center, poll_right) VALUES (1, 'subSilver © phpBB Group', 'subSilver', '"imagesets/subSilver/{LANG}/btn_post.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_post_pm.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_reply.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/reply.gif" width="88" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_locked.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_profile.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_pm.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_delete.gif" width="16" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_ip.gif" width="16" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_quote.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_search.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_edit.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_report.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_email.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_www.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_icq.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_aim.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_yim.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_msnm.gif" width="59" height="18" border="0"', '', '', '', '', '', '', '"imagesets/subSilver/{LANG}/btn_online.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_offline.gif" width="59" height="18" border="0"', '', '', '"imagesets/subSilver/icon_unapproved.gif" width="19" height="18" border="0"', '"imagesets/subSilver/icon_reported.gif" width="19" height="18" border="0"', '"imagesets/subSilver/icon_attach.gif" width="14" height="18" border="0"', '"imagesets/subSilver/icon_minipost.gif" width="12" height="9" border="0"', '"imagesets/subSilver/icon_minipost_new.gif" width="12" height="9" border="0"', '"imagesets/subSilver/icon_latest_reply.gif" width="18" height="9" border="0"', '"imagesets/subSilver/icon_newest_reply.gif" width="18" height="9" border="0"', '"imagesets/subSilver/folder_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder_new_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder_locked_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/subfolder_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/subfolder_new_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_hot.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_hot_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_hot.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_hot_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/vote_lcap.gif" width="4" height="12" border="0"', '"imagesets/subSilver/voting_bar.gif" height="12" border="0"', '"imagesets/subSilver/vote_rcap.gif" width="4" height="12" border="0"'); +INSERT INTO phpbb_styles_imageset (imageset_id, imageset_name, imageset_path, btn_post, btn_post_pm, btn_reply, btn_reply_pm, btn_locked, btn_profile, btn_pm, btn_delete, btn_ip, btn_quote, btn_search, btn_edit, btn_report, btn_email, btn_www, btn_icq, btn_aim, btn_yim, btn_msnm, btn_online, btn_offline, btn_topic_watch, btn_topic_unwatch, icon_unapproved, icon_reported, icon_attach, icon_post, icon_post_new, icon_post_latest, icon_post_newest, forum, forum_new, forum_locked, sub_forum, sub_forum_new, folder, folder_posted, folder_new, folder_new_posted, folder_hot, folder_hot_posted, folder_hot_new, folder_hot_new_posted, folder_locked, folder_locked_posted, folder_locked_new, folder_locked_new_posted, folder_sticky, folder_sticky_posted, folder_sticky_new, folder_sticky_new_posted, folder_announce, folder_announce_posted, folder_announce_new, folder_announce_new_posted, poll_left, poll_center, poll_right) VALUES (1, 'subSilver © phpBB Group', 'subSilver', '"imagesets/subSilver/{LANG}/btn_post.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_post_pm.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_reply.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/reply.gif" width="88" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_locked.gif" width="82" height="25" border="0"', '"imagesets/subSilver/{LANG}/btn_profile.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_pm.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_delete.gif" width="16" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_ip.gif" width="16" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_quote.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_search.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_edit.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_report.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_email.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_www.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_icq.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_aim.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_yim.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_msnm.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_online.gif" width="59" height="18" border="0"', '"imagesets/subSilver/{LANG}/btn_offline.gif" width="59" height="18" border="0"', '', '', '"imagesets/subSilver/icon_unapproved.gif" width="19" height="18" border="0"', '"imagesets/subSilver/icon_reported.gif" width="19" height="18" border="0"', '"imagesets/subSilver/icon_attach.gif" width="14" height="18" border="0"', '"imagesets/subSilver/icon_minipost.gif" width="12" height="9" border="0"', '"imagesets/subSilver/icon_minipost_new.gif" width="12" height="9" border="0"', '"imagesets/subSilver/icon_latest_reply.gif" width="18" height="9" border="0"', '"imagesets/subSilver/icon_newest_reply.gif" width="18" height="9" border="0"', '"imagesets/subSilver/folder_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder_new_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder_locked_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/subfolder_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/subfolder_new_big.gif" width="46" height="25" border="0"', '"imagesets/subSilver/folder.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_hot.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_hot_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_hot.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_new_hot_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_lock_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_sticky_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_new.gif" width="19" height="18" border="0"', '"imagesets/subSilver/folder_announce_new_posted.gif" width="19" height="18" border="0"', '"imagesets/subSilver/vote_lcap.gif" width="4" height="12" border="0"', '"imagesets/subSilver/voting_bar.gif" height="12" border="0"', '"imagesets/subSilver/vote_rcap.gif" width="4" height="12" border="0"'); # -- phpbb_styles_template INSERT INTO phpbb_styles_template (template_id, template_name, template_path, poll_length, pm_box_length) VALUES (1, 'subSilver © phpBB Group', 'subSilver', 205, 175); @@ -256,11 +256,10 @@ INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, p # -- Users -INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES (1, 'Anonymous', 0, '', '', '', '', '', '', '', '', 0, '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, '', '', '', '', '', '', 0, 0); +INSERT INTO phpbb_users (user_id, user_founder, username, user_regdate, user_password, user_email, user_lang, user_style) VALUES (1, 0, 'Anonymous', 0, '', '', 'en', 1); # -- username: Admin password: admin (change this or remove it once everything is working!) -INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_popup_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active, user_founder) VALUES (2, 'Admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', '', '', '', '', '', '', 1, 1, '', '', '', 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, '', 'en', 0, 'd M Y h:i a', '', '', 0, 1, 1); - +INSERT INTO phpbb_users (user_id, user_founder, username, user_regdate, user_password, user_email, user_lang, user_style, user_rank) VALUES (2, 1, 'Admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1); # -- Ranks INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_special, rank_image) VALUES (1, 'Site Admin', -1, 1, NULL);