");
- $phpinfo_html = preg_replace("# ]*>([^<]+)<\/th>#", "$1 ", $phpinfo_html);
- $phpinfo_html = preg_replace("# ]*>([^<]+)<\/td>#", "$1 ", $phpinfo_html);
- $phpinfo_html = preg_split("#(]*>[^<]+<\/h2>)#", $phpinfo_html, -1, PREG_SPLIT_DELIM_CAPTURE);
- $modules = array();
-
- for($i=1; $i < count($phpinfo_html); $i++)
- {
- if(preg_match("#]*>([^<]+)<\/h2>#", $phpinfo_html[$i], $match))
- {
- $name = trim($match[1]);
- $tmp2 = explode("\n", $phpinfo_html[$i+1]);
- foreach($tmp2 as $one)
- {
- $pat = '([^<]+)<\/info>';
- $pat3 = "/$pat\s*$pat\s*$pat/";
- $pat2 = "/$pat\s*$pat/";
-
- // 3 columns
- if(preg_match($pat3, $one, $match))
- {
- $modules[$name][trim($match[1])] = array(trim($match[2]), trim($match[3]));
- }
- // 2 columns
- else if(preg_match($pat2, $one, $match))
- {
- $modules[$name][trim($match[1])] = trim($match[2]);
- }
- }
- }
- }
- return $modules;
-}
-
diff --git a/html/forums/inc/functions_task.php b/html/forums/inc/functions_task.php
deleted file mode 100644
index 17b0486..0000000
--- a/html/forums/inc/functions_task.php
+++ /dev/null
@@ -1,383 +0,0 @@
- 0)
- {
- $query = $db->simple_select("tasks", "*", "tid='{$tid}'");
- $task = $db->fetch_array($query);
- }
-
- // Run the next task due to be run
- else
- {
- $query = $db->simple_select("tasks", "*", "enabled=1 AND nextrun<='".TIME_NOW."'", array("order_by" => "nextrun", "order_dir" => "asc", "limit" => 1));
- $task = $db->fetch_array($query);
- }
-
- // No task? Return
- if(!$task['tid'])
- {
- $cache->update_tasks();
- return false;
- }
-
- // Is this task still running and locked less than 5 minutes ago? Well don't run it now - clearly it isn't broken!
- if($task['locked'] != 0 && $task['locked'] > TIME_NOW-300)
- {
- $cache->update_tasks();
- return false;
- }
- // Lock it! It' mine, all mine!
- else
- {
- $db->update_query("tasks", array("locked" => TIME_NOW), "tid='{$task['tid']}'");
- }
-
- // The task file does not exist
- if(!file_exists(MYBB_ROOT."inc/tasks/{$task['file']}.php"))
- {
- if($task['logging'] == 1)
- {
- add_task_log($task, $lang->missing_task);
- }
-
- // If task file does not exist, disable task and inform the administrator
- $updated_task = array(
- "enabled" => 0,
- "locked" => 0
- );
- $db->update_query("tasks", $updated_task, "tid='{$task['tid']}'");
-
- $subject = $lang->sprintf($lang->email_broken_task_subject, $mybb->settings['bbname']);
- $message = $lang->sprintf($lang->email_broken_task, $mybb->settings['bbname'], $mybb->settings['bburl'], $task['title']);
-
- my_mail($mybb->settings['adminemail'], $subject, $message, $mybb->settings['adminemail']);
-
- $cache->update_tasks();
- return false;
- }
- // Run the task
- else
- {
- // Update the nextrun time now, so if the task causes a fatal error, it doesn't get stuck first in the queue
- $nextrun = fetch_next_run($task);
- $db->update_query("tasks", array("nextrun" => $nextrun), "tid='{$task['tid']}'");
-
- include_once MYBB_ROOT."inc/tasks/{$task['file']}.php";
- $function = "task_{$task['file']}";
- if(function_exists($function))
- {
- $function($task);
- }
- }
-
- $updated_task = array(
- "lastrun" => TIME_NOW,
- "locked" => 0
- );
- $db->update_query("tasks", $updated_task, "tid='{$task['tid']}'");
-
- $cache->update_tasks();
-
- return true;
-}
-
-/**
- * Adds information to the scheduled task log.
- *
- * @param int $task The task array to create the log entry for
- * @param string $message The message to log
- */
-function add_task_log($task, $message)
-{
- global $db;
-
- if(!$task['logging'])
- {
- return;
- }
-
- $log_entry = array(
- "tid" => (int)$task['tid'],
- "dateline" => TIME_NOW,
- "data" => $db->escape_string($message)
- );
- $db->insert_query("tasklog", $log_entry);
-}
-
-/**
- * Generate the next run time for a particular task.
- *
- * @param array $task The task array as fetched from the database.
- * @return int The next run time as a UNIX timestamp
- */
-function fetch_next_run($task)
-{
- $time = TIME_NOW;
- $next_minute = $current_minute = date("i", $time);
- $next_hour = $current_hour = date("H", $time);
- $next_day = $current_day = date("d", $time);
- $next_weekday = $current_weekday = date("w", $time);
- $next_month = $current_month = date("m", $time);
- $next_year = $current_year = date("Y", $time);
- $reset_day = $reset_hour = $reset_month = $reset_year = 0;
-
- if($task['minute'] == "*")
- {
- ++$next_minute;
- if($next_minute > 59)
- {
- $reset_hour = 1;
- $next_minute = 0;
- }
- }
- else
- {
- if(build_next_run_bit($task['minute'], $current_minute) != false)
- {
- $next_minute = build_next_run_bit($task['minute'], $current_minute);
- }
- else
- {
- $next_minute = fetch_first_run_time($task['minute']);
- }
- if($next_minute <= $current_minute)
- {
- $reset_hour = 1;
- }
- }
-
- if($reset_hour || !run_time_exists($task['hour'], $current_hour))
- {
- if($task['hour'] == "*")
- {
- ++$next_hour;
- if($next_hour > 23)
- {
- $reset_day = 1;
- $next_hour = 0;
- }
- }
- else
- {
- if(build_next_run_bit($task['hour'], $current_hour) != false)
- {
- $next_hour = build_next_run_bit($task['hour'], $current_hour);
- }
- else
- {
- $next_hour = fetch_first_run_time($task['hour']);
- $reset_day = 1;
- }
- if($next_hour < $current_hour)
- {
- $reset_day = 1;
- }
- }
- $next_minute = fetch_first_run_time($task['minute']);
- }
-
- if($reset_day || ($task['weekday'] == "*" && !run_time_exists($task['day'], $current_day) || $task['day'] == "*" && !run_time_exists($task['weekday'], $current_weekday)))
- {
- if($task['weekday'] == "*")
- {
- if($task['day'] == "*")
- {
- ++$next_day;
- if($next_day > date("t", $time))
- {
- $reset_month = 1;
- $next_day = 1;
- }
- }
- else
- {
- if(build_next_run_bit($task['day'], $current_day) != false)
- {
- $next_day = build_next_run_bit($task['day'], $current_day);
- }
- else
- {
- $next_day = fetch_first_run_time($task['day']);
- $reset_month = 1;
- }
- if($next_day < $current_day)
- {
- $reset_month = 1;
- }
- }
- }
- else
- {
- if(build_next_run_bit($task['weekday'], $current_weekday) != false)
- {
- $next_weekday = build_next_run_bit($task['weekday'], $current_weekday);
- }
- else
- {
- $next_weekday = fetch_first_run_time($task['weekday']);
- }
- $next_day = $current_day + ($next_weekday-$current_weekday);
- if($next_day <= $current_day)
- {
- $next_day += 7;
- }
-
- if($next_day > date("t", $time))
- {
- $reset_month = 1;
- }
- }
- $next_minute = fetch_first_run_time($task['minute']);
- $next_hour = fetch_first_run_time($task['hour']);
- if($next_day == $current_day && $next_hour < $current_hour)
- {
- $reset_month = 1;
- }
- }
-
- if($reset_month || !run_time_exists($task['month'], $current_month))
- {
- if($task['month'] == "*")
- {
- $next_month++;
- if($next_month > 12)
- {
- $reset_year = 1;
- $next_month = 1;
- }
- }
- else
- {
- if(build_next_run_bit($task['month'], $current_month) != false)
- {
- $next_month = build_next_run_bit($task['month'], $current_month);
- }
- else
- {
- $next_month = fetch_first_run_time($task['month']);
- $reset_year = 1;
- }
- if($next_month < $current_month)
- {
- $reset_year = 1;
- }
- }
- $next_minute = fetch_first_run_time($task['minute']);
- $next_hour = fetch_first_run_time($task['hour']);
- if($task['weekday'] == "*")
- {
- $next_day = fetch_first_run_time($task['day']);
- if($next_day == 0) $next_day = 1;
- }
- else
- {
- $next_weekday = fetch_first_run_time($task['weekday']);
- $new_weekday = date("w", mktime($next_hour, $next_minute, 0, $next_month, 1, $next_year));
- $next_day = 1 + ($next_weekday-$new_weekday);
- if($next_weekday < $new_weekday)
- {
- $next_day += 7;
- }
- }
- if($next_month == $current_month && $next_day == $current_day && $next_hour < $current_hour)
- {
- $reset_year = 1;
- }
- }
-
- if($reset_year)
- {
- $next_year++;
- $next_minute = fetch_first_run_time($task['minute']);
- $next_hour = fetch_first_run_time($task['hour']);
- $next_month = fetch_first_run_time($task['month']);
- if($next_month == 0) $next_month = 1;
- if($task['weekday'] == "*")
- {
- $next_day = fetch_first_run_time($task['day']);
- if($next_day == 0) $next_day = 1;
- }
- else
- {
- $next_weekday = fetch_first_run_time($task['weekday']);
- $new_weekday = date("w", mktime($next_hour, $next_minute, 0, $next_month, 1, $next_year));
- $next_day = 1 + ($next_weekday-$new_weekday);
- if($next_weekday < $new_weekday)
- {
- $next_day += 7;
- }
- }
- }
- return mktime($next_hour, $next_minute, 0, $next_month, $next_day, $next_year);
-}
-
-/**
- * Builds the next run time bit for a particular item (day, hour, month etc). Used by fetch_next_run().
- *
- * @param string $data A string containing the run times for this particular item
- * @param int $bit The current value (be it current day etc)
- * @return int|bool The new or found value or boolean if nothing is found
- */
-function build_next_run_bit($data, $bit)
-{
- if($data == "*") return $bit;
- $data = explode(",", $data);
- foreach($data as $thing)
- {
- if($thing > $bit)
- {
- return $thing;
- }
- }
- return false;
-}
-
-/**
- * Fetches the fist run bit for a particular item (day, hour, month etc). Used by fetch_next_run().
- *
- * @param string $data A string containing the run times for this particular item
- * @return int The first run time
- */
-function fetch_first_run_time($data)
-{
- if($data == "*") return "0";
- $data = explode(",", $data);
- return $data[0];
-}
-
-/**
- * Checks if a specific run time exists for a particular item (day, hour, month etc). Used by fetch_next_run().
- *
- * @param string $data A string containing the run times for this particular item
- * @param int $bit The bit we're checking for
- * @return boolean True if it exists, false if it does not
- */
-function run_time_exists($data, $bit)
-{
- if($data == "*") return true;
- $data = explode(",", $data);
- if(in_array($bit, $data))
- {
- return true;
- }
- return false;
-}
diff --git a/html/forums/inc/functions_time.php b/html/forums/inc/functions_time.php
deleted file mode 100644
index 8dd618f..0000000
--- a/html/forums/inc/functions_time.php
+++ /dev/null
@@ -1,877 +0,0 @@
- 4 digit year conversion. The maximum is billions of years in the
-future, but this is a theoretical limit as the computation of that year
-would take too long with the current implementation of adodb_mktime().
-
-This library replaces native functions as follows:
-
-
- getdate() with adodb_getdate()
- date() with adodb_date()
- gmdate() with adodb_gmdate()
- mktime() with adodb_mktime()
- gmmktime() with adodb_gmmktime()
- strftime() with adodb_strftime()
- strftime() with adodb_gmstrftime()
-
-
-The parameters are identical, except that adodb_date() accepts a subset
-of date()'s field formats. Mktime() will convert from local time to GMT,
-and date() will convert from GMT to local time, but daylight savings is
-not handled currently.
-
-This library is independant of the rest of ADOdb, and can be used
-as standalone code.
-
-PERFORMANCE
-
-For high speed, this library uses the native date functions where
-possible, and only switches to PHP code when the dates fall outside
-the 32-bit signed integer range.
-
-GREGORIAN CORRECTION
-
-Pope Gregory shortened October of A.D. 1582 by ten days. Thursday,
-October 4, 1582 (Julian) was followed immediately by Friday, October 15,
-1582 (Gregorian).
-
-Since 0.06, we handle this correctly, so:
-
-adodb_mktime(0,0,0,10,15,1582) - adodb_mktime(0,0,0,10,4,1582)
- == 24 * 3600 (1 day)
-
-=============================================================================
-
-COPYRIGHT
-
-(c) 2003-2005 John Lim and released under BSD-style license except for code by
-jackbbs, which includes adodb_mktime, adodb_get_gmt_diff, adodb_is_leap_year
-and originally found at http://www.php.net/manual/en/function.mktime.php
-
-=============================================================================
-
-BUG REPORTS
-
-These should be posted to the ADOdb forums at
-
- http://phplens.com/lens/lensforum/topics.php?id=4
-
-=============================================================================
-*/
-
-
-/* Initialization */
-
-/*
- Version Number
-*/
-define('ADODB_DATE_VERSION', 0.33);
-
-$ADODB_DATETIME_CLASS = (PHP_VERSION >= 5.2);
-
-/*
- This code was originally for windows. But apparently this problem happens
- also with Linux, RH 7.3 and later!
-
- glibc-2.2.5-34 and greater has been changed to return -1 for dates <
- 1970. This used to work. The problem exists with RedHat 7.3 and 8.0
- echo (mktime(0, 0, 0, 1, 1, 1960)); // prints -1
-
- References:
- http://bugs.php.net/bug.php?id=20048&edit=2
- http://lists.debian.org/debian-glibc/2002/debian-glibc-200205/msg00010.html
-*/
-
-if (!defined('ADODB_ALLOW_NEGATIVE_TS')) define('ADODB_NO_NEGATIVE_TS',1);
-
-/**
- Returns day of week, 0 = Sunday,... 6=Saturday.
- Algorithm from PEAR::Date_Calc
-*/
-function adodb_dow($year, $month, $day)
-{
-/*
-Pope Gregory removed 10 days - October 5 to October 14 - from the year 1582 and
-proclaimed that from that time onwards 3 days would be dropped from the calendar
-every 400 years.
-
-Thursday, October 4, 1582 (Julian) was followed immediately by Friday, October 15, 1582 (Gregorian).
-*/
- if ($year <= 1582) {
- if ($year < 1582 ||
- ($year == 1582 && ($month < 10 || ($month == 10 && $day < 15)))) $greg_correction = 3;
- else
- $greg_correction = 0;
- } else
- $greg_correction = 0;
-
- if($month > 2)
- $month -= 2;
- else {
- $month += 10;
- $year--;
- }
-
- $day = floor((13 * $month - 1) / 5) +
- $day + ($year % 100) +
- floor(($year % 100) / 4) +
- floor(($year / 100) / 4) - 2 *
- floor($year / 100) + 77 + $greg_correction;
-
- return $day - 7 * floor($day / 7);
-}
-
-/**
- Checks for leap year, returns true if it is. No 2-digit year check. Also
- handles julian calendar correctly.
-*/
-function _adodb_is_leap_year($year)
-{
- if ($year % 4 != 0) return false;
-
- if ($year % 400 == 0) {
- return true;
- // if gregorian calendar (>1582), century not-divisible by 400 is not leap
- } else if ($year > 1582 && $year % 100 == 0 ) {
- return false;
- }
-
- return true;
-}
-
-/**
- checks for leap year, returns true if it is. Has 2-digit year check
-*/
-function adodb_is_leap_year($year)
-{
- return _adodb_is_leap_year(adodb_year_digit_check($year));
-}
-
-/**
- Fix 2-digit years. Works for any century.
- Assumes that if 2-digit is more than 30 years in future, then previous century.
-*/
-function adodb_year_digit_check($y)
-{
- if ($y < 100) {
-
- $yr = (integer) date("Y");
- $century = (integer) ($yr /100);
-
- if ($yr%100 > 50) {
- $c1 = $century + 1;
- $c0 = $century;
- } else {
- $c1 = $century;
- $c0 = $century - 1;
- }
- $c1 *= 100;
- // if 2-digit year is less than 30 years in future, set it to this century
- // otherwise if more than 30 years in future, then we set 2-digit year to the prev century.
- if (($y + $c1) < $yr+30) $y = $y + $c1;
- else $y = $y + $c0*100;
- }
- return $y;
-}
-
-function adodb_get_gmt_diff_ts($ts)
-{
- if (0 <= $ts && $ts <= 0x7FFFFFFF) { // check if number in 32-bit signed range) {
- $arr = getdate($ts);
- $y = $arr['year'];
- $m = $arr['mon'];
- $d = $arr['mday'];
- return adodb_get_gmt_diff($y,$m,$d);
- } else {
- return adodb_get_gmt_diff(false,false,false);
- }
-
-}
-
-/**
- get local time zone offset from GMT. Does not handle historical timezones before 1970.
-*/
-function adodb_get_gmt_diff($y,$m,$d)
-{
-static $TZ,$tzo;
-global $ADODB_DATETIME_CLASS;
-
- if (!defined('ADODB_TEST_DATES')) $y = false;
- else if ($y < 1970 || $y >= 2038) $y = false;
-
- if ($ADODB_DATETIME_CLASS && $y !== false) {
- $dt = new DateTime();
- $dt->setISODate($y,$m,$d);
- if (empty($tzo)) {
- $tzo = new DateTimeZone(date_default_timezone_get());
- # $tzt = timezone_transitions_get( $tzo );
- }
- return -$tzo->getOffset($dt);
- } else {
- if (isset($TZ)) return $TZ;
- $y = date('Y');
- $TZ = mktime(0,0,0,12,2,$y) - gmmktime(0,0,0,12,2,$y);
- }
-
- return $TZ;
-}
-
-/**
- Returns an array with date info.
-*/
-function adodb_getdate($d=false,$fast=false)
-{
- if ($d === false) return getdate();
- if (!defined('ADODB_TEST_DATES')) {
- if ((abs($d) <= 0x7FFFFFFF)) { // check if number in 32-bit signed range
- if (!defined('ADODB_NO_NEGATIVE_TS') || $d >= 0) // if windows, must be +ve integer
- return @getdate($d);
- }
- }
- return _adodb_getdate($d);
-}
-
-$_month_table_normal = array("",31,28,31,30,31,30,31,31,30,31,30,31);
-$_month_table_leaf = array("",31,29,31,30,31,30,31,31,30,31,30,31);
-
-/**
- Low-level function that returns the getdate() array. We have a special
- $fast flag, which if set to true, will return fewer array values,
- and is much faster as it does not calculate dow, etc.
-*/
-function _adodb_getdate($origd=false,$fast=false,$is_gmt=false)
-{
-static $YRS;
-global $_month_table_normal,$_month_table_leaf;
-
- $d = $origd - ($is_gmt ? 0 : adodb_get_gmt_diff_ts($origd));
- $_day_power = 86400;
- $_hour_power = 3600;
- $_min_power = 60;
-
- if ($d < -12219321600) $d -= 86400*10; // if 15 Oct 1582 or earlier, gregorian correction
-
- $_month_table_normal = array("",31,28,31,30,31,30,31,31,30,31,30,31);
- $_month_table_leaf = array("",31,29,31,30,31,30,31,31,30,31,30,31);
-
- $d366 = $_day_power * 366;
- $d365 = $_day_power * 365;
-
- if ($d < 0) {
-
- if (empty($YRS)) $YRS = array(
- 1970 => 0,
- 1960 => -315619200,
- 1950 => -631152000,
- 1940 => -946771200,
- 1930 => -1262304000,
- 1920 => -1577923200,
- 1910 => -1893456000,
- 1900 => -2208988800,
- 1890 => -2524521600,
- 1880 => -2840140800,
- 1870 => -3155673600,
- 1860 => -3471292800,
- 1850 => -3786825600,
- 1840 => -4102444800,
- 1830 => -4417977600,
- 1820 => -4733596800,
- 1810 => -5049129600,
- 1800 => -5364662400,
- 1790 => -5680195200,
- 1780 => -5995814400,
- 1770 => -6311347200,
- 1760 => -6626966400,
- 1750 => -6942499200,
- 1740 => -7258118400,
- 1730 => -7573651200,
- 1720 => -7889270400,
- 1710 => -8204803200,
- 1700 => -8520336000,
- 1690 => -8835868800,
- 1680 => -9151488000,
- 1670 => -9467020800,
- 1660 => -9782640000,
- 1650 => -10098172800,
- 1640 => -10413792000,
- 1630 => -10729324800,
- 1620 => -11044944000,
- 1610 => -11360476800,
- 1600 => -11676096000);
-
- if ($is_gmt) $origd = $d;
- // The valid range of a 32bit signed timestamp is typically from
- // Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT
- //
-
- # old algorithm iterates through all years. new algorithm does it in
- # 10 year blocks
-
- /*
- # old algo
- for ($a = 1970 ; --$a >= 0;) {
- $lastd = $d;
-
- if ($leaf = _adodb_is_leap_year($a)) $d += $d366;
- else $d += $d365;
-
- if ($d >= 0) {
- $year = $a;
- break;
- }
- }
- */
-
- $lastsecs = 0;
- $lastyear = 1970;
- foreach($YRS as $year => $secs) {
- if ($d >= $secs) {
- $a = $lastyear;
- break;
- }
- $lastsecs = $secs;
- $lastyear = $year;
- }
-
- $d -= $lastsecs;
- if (!isset($a)) $a = $lastyear;
-
- //echo ' yr=',$a,' ', $d,'.';
-
- for (; --$a >= 0;) {
- $lastd = $d;
-
- if ($leaf = _adodb_is_leap_year($a)) $d += $d366;
- else $d += $d365;
-
- if ($d >= 0) {
- $year = $a;
- break;
- }
- }
- /**/
-
- $secsInYear = 86400 * ($leaf ? 366 : 365) + $lastd;
-
- $d = $lastd;
- $mtab = ($leaf) ? $_month_table_leaf : $_month_table_normal;
- for ($a = 13 ; --$a > 0;) {
- $lastd = $d;
- $d += $mtab[$a] * $_day_power;
- if ($d >= 0) {
- $month = $a;
- $ndays = $mtab[$a];
- break;
- }
- }
-
- $d = $lastd;
- $day = $ndays + ceil(($d+1) / ($_day_power));
-
- $d += ($ndays - $day+1)* $_day_power;
- $hour = floor($d/$_hour_power);
-
- } else {
- for ($a = 1970 ;; $a++) {
- $lastd = $d;
-
- if ($leaf = _adodb_is_leap_year($a)) $d -= $d366;
- else $d -= $d365;
- if ($d < 0) {
- $year = $a;
- break;
- }
- }
- $secsInYear = $lastd;
- $d = $lastd;
- $mtab = ($leaf) ? $_month_table_leaf : $_month_table_normal;
- for ($a = 1 ; $a <= 12; $a++) {
- $lastd = $d;
- $d -= $mtab[$a] * $_day_power;
- if ($d < 0) {
- $month = $a;
- $ndays = $mtab[$a];
- break;
- }
- }
- $d = $lastd;
- $day = ceil(($d+1) / $_day_power);
- $d = $d - ($day-1) * $_day_power;
- $hour = floor($d /$_hour_power);
- }
-
- $d -= $hour * $_hour_power;
- $min = floor($d/$_min_power);
- $secs = $d - $min * $_min_power;
- if ($fast) {
- return array(
- 'seconds' => $secs,
- 'minutes' => $min,
- 'hours' => $hour,
- 'mday' => $day,
- 'mon' => $month,
- 'year' => $year,
- 'yday' => floor($secsInYear/$_day_power),
- 'leap' => $leaf,
- 'ndays' => $ndays
- );
- }
-
- $dow = adodb_dow($year,$month,$day);
-
- return array(
- 'seconds' => $secs,
- 'minutes' => $min,
- 'hours' => $hour,
- 'mday' => $day,
- 'wday' => $dow,
- 'mon' => $month,
- 'year' => $year,
- 'yday' => floor($secsInYear/$_day_power),
- 'weekday' => gmdate('l',$_day_power*(3+$dow)),
- 'month' => gmdate('F',mktime(0,0,0,$month,2,1971)),
- 0 => $origd
- );
-}
-
-function adodb_tz_offset($gmt,$isphp5)
-{
- $zhrs = abs($gmt)/3600;
- $hrs = floor($zhrs);
- if ($isphp5)
- return sprintf('%s%02d%02d',($gmt<=0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60);
- else
- return sprintf('%s%02d%02d',($gmt<0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60);
-}
-
-function adodb_gmdate($fmt,$d=false)
-{
- return adodb_date($fmt,$d,true);
-}
-
-// accepts unix timestamp and iso date format in $d
-function adodb_date2($fmt, $d=false, $is_gmt=false)
-{
- if ($d !== false) {
- if (!preg_match(
- "|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})[ -]?(([0-9]{1,2}):?([0-9]{1,2}):?([0-9\.]{1,4}))?|",
- ($d), $rr)) return adodb_date($fmt,false,$is_gmt);
-
- if ($rr[1] <= 100 && $rr[2]<= 1) return adodb_date($fmt,false,$is_gmt);
-
- // h-m-s-MM-DD-YY
- if (!isset($rr[5])) $d = adodb_mktime(0,0,0,$rr[2],$rr[3],$rr[1],false,$is_gmt);
- else $d = @adodb_mktime($rr[5],$rr[6],$rr[7],$rr[2],$rr[3],$rr[1],false,$is_gmt);
- }
-
- return adodb_date($fmt,$d,$is_gmt);
-}
-
-/**
- Return formatted date based on timestamp $d
-*/
-function adodb_date($fmt,$d=false,$is_gmt=false)
-{
-static $daylight;
-global $ADODB_DATETIME_CLASS;
-
- if ($d === false) return ($is_gmt)? @gmdate($fmt): @date($fmt);
- if (!defined('ADODB_TEST_DATES')) {
- if ((abs($d) <= 0x7FFFFFFF)) { // check if number in 32-bit signed range
- if (!defined('ADODB_NO_NEGATIVE_TS') || $d >= 0) // if windows, must be +ve integer
- return ($is_gmt)? @gmdate($fmt,$d): @date($fmt,$d);
-
- }
- }
- $_day_power = 86400;
-
- $arr = _adodb_getdate($d,true,$is_gmt);
-
- if (!isset($daylight)) $daylight = function_exists('adodb_daylight_sv');
- if ($daylight) adodb_daylight_sv($arr, $is_gmt);
-
- $year = $arr['year'];
- $month = $arr['mon'];
- $day = $arr['mday'];
- $hour = $arr['hours'];
- $min = $arr['minutes'];
- $secs = $arr['seconds'];
-
- $max = strlen($fmt);
- $dates = '';
-
- $isphp5 = PHP_VERSION >= 5;
-
- /*
- at this point, we have the following integer vars to manipulate:
- $year, $month, $day, $hour, $min, $secs
- */
- for ($i=0; $i < $max; $i++) {
- switch($fmt[$i]) {
- case 'T':
- if ($ADODB_DATETIME_CLASS) {
- $dt = new DateTime();
- $dt->SetDate($year,$month,$day);
- $dates .= $dt->Format('T');
- } else
- $dates .= date('T');
- break;
- // YEAR
- case 'L': $dates .= $arr['leap'] ? '1' : '0'; break;
- case 'r': // Thu, 21 Dec 2000 16:01:07 +0200
-
- // 4.3.11 uses '04 Jun 2004'
- // 4.3.8 uses ' 4 Jun 2004'
- $dates .= gmdate('D',$_day_power*(3+adodb_dow($year,$month,$day))).', '
- . ($day<10?'0'.$day:$day) . ' '.date('M',mktime(0,0,0,$month,2,1971)).' '.$year.' ';
-
- if ($hour < 10) $dates .= '0'.$hour; else $dates .= $hour;
-
- if ($min < 10) $dates .= ':0'.$min; else $dates .= ':'.$min;
-
- if ($secs < 10) $dates .= ':0'.$secs; else $dates .= ':'.$secs;
-
- $gmt = adodb_get_gmt_diff($year,$month,$day);
-
- $dates .= ' '.adodb_tz_offset($gmt,$isphp5);
- break;
-
- case 'Y': $dates .= $year; break;
- case 'y': $dates .= substr($year,strlen($year)-2,2); break;
- // MONTH
- case 'm': if ($month<10) $dates .= '0'.$month; else $dates .= $month; break;
- case 'Q': $dates .= ($month+3)>>2; break;
- case 'n': $dates .= $month; break;
- case 'M': $dates .= date('M',mktime(0,0,0,$month,2,1971)); break;
- case 'F': $dates .= date('F',mktime(0,0,0,$month,2,1971)); break;
- // DAY
- case 't': $dates .= $arr['ndays']; break;
- case 'z': $dates .= $arr['yday']; break;
- case 'w': $dates .= adodb_dow($year,$month,$day); break;
- case 'l': $dates .= gmdate('l',$_day_power*(3+adodb_dow($year,$month,$day))); break;
- case 'D': $dates .= gmdate('D',$_day_power*(3+adodb_dow($year,$month,$day))); break;
- case 'j': $dates .= $day; break;
- case 'd': if ($day<10) $dates .= '0'.$day; else $dates .= $day; break;
- case 'S':
- $d10 = $day % 10;
- if ($d10 == 1) $dates .= 'st';
- else if ($d10 == 2 && $day != 12) $dates .= 'nd';
- else if ($d10 == 3) $dates .= 'rd';
- else $dates .= 'th';
- break;
-
- // HOUR
- case 'Z':
- $dates .= ($is_gmt) ? 0 : -adodb_get_gmt_diff($year,$month,$day); break;
- case 'O':
- $gmt = ($is_gmt) ? 0 : adodb_get_gmt_diff($year,$month,$day);
-
- $dates .= adodb_tz_offset($gmt,$isphp5);
- break;
-
- case 'H':
- if ($hour < 10) $dates .= '0'.$hour;
- else $dates .= $hour;
- break;
- case 'h':
- if ($hour > 12) $hh = $hour - 12;
- else {
- if ($hour == 0) $hh = '12';
- else $hh = $hour;
- }
-
- if ($hh < 10) $dates .= '0'.$hh;
- else $dates .= $hh;
- break;
-
- case 'G':
- $dates .= $hour;
- break;
-
- case 'g':
- if ($hour > 12) $hh = $hour - 12;
- else {
- if ($hour == 0) $hh = '12';
- else $hh = $hour;
- }
- $dates .= $hh;
- break;
- // MINUTES
- case 'i': if ($min < 10) $dates .= '0'.$min; else $dates .= $min; break;
- // SECONDS
- case 'U': $dates .= $d; break;
- case 's': if ($secs < 10) $dates .= '0'.$secs; else $dates .= $secs; break;
- // AM/PM
- // Note 00:00 to 11:59 is AM, while 12:00 to 23:59 is PM
- case 'a':
- if ($hour>=12) $dates .= 'pm';
- else $dates .= 'am';
- break;
- case 'A':
- if ($hour>=12) $dates .= 'PM';
- else $dates .= 'AM';
- break;
- default:
- $dates .= $fmt[$i]; break;
- // ESCAPE
- case "\\":
- $i++;
- if ($i < $max) $dates .= $fmt[$i];
- break;
- }
- }
- return $dates;
-}
-
-/**
- Returns a timestamp given a GMT/UTC time.
- Note that $is_dst is not implemented and is ignored.
-*/
-function adodb_gmmktime($hr,$min,$sec,$mon=false,$day=false,$year=false,$is_dst=false)
-{
- return adodb_mktime($hr,$min,$sec,$mon,$day,$year,$is_dst,true);
-}
-
-/**
- Return a timestamp given a local time. Originally by jackbbs.
- Note that $is_dst is not implemented and is ignored.
-
- Not a very fast algorithm - O(n) operation. Could be optimized to O(1).
-
- NOTE: returns time() when the year is > 9999
-*/
-function adodb_mktime($hr,$min,$sec,$mon=false,$day=false,$year=false,$is_dst=false,$is_gmt=false)
-{
- if (!defined('ADODB_TEST_DATES')) {
-
- if ($mon === false) {
- return $is_gmt? @gmmktime($hr,$min,$sec): @mktime($hr,$min,$sec);
- }
-
- // for windows, we don't check 1970 because with timezone differences,
- // 1 Jan 1970 could generate negative timestamp, which is illegal
- $usephpfns = (1971 < $year && $year < 2038
- || !defined('ADODB_NO_NEGATIVE_TS') && (1901 < $year && $year < 2038)
- );
-
-
- if ($usephpfns && ($year + $mon/12+$day/365.25+$hr/(24*365.25) >= 2038)) $usephpfns = false;
-
- if ($usephpfns) {
- return $is_gmt ?
- @gmmktime($hr,$min,$sec,$mon,$day,$year):
- @mktime($hr,$min,$sec,$mon,$day,$year);
- }
- }
-
- $gmt_different = ($is_gmt) ? 0 : adodb_get_gmt_diff($year,$mon,$day);
-
- /*
- # disabled because some people place large values in $sec.
- # however we need it for $mon because we use an array...
- $hr = (int)$hr;
- $min = (int)$min;
- $sec = (int)$sec;
- */
- $mon = (int)$mon;
- $day = (int)$day;
- $year = (int)$year;
-
-
- $year = adodb_year_digit_check($year);
-
- if ($mon > 12) {
- $y = floor(($mon-1)/ 12);
- $year += $y;
- $mon -= $y*12;
- } else if ($mon < 1) {
- $y = ceil((1-$mon) / 12);
- $year -= $y;
- $mon += $y*12;
- }
-
- $_day_power = 86400;
- $_hour_power = 3600;
- $_min_power = 60;
-
- $_month_table_normal = array("",31,28,31,30,31,30,31,31,30,31,30,31);
- $_month_table_leaf = array("",31,29,31,30,31,30,31,31,30,31,30,31);
-
- $_total_date = 0;
- if($year > 9999) {
- return time();
- } else if ($year >= 1970) {
- for ($a = 1970 ; $a <= $year; $a++) {
- $leaf = _adodb_is_leap_year($a);
- if ($leaf == true) {
- $loop_table = $_month_table_leaf;
- $_add_date = 366;
- } else {
- $loop_table = $_month_table_normal;
- $_add_date = 365;
- }
- if ($a < $year) {
- $_total_date += $_add_date;
- } else {
- for($b=1;$b<$mon;$b++) {
- $_total_date += $loop_table[$b];
- }
- }
- }
- $_total_date +=$day-1;
- $ret = $_total_date * $_day_power + $hr * $_hour_power + $min * $_min_power + $sec + $gmt_different;
-
- } else {
- for ($a = 1969 ; $a >= $year; $a--) {
- $leaf = _adodb_is_leap_year($a);
- if ($leaf == true) {
- $loop_table = $_month_table_leaf;
- $_add_date = 366;
- } else {
- $loop_table = $_month_table_normal;
- $_add_date = 365;
- }
- if ($a > $year) { $_total_date += $_add_date;
- } else {
- for($b=12;$b>$mon;$b--) {
- $_total_date += $loop_table[$b];
- }
- }
- }
- $_total_date += $loop_table[$mon] - $day;
-
- $_day_time = $hr * $_hour_power + $min * $_min_power + $sec;
- $_day_time = $_day_power - $_day_time;
- $ret = -( $_total_date * $_day_power + $_day_time - $gmt_different);
- if ($ret < -12220185600) $ret += 10*86400; // if earlier than 5 Oct 1582 - gregorian correction
- else if ($ret < -12219321600) $ret = -12219321600; // if in limbo, reset to 15 Oct 1582.
- }
- //print " dmy=$day/$mon/$year $hr:$min:$sec => " .$ret;
- return $ret;
-}
-
-function adodb_gmstrftime($fmt, $ts=false)
-{
- return adodb_strftime($fmt,$ts,true);
-}
-
-// hack - convert to adodb_date
-function adodb_strftime($fmt, $ts=false,$is_gmt=false)
-{
-global $ADODB_DATE_LOCALE;
-
- if (!defined('ADODB_TEST_DATES')) {
- if ((abs($ts) <= 0x7FFFFFFF)) { // check if number in 32-bit signed range
- if (!defined('ADODB_NO_NEGATIVE_TS') || $ts >= 0) // if windows, must be +ve integer
- return ($is_gmt)? @gmstrftime($fmt,$ts): @strftime($fmt,$ts);
-
- }
- }
-
- if (empty($ADODB_DATE_LOCALE)) {
- /*
- $tstr = strtoupper(gmstrftime('%c',31366800)); // 30 Dec 1970, 1 am
- $sep = substr($tstr,2,1);
- $hasAM = strrpos($tstr,'M') !== false;
- */
- # see http://phplens.com/lens/lensforum/msgs.php?id=14865 for reasoning, and changelog for version 0.24
- $dstr = gmstrftime('%x',31366800); // 30 Dec 1970, 1 am
- $sep = substr($dstr,2,1);
- $tstr = strtoupper(gmstrftime('%X',31366800)); // 30 Dec 1970, 1 am
- $hasAM = strrpos($tstr,'M') !== false;
-
- $ADODB_DATE_LOCALE = array();
- $ADODB_DATE_LOCALE[] = strncmp($tstr,'30',2) == 0 ? 'd'.$sep.'m'.$sep.'y' : 'm'.$sep.'d'.$sep.'y';
- $ADODB_DATE_LOCALE[] = ($hasAM) ? 'h:i:s a' : 'H:i:s';
-
- }
- $inpct = false;
- $fmtdate = '';
- for ($i=0,$max = strlen($fmt); $i < $max; $i++) {
- $ch = $fmt[$i];
- if ($ch == '%') {
- if ($inpct) {
- $fmtdate .= '%';
- $inpct = false;
- } else
- $inpct = true;
- } else if ($inpct) {
-
- $inpct = false;
- switch($ch) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'E':
- case 'O':
- /* ignore format modifiers */
- $inpct = true;
- break;
-
- case 'a': $fmtdate .= 'D'; break;
- case 'A': $fmtdate .= 'l'; break;
- case 'h':
- case 'b': $fmtdate .= 'M'; break;
- case 'B': $fmtdate .= 'F'; break;
- case 'c': $fmtdate .= $ADODB_DATE_LOCALE[0].$ADODB_DATE_LOCALE[1]; break;
- case 'C': $fmtdate .= '\C?'; break; // century
- case 'd': $fmtdate .= 'd'; break;
- case 'D': $fmtdate .= 'm/d/y'; break;
- case 'e': $fmtdate .= 'j'; break;
- case 'g': $fmtdate .= '\g?'; break; //?
- case 'G': $fmtdate .= '\G?'; break; //?
- case 'H': $fmtdate .= 'H'; break;
- case 'I': $fmtdate .= 'h'; break;
- case 'j': $fmtdate .= '?z'; $parsej = true; break; // wrong as j=1-based, z=0-basd
- case 'm': $fmtdate .= 'm'; break;
- case 'M': $fmtdate .= 'i'; break;
- case 'n': $fmtdate .= "\n"; break;
- case 'p': $fmtdate .= 'a'; break;
- case 'r': $fmtdate .= 'h:i:s a'; break;
- case 'R': $fmtdate .= 'H:i:s'; break;
- case 'S': $fmtdate .= 's'; break;
- case 't': $fmtdate .= "\t"; break;
- case 'T': $fmtdate .= 'H:i:s'; break;
- case 'u': $fmtdate .= '?u'; $parseu = true; break; // wrong strftime=1-based, date=0-based
- case 'U': $fmtdate .= '?U'; $parseU = true; break;// wrong strftime=1-based, date=0-based
- case 'x': $fmtdate .= $ADODB_DATE_LOCALE[0]; break;
- case 'X': $fmtdate .= $ADODB_DATE_LOCALE[1]; break;
- case 'w': $fmtdate .= '?w'; $parseu = true; break; // wrong strftime=1-based, date=0-based
- case 'W': $fmtdate .= '?W'; $parseU = true; break;// wrong strftime=1-based, date=0-based
- case 'y': $fmtdate .= 'y'; break;
- case 'Y': $fmtdate .= 'Y'; break;
- case 'Z': $fmtdate .= 'T'; break;
- }
- } else if (('A' <= ($ch) && ($ch) <= 'Z' ) || ('a' <= ($ch) && ($ch) <= 'z' ))
- $fmtdate .= "\\".$ch;
- else
- $fmtdate .= $ch;
- }
- //echo "fmt=",$fmtdate," ";
- if ($ts === false) $ts = time();
- $ret = adodb_date($fmtdate, $ts, $is_gmt);
- return $ret;
-}
-
diff --git a/html/forums/inc/functions_upload.php b/html/forums/inc/functions_upload.php
deleted file mode 100644
index 2da32b6..0000000
--- a/html/forums/inc/functions_upload.php
+++ /dev/null
@@ -1,801 +0,0 @@
-escape_string($posthash);
- if($posthash != "")
- {
- $query = $db->simple_select("attachments", "aid, attachname, thumbnail, visible", "aid='{$aid}' AND posthash='{$posthash}'");
- $attachment = $db->fetch_array($query);
- }
- else
- {
- $query = $db->simple_select("attachments", "aid, attachname, thumbnail, visible", "aid='{$aid}' AND pid='{$pid}'");
- $attachment = $db->fetch_array($query);
- }
-
- $plugins->run_hooks("remove_attachment_do_delete", $attachment);
-
- $db->delete_query("attachments", "aid='{$attachment['aid']}'");
-
- if(defined('IN_ADMINCP'))
- {
- $uploadpath = '../'.$mybb->settings['uploadspath'];
- }
- else
- {
- $uploadpath = $mybb->settings['uploadspath'];
- }
-
- // Check if this attachment is referenced in any other posts. If it isn't, then we are safe to delete the actual file.
- $query = $db->simple_select("attachments", "COUNT(aid) as numreferences", "attachname='".$db->escape_string($attachment['attachname'])."'");
- if($db->fetch_field($query, "numreferences") == 0)
- {
- delete_uploaded_file($uploadpath."/".$attachment['attachname']);
- if($attachment['thumbnail'])
- {
- delete_uploaded_file($uploadpath."/".$attachment['thumbnail']);
- }
-
- $date_directory = explode('/', $attachment['attachname']);
- if(@is_dir($uploadpath."/".$date_directory[0]))
- {
- delete_upload_directory($uploadpath."/".$date_directory[0]);
- }
- }
-
- if($attachment['visible'] == 1 && $pid)
- {
- $post = get_post($pid);
- update_thread_counters($post['tid'], array("attachmentcount" => "-1"));
- }
-}
-
-/**
- * Remove all of the attachments from a specific post
- *
- * @param int $pid The post ID
- * @param string $posthash The posthash if available
- */
-function remove_attachments($pid, $posthash="")
-{
- global $db, $mybb, $plugins;
-
- if($pid)
- {
- $post = get_post($pid);
- }
- $posthash = $db->escape_string($posthash);
- if($posthash != "" && !$pid)
- {
- $query = $db->simple_select("attachments", "*", "posthash='$posthash'");
- }
- else
- {
- $query = $db->simple_select("attachments", "*", "pid='$pid'");
- }
-
- if(defined('IN_ADMINCP'))
- {
- $uploadpath = '../'.$mybb->settings['uploadspath'];
- }
- else
- {
- $uploadpath = $mybb->settings['uploadspath'];
- }
-
- $num_attachments = 0;
- while($attachment = $db->fetch_array($query))
- {
- if($attachment['visible'] == 1)
- {
- $num_attachments++;
- }
-
- $plugins->run_hooks("remove_attachments_do_delete", $attachment);
-
- $db->delete_query("attachments", "aid='".$attachment['aid']."'");
-
- // Check if this attachment is referenced in any other posts. If it isn't, then we are safe to delete the actual file.
- $query2 = $db->simple_select("attachments", "COUNT(aid) as numreferences", "attachname='".$db->escape_string($attachment['attachname'])."'");
- if($db->fetch_field($query2, "numreferences") == 0)
- {
- delete_uploaded_file($uploadpath."/".$attachment['attachname']);
- if($attachment['thumbnail'])
- {
- delete_uploaded_file($uploadpath."/".$attachment['thumbnail']);
- }
-
- $date_directory = explode('/', $attachment['attachname']);
- if(@is_dir($uploadpath."/".$date_directory[0]))
- {
- delete_upload_directory($uploadpath."/".$date_directory[0]);
- }
- }
- }
-
- if($post['tid'])
- {
- update_thread_counters($post['tid'], array("attachmentcount" => "-{$num_attachments}"));
- }
-}
-
-/**
- * Remove any matching avatars for a specific user ID
- *
- * @param int $uid The user ID
- * @param string $exclude A file name to be excluded from the removal
- */
-function remove_avatars($uid, $exclude="")
-{
- global $mybb, $plugins;
-
- if(defined('IN_ADMINCP'))
- {
- $avatarpath = '../'.$mybb->settings['avataruploadpath'];
- }
- else
- {
- $avatarpath = $mybb->settings['avataruploadpath'];
- }
-
- $dir = opendir($avatarpath);
- if($dir)
- {
- while($file = @readdir($dir))
- {
- $plugins->run_hooks("remove_avatars_do_delete", $file);
-
- if(preg_match("#avatar_".$uid."\.#", $file) && is_file($avatarpath."/".$file) && $file != $exclude)
- {
- delete_uploaded_file($avatarpath."/".$file);
- }
- }
-
- @closedir($dir);
- }
-}
-
-/**
- * Upload a new avatar in to the file system
- *
- * @param array $avatar Incoming FILE array, if we have one - otherwise takes $_FILES['avatarupload']
- * @param int $uid User ID this avatar is being uploaded for, if not the current user
- * @return array Array of errors if any, otherwise filename of successful.
- */
-function upload_avatar($avatar=array(), $uid=0)
-{
- global $db, $mybb, $lang, $plugins, $cache;
-
- $ret = array();
-
- if(!$uid)
- {
- $uid = $mybb->user['uid'];
- }
-
- if(!$avatar['name'] || !$avatar['tmp_name'])
- {
- $avatar = $_FILES['avatarupload'];
- }
-
- if(!is_uploaded_file($avatar['tmp_name']))
- {
- $ret['error'] = $lang->error_uploadfailed;
- return $ret;
- }
-
- // Check we have a valid extension
- $ext = get_extension(my_strtolower($avatar['name']));
- if(!preg_match("#^(gif|jpg|jpeg|jpe|bmp|png)$#i", $ext))
- {
- $ret['error'] = $lang->error_avatartype;
- return $ret;
- }
-
- if(defined('IN_ADMINCP'))
- {
- $avatarpath = '../'.$mybb->settings['avataruploadpath'];
- $lang->load("messages", true);
- }
- else
- {
- $avatarpath = $mybb->settings['avataruploadpath'];
- }
-
- $filename = "avatar_".$uid.".".$ext;
- $file = upload_file($avatar, $avatarpath, $filename);
- if($file['error'])
- {
- delete_uploaded_file($avatarpath."/".$filename);
- $ret['error'] = $lang->error_uploadfailed;
- return $ret;
- }
-
- // Lets just double check that it exists
- if(!file_exists($avatarpath."/".$filename))
- {
- $ret['error'] = $lang->error_uploadfailed;
- delete_uploaded_file($avatarpath."/".$filename);
- return $ret;
- }
-
- // Check if this is a valid image or not
- $img_dimensions = @getimagesize($avatarpath."/".$filename);
- if(!is_array($img_dimensions))
- {
- delete_uploaded_file($avatarpath."/".$filename);
- $ret['error'] = $lang->error_uploadfailed;
- return $ret;
- }
-
- // Check avatar dimensions
- if($mybb->settings['maxavatardims'] != '')
- {
- list($maxwidth, $maxheight) = @explode("x", $mybb->settings['maxavatardims']);
- if(($maxwidth && $img_dimensions[0] > $maxwidth) || ($maxheight && $img_dimensions[1] > $maxheight))
- {
- // Automatic resizing enabled?
- if($mybb->settings['avatarresizing'] == "auto" || ($mybb->settings['avatarresizing'] == "user" && $mybb->input['auto_resize'] == 1))
- {
- require_once MYBB_ROOT."inc/functions_image.php";
- $thumbnail = generate_thumbnail($avatarpath."/".$filename, $avatarpath, $filename, $maxheight, $maxwidth);
- if(!$thumbnail['filename'])
- {
- $ret['error'] = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
- $ret['error'] .= " ".$lang->error_avatarresizefailed;
- delete_uploaded_file($avatarpath."/".$filename);
- return $ret;
- }
- else
- {
- // Copy scaled image to CDN
- copy_file_to_cdn($avatarpath . '/' . $thumbnail['filename']);
- // Reset filesize
- $avatar['size'] = filesize($avatarpath."/".$filename);
- // Reset dimensions
- $img_dimensions = @getimagesize($avatarpath."/".$filename);
- }
- }
- else
- {
- $ret['error'] = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
- if($mybb->settings['avatarresizing'] == "user")
- {
- $ret['error'] .= " ".$lang->error_avataruserresize;
- }
- delete_uploaded_file($avatarpath."/".$filename);
- return $ret;
- }
- }
- }
-
- // Check a list of known MIME types to establish what kind of avatar we're uploading
- $attachtypes = (array)$cache->read('attachtypes');
-
- $allowed_mime_types = array();
- foreach($attachtypes as $attachtype)
- {
- if(defined('IN_ADMINCP') || is_member($attachtype['groups']) && $attachtype['avatarfile'])
- {
- $allowed_mime_types[$attachtype['mimetype']] = $attachtype['maxsize'];
- }
- }
-
- $avatar['type'] = my_strtolower($avatar['type']);
-
- switch($avatar['type'])
- {
- case "image/gif":
- $img_type = 1;
- break;
- case "image/jpeg":
- case "image/x-jpg":
- case "image/x-jpeg":
- case "image/pjpeg":
- case "image/jpg":
- $img_type = 2;
- break;
- case "image/png":
- case "image/x-png":
- $img_type = 3;
- break;
- case "image/bmp":
- case "image/x-bmp":
- case "image/x-windows-bmp":
- $img_type = 6;
- break;
- default:
- $img_type = 0;
- }
-
- // Check if the uploaded file type matches the correct image type (returned by getimagesize)
- if(empty($allowed_mime_types[$avatar['type']]) || $img_dimensions[2] != $img_type || $img_type == 0)
- {
- $ret['error'] = $lang->error_uploadfailed;
- delete_uploaded_file($avatarpath."/".$filename);
- return $ret;
- }
-
- // Next check the file size
- if(($avatar['size'] > ($mybb->settings['avatarsize']*1024) && $mybb->settings['avatarsize'] > 0) || $avatar['size'] > $allowed_mime_types[$avatar['type']] && !($mybb->settings['avatarsize'] > 0))
- {
- delete_uploaded_file($avatarpath."/".$filename);
- $ret['error'] = $lang->error_uploadsize;
- return $ret;
- }
-
- // Everything is okay so lets delete old avatars for this user
- remove_avatars($uid, $filename);
-
- $ret = array(
- "avatar" => $mybb->settings['avataruploadpath']."/".$filename,
- "width" => (int)$img_dimensions[0],
- "height" => (int)$img_dimensions[1]
- );
- $ret = $plugins->run_hooks("upload_avatar_end", $ret);
- return $ret;
-}
-
-/**
- * Upload an attachment in to the file system
- *
- * @param array $attachment Attachment data (as fed by PHPs $_FILE)
- * @param boolean $update_attachment Whether or not we are updating a current attachment or inserting a new one
- * @return array Array of attachment data if successful, otherwise array of error data
- */
-function upload_attachment($attachment, $update_attachment=false)
-{
- global $mybb, $db, $theme, $templates, $posthash, $pid, $tid, $forum, $mybb, $lang, $plugins, $cache;
-
- $posthash = $db->escape_string($mybb->get_input('posthash'));
- $pid = (int)$pid;
-
- if(isset($attachment['error']) && $attachment['error'] != 0)
- {
- $ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail;
- switch($attachment['error'])
- {
- case 1: // UPLOAD_ERR_INI_SIZE
- $ret['error'] .= $lang->error_uploadfailed_php1;
- break;
- case 2: // UPLOAD_ERR_FORM_SIZE
- $ret['error'] .= $lang->error_uploadfailed_php2;
- break;
- case 3: // UPLOAD_ERR_PARTIAL
- $ret['error'] .= $lang->error_uploadfailed_php3;
- break;
- case 4: // UPLOAD_ERR_NO_FILE
- $ret['error'] .= $lang->error_uploadfailed_php4;
- break;
- case 6: // UPLOAD_ERR_NO_TMP_DIR
- $ret['error'] .= $lang->error_uploadfailed_php6;
- break;
- case 7: // UPLOAD_ERR_CANT_WRITE
- $ret['error'] .= $lang->error_uploadfailed_php7;
- break;
- default:
- $ret['error'] .= $lang->sprintf($lang->error_uploadfailed_phpx, $attachment['error']);
- break;
- }
- return $ret;
- }
-
- if(!is_uploaded_file($attachment['tmp_name']) || empty($attachment['tmp_name']))
- {
- $ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_php4;
- return $ret;
- }
-
- $attachtypes = (array)$cache->read('attachtypes');
- $attachment = $plugins->run_hooks("upload_attachment_start", $attachment);
-
- $allowed_mime_types = array();
- foreach($attachtypes as $ext => $attachtype)
- {
- if(!is_member($attachtype['groups']) || ($attachtype['forums'] != -1 && strpos(','.$attachtype['forums'].',', ','.$forum['fid'].',') === false))
- {
- unset($attachtypes[$ext]);
- }
- }
-
- $ext = get_extension($attachment['name']);
- // Check if we have a valid extension
- if(!isset($attachtypes[$ext]))
- {
- $ret['error'] = $lang->error_attachtype;
- return $ret;
- }
- else
- {
- $attachtype = $attachtypes[$ext];
- }
-
- // Check the size
- if($attachment['size'] > $attachtype['maxsize']*1024 && $attachtype['maxsize'] != "")
- {
- $ret['error'] = $lang->sprintf($lang->error_attachsize, $attachtype['maxsize']);
- return $ret;
- }
-
- // Double check attachment space usage
- if($mybb->usergroup['attachquota'] > 0)
- {
- $query = $db->simple_select("attachments", "SUM(filesize) AS ausage", "uid='".$mybb->user['uid']."'");
- $usage = $db->fetch_array($query);
- $usage = $usage['ausage']+$attachment['size'];
- if($usage > ($mybb->usergroup['attachquota']*1024))
- {
- $friendlyquota = get_friendly_size($mybb->usergroup['attachquota']*1024);
- $ret['error'] = $lang->sprintf($lang->error_reachedattachquota, $friendlyquota);
- return $ret;
- }
- }
-
- // Gather forum permissions
- $forumpermissions = forum_permissions($forum['fid']);
-
- // Check if an attachment with this name is already in the post
- if($pid != 0)
- {
- $uploaded_query = "pid='{$pid}'";
- }
- else
- {
- $uploaded_query = "posthash='{$posthash}'";
- }
- $query = $db->simple_select("attachments", "*", "filename='".$db->escape_string($attachment['name'])."' AND ".$uploaded_query);
- $prevattach = $db->fetch_array($query);
- if($prevattach['aid'] && $update_attachment == false)
- {
- if(!$mybb->usergroup['caneditattachments'] && !$forumpermissions['caneditattachments'])
- {
- $ret['error'] = $lang->error_alreadyuploaded_perm;
- return $ret;
- }
-
- $ret['error'] = $lang->error_alreadyuploaded;
- return $ret;
- }
-
- // Check to see how many attachments exist for this post already
- if($mybb->settings['maxattachments'] > 0 && $update_attachment == false)
- {
- $query = $db->simple_select("attachments", "COUNT(aid) AS numattachs", $uploaded_query);
- $attachcount = $db->fetch_field($query, "numattachs");
- if($attachcount >= $mybb->settings['maxattachments'])
- {
- $ret['error'] = $lang->sprintf($lang->error_maxattachpost, $mybb->settings['maxattachments']);
- return $ret;
- }
- }
-
- $month_dir = '';
- if($mybb->safemode == false)
- {
- // Check if the attachment directory (YYYYMM) exists, if not, create it
- $month_dir = gmdate("Ym");
- if(!@is_dir($mybb->settings['uploadspath']."/".$month_dir))
- {
- @mkdir($mybb->settings['uploadspath']."/".$month_dir);
- // Still doesn't exist - oh well, throw it in the main directory
- if(!@is_dir($mybb->settings['uploadspath']."/".$month_dir))
- {
- $month_dir = '';
- }
- else
- {
- $index = @fopen($mybb->settings['uploadspath']."/".$month_dir."/index.html", 'w');
- @fwrite($index, "\n\n \n\n\n \n\n");
- @fclose($index);
- }
- }
- }
-
- // All seems to be good, lets move the attachment!
- $filename = "post_".$mybb->user['uid']."_".TIME_NOW."_".md5(random_str()).".attach";
-
- $file = upload_file($attachment, $mybb->settings['uploadspath']."/".$month_dir, $filename);
-
- // Failed to create the attachment in the monthly directory, just throw it in the main directory
- if(!empty($file['error']) && $month_dir)
- {
- $file = upload_file($attachment, $mybb->settings['uploadspath'].'/', $filename);
- }
- elseif($month_dir)
- {
- $filename = $month_dir."/".$filename;
- }
-
- if(!empty($file['error']))
- {
- $ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail;
- switch($file['error'])
- {
- case 1:
- $ret['error'] .= $lang->error_uploadfailed_nothingtomove;
- break;
- case 2:
- $ret['error'] .= $lang->error_uploadfailed_movefailed;
- break;
- }
- return $ret;
- }
-
- // Lets just double check that it exists
- if(!file_exists($mybb->settings['uploadspath']."/".$filename))
- {
- $ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail.$lang->error_uploadfailed_lost;
- return $ret;
- }
-
- // Generate the array for the insert_query
- $attacharray = array(
- "pid" => $pid,
- "posthash" => $posthash,
- "uid" => $mybb->user['uid'],
- "filename" => $db->escape_string($file['original_filename']),
- "filetype" => $db->escape_string($file['type']),
- "filesize" => (int)$file['size'],
- "attachname" => $filename,
- "downloads" => 0,
- "dateuploaded" => TIME_NOW
- );
-
- // If we're uploading an image, check the MIME type compared to the image type and attempt to generate a thumbnail
- if($ext == "gif" || $ext == "png" || $ext == "jpg" || $ext == "jpeg" || $ext == "jpe")
- {
- // Check a list of known MIME types to establish what kind of image we're uploading
- switch(my_strtolower($file['type']))
- {
- case "image/gif":
- $img_type = 1;
- break;
- case "image/jpeg":
- case "image/x-jpg":
- case "image/x-jpeg":
- case "image/pjpeg":
- case "image/jpg":
- $img_type = 2;
- break;
- case "image/png":
- case "image/x-png":
- $img_type = 3;
- break;
- default:
- $img_type = 0;
- }
-
- $supported_mimes = array();
- foreach($attachtypes as $attachtype)
- {
- if(!empty($attachtype['mimetype']))
- {
- $supported_mimes[] = $attachtype['mimetype'];
- }
- }
-
- // Check if the uploaded file type matches the correct image type (returned by getimagesize)
- $img_dimensions = @getimagesize($mybb->settings['uploadspath']."/".$filename);
-
- $mime = "";
- $file_path = $mybb->settings['uploadspath']."/".$filename;
- if(function_exists("finfo_open"))
- {
- $file_info = finfo_open(FILEINFO_MIME);
- list($mime, ) = explode(';', finfo_file($file_info, MYBB_ROOT.$file_path), 1);
- finfo_close($file_info);
- }
- else if(function_exists("mime_content_type"))
- {
- $mime = mime_content_type(MYBB_ROOT.$file_path);
- }
-
- if(!is_array($img_dimensions) || ($img_dimensions[2] != $img_type && !in_array($mime, $supported_mimes)))
- {
- delete_uploaded_file($mybb->settings['uploadspath']."/".$filename);
- $ret['error'] = $lang->error_uploadfailed;
- return $ret;
- }
- require_once MYBB_ROOT."inc/functions_image.php";
- $thumbname = str_replace(".attach", "_thumb.$ext", $filename);
-
- $attacharray = $plugins->run_hooks("upload_attachment_thumb_start", $attacharray);
-
- $thumbnail = generate_thumbnail($mybb->settings['uploadspath']."/".$filename, $mybb->settings['uploadspath'], $thumbname, $mybb->settings['attachthumbh'], $mybb->settings['attachthumbw']);
-
- if($thumbnail['filename'])
- {
- $attacharray['thumbnail'] = $thumbnail['filename'];
- }
- elseif($thumbnail['code'] == 4)
- {
- $attacharray['thumbnail'] = "SMALL";
- }
- }
- if($forumpermissions['modattachments'] == 1 && !is_moderator($forum['fid'], "canapproveunapproveattachs"))
- {
- $attacharray['visible'] = 0;
- }
- else
- {
- $attacharray['visible'] = 1;
- }
-
- $attacharray = $plugins->run_hooks("upload_attachment_do_insert", $attacharray);
-
- if($prevattach['aid'] && $update_attachment == true)
- {
- unset($attacharray['downloads']); // Keep our download count if we're updating an attachment
- $db->update_query("attachments", $attacharray, "aid='".$db->escape_string($prevattach['aid'])."'");
-
- // Remove old attachment file
- // Check if this attachment is referenced in any other posts. If it isn't, then we are safe to delete the actual file.
- $query = $db->simple_select("attachments", "COUNT(aid) as numreferences", "attachname='".$db->escape_string($prevattach['attachname'])."'");
- if($db->fetch_field($query, "numreferences") == 0)
- {
- delete_uploaded_file($mybb->settings['uploadspath']."/".$prevattach['attachname']);
- if($prevattach['thumbnail'])
- {
- delete_uploaded_file($mybb->settings['uploadspath']."/".$prevattach['thumbnail']);
- }
-
- $date_directory = explode('/', $prevattach['attachname']);
- if(@is_dir($mybb->settings['uploadspath']."/".$date_directory[0]))
- {
- delete_upload_directory($mybb->settings['uploadspath']."/".$date_directory[0]);
- }
- }
-
- $aid = $prevattach['aid'];
- }
- else
- {
- $aid = $db->insert_query("attachments", $attacharray);
- if($pid)
- {
- update_thread_counters($tid, array("attachmentcount" => "+1"));
- }
- }
- $ret['aid'] = $aid;
- return $ret;
-}
-
-/**
- * Delete an uploaded file both from the relative path and the CDN path if a CDN is in use.
- *
- * @param string $path The relative path to the uploaded file.
- *
- * @return bool Whether the file was deleted successfully.
- */
-function delete_uploaded_file($path = '')
-{
- global $mybb, $plugins;
-
- $deleted = false;
-
- $deleted = @unlink($path);
-
- $cdn_base_path = rtrim($mybb->settings['cdnpath'], '/');
- $path = ltrim($path, '/');
- $cdn_path = realpath($cdn_base_path . '/' . $path);
-
- if($mybb->settings['usecdn'] && !empty($cdn_base_path))
- {
- $deleted = $deleted && @unlink($cdn_path);
- }
-
- $hook_params = array(
- 'path' => &$path,
- 'deleted' => &$deleted,
- );
-
- $plugins->run_hooks('delete_uploaded_file', $hook_params);
-
- return $deleted;
-}
-
-/**
- * Delete an upload directory on both the local filesystem and the CDN filesystem.
- *
- * @param string $path The directory to delete.
- *
- * @return bool Whether the directory was deleted.
- */
-function delete_upload_directory($path = '')
-{
- global $mybb, $plugins;
-
- $deleted = false;
-
- $deleted = @rmdir($path);
-
- $cdn_base_path = rtrim($mybb->settings['cdnpath'], '/');
- $path = ltrim($path, '/');
- $cdn_path = rtrim(realpath($cdn_base_path . '/' . $path), '/');
-
- if($mybb->settings['usecdn'] && !empty($cdn_base_path))
- {
- $deleted = $deleted && @rmdir($cdn_path);
- }
-
- $hook_params = array(
- 'path' => &$path,
- 'deleted' => &$deleted,
- );
-
- $plugins->run_hooks('delete_upload_directory', $hook_params);
-
- return $deleted;
-}
-
-/**
- * Actually move a file to the uploads directory
- *
- * @param array $file The PHP $_FILE array for the file
- * @param string $path The path to save the file in
- * @param string $filename The filename for the file (if blank, current is used)
- * @return array The uploaded file
- */
-function upload_file($file, $path, $filename="")
-{
- global $plugins, $mybb;
-
- $upload = array();
-
- if(empty($file['name']) || $file['name'] == "none" || $file['size'] < 1)
- {
- $upload['error'] = 1;
- return $upload;
- }
-
- if(!$filename)
- {
- $filename = $file['name'];
- }
-
- $upload['original_filename'] = preg_replace("#/$#", "", $file['name']); // Make the filename safe
- $filename = preg_replace("#/$#", "", $filename); // Make the filename safe
- $moved = @move_uploaded_file($file['tmp_name'], $path."/".$filename);
-
- $cdn_path = '';
-
- $moved_cdn = copy_file_to_cdn($path."/".$filename, $cdn_path);
-
- if(!$moved)
- {
- $upload['error'] = 2;
- return $upload;
- }
- @my_chmod($path."/".$filename, '0644');
- $upload['filename'] = $filename;
- $upload['path'] = $path;
- $upload['type'] = $file['type'];
- $upload['size'] = $file['size'];
- $upload = $plugins->run_hooks("upload_file_end", $upload);
-
- if($moved_cdn)
- {
- $upload['cdn_path'] = $cdn_path;
- }
-
- return $upload;
-}
diff --git a/html/forums/inc/functions_user.php b/html/forums/inc/functions_user.php
deleted file mode 100644
index 7fcddd4..0000000
--- a/html/forums/inc/functions_user.php
+++ /dev/null
@@ -1,848 +0,0 @@
-simple_select("users", "COUNT(*) as user", "uid='".(int)$uid."'", array('limit' => 1));
- if($db->fetch_field($query, 'user') == 1)
- {
- return true;
- }
- else
- {
- return false;
- }
-}
-
-/**
- * Checks if $username already exists in the database.
- *
- * @param string $username The username for check for.
- * @return boolean True when exists, false when not.
- */
-function username_exists($username)
-{
- $options = array(
- 'username_method' => 2
- );
-
- return (bool)get_user_by_username($username, $options);
-}
-
-/**
- * Checks a password with a supplied username.
- *
- * @param string $username The username of the user.
- * @param string $password The plain-text password.
- * @return boolean|array False when no match, array with user info when match.
- */
-function validate_password_from_username($username, $password)
-{
- global $mybb;
-
- $options = array(
- 'fields' => '*',
- 'username_method' => $mybb->settings['username_method'],
- );
-
- $user = get_user_by_username($username, $options);
-
- if(!$user['uid'])
- {
- return false;
- }
-
- return validate_password_from_uid($user['uid'], $password, $user);
-}
-
-/**
- * Checks a password with a supplied uid.
- *
- * @param int $uid The user id.
- * @param string $password The plain-text password.
- * @param array $user An optional user data array.
- * @return boolean|array False when not valid, user data array when valid.
- */
-function validate_password_from_uid($uid, $password, $user = array())
-{
- global $db, $mybb;
- if(isset($mybb->user['uid']) && $mybb->user['uid'] == $uid)
- {
- $user = $mybb->user;
- }
- if(!$user['password'])
- {
- $user = get_user($uid);
- }
- if(!$user['salt'])
- {
- // Generate a salt for this user and assume the password stored in db is a plain md5 password
- $password_fields = create_password($user['password'], false, $user);
- $db->update_query("users", $password_fields, "uid='".$user['uid']."'");
- }
-
- if(!$user['loginkey'])
- {
- $user['loginkey'] = generate_loginkey();
- $sql_array = array(
- "loginkey" => $user['loginkey']
- );
- $db->update_query("users", $sql_array, "uid = ".$user['uid']);
- }
- if(verify_user_password($user, $password))
- {
- return $user;
- }
- else
- {
- return false;
- }
-}
-
-/**
- * Updates a user's password.
- *
- * @param int $uid The user's id.
- * @param string $password The md5()'ed password.
- * @param string $salt (Optional) The salt of the user.
- * @return array The new password.
- * @deprecated deprecated since version 1.8.6 Please use other alternatives.
- */
-function update_password($uid, $password, $salt="")
-{
- global $db, $plugins;
-
- $newpassword = array();
-
- // If no salt was specified, check in database first, if still doesn't exist, create one
- if(!$salt)
- {
- $query = $db->simple_select("users", "salt", "uid='$uid'");
- $user = $db->fetch_array($query);
- if($user['salt'])
- {
- $salt = $user['salt'];
- }
- else
- {
- $salt = generate_salt();
- }
- $newpassword['salt'] = $salt;
- }
-
- // Create new password based on salt
- $saltedpw = salt_password($password, $salt);
-
- // Generate new login key
- $loginkey = generate_loginkey();
-
- // Update password and login key in database
- $newpassword['password'] = $saltedpw;
- $newpassword['loginkey'] = $loginkey;
- $db->update_query("users", $newpassword, "uid='$uid'");
-
- $plugins->run_hooks("password_changed");
-
- return $newpassword;
-}
-
-/**
- * Salts a password based on a supplied salt.
- *
- * @param string $password The md5()'ed password.
- * @param string $salt The salt.
- * @return string The password hash.
- * @deprecated deprecated since version 1.8.9 Please use other alternatives.
- */
-function salt_password($password, $salt)
-{
- return md5(md5($salt).$password);
-}
-
-/**
- * Salts a password based on a supplied salt.
- *
- * @param string $password The input password.
- * @param string $salt (Optional) The salt used by the MyBB algorithm.
- * @param string $user (Optional) An array containing password-related data.
- * @return array Password-related fields.
- */
-function create_password($password, $salt = false, $user = false)
-{
- global $plugins;
-
- $fields = null;
-
- $parameters = compact('password', 'salt', 'user', 'fields');
-
- if(!defined('IN_INSTALL') && !defined('IN_UPGRADE'))
- {
- $plugins->run_hooks('create_password', $parameters);
- }
-
- if(!is_null($parameters['fields']))
- {
- $fields = $parameters['fields'];
- }
- else
- {
- if(!$salt)
- {
- $salt = generate_salt();
- }
-
- $hash = md5(md5($salt).md5($password));
-
- $fields = array(
- 'salt' => $salt,
- 'password' => $hash,
- );
- }
-
- return $fields;
-}
-
-/**
- * Compares user's password data against provided input.
- *
- * @param array $user An array containing password-related data.
- * @param string $password The plain-text input password.
- * @return bool Result of the comparison.
- */
-function verify_user_password($user, $password)
-{
- global $plugins;
-
- $result = null;
-
- $parameters = compact('user', 'password', 'result');
-
- if(!defined('IN_INSTALL') && !defined('IN_UPGRADE'))
- {
- $plugins->run_hooks('verify_user_password', $parameters);
- }
-
- if(!is_null($parameters['result']))
- {
- return $parameters['result'];
- }
- else
- {
- $password_fields = create_password($password, $user['salt'], $user);
-
- return my_hash_equals($user['password'], $password_fields['password']);
- }
-}
-
-/**
- * Performs a timing attack safe string comparison.
- *
- * @param string $known_string The first string to be compared.
- * @param string $user_string The second, user-supplied string to be compared.
- * @return bool Result of the comparison.
- */
-function my_hash_equals($known_string, $user_string)
-{
- if(version_compare(PHP_VERSION, '5.6.0', '>='))
- {
- return hash_equals($known_string, $user_string);
- }
- else
- {
- $known_string_length = my_strlen($known_string);
- $user_string_length = my_strlen($user_string);
-
- if($user_string_length != $known_string_length)
- {
- return false;
- }
-
- $result = 0;
-
- for($i = 0; $i < $known_string_length; $i++)
- {
- $result |= ord($known_string[$i]) ^ ord($user_string[$i]);
- }
-
- return $result === 0;
- }
-}
-
-/**
- * Generates a random salt
- *
- * @return string The salt.
- */
-function generate_salt()
-{
- return random_str(8);
-}
-
-/**
- * Generates a 50 character random login key.
- *
- * @return string The login key.
- */
-function generate_loginkey()
-{
- return random_str(50);
-}
-
-/**
- * Updates a user's salt in the database (does not update a password).
- *
- * @param int $uid The uid of the user to update.
- * @return string The new salt.
- */
-function update_salt($uid)
-{
- global $db;
-
- $salt = generate_salt();
- $sql_array = array(
- "salt" => $salt
- );
- $db->update_query("users", $sql_array, "uid='{$uid}'");
-
- return $salt;
-}
-
-/**
- * Generates a new login key for a user.
- *
- * @param int $uid The uid of the user to update.
- * @return string The new login key.
- */
-function update_loginkey($uid)
-{
- global $db;
-
- $loginkey = generate_loginkey();
- $sql_array = array(
- "loginkey" => $loginkey
- );
- $db->update_query("users", $sql_array, "uid='{$uid}'");
-
- return $loginkey;
-
-}
-
-/**
- * Adds a thread to a user's thread subscription list.
- * If no uid is supplied, the currently logged in user's id will be used.
- *
- * @param int $tid The tid of the thread to add to the list.
- * @param int $notification (Optional) The type of notification to receive for replies (0=none, 1=email, 2=pm)
- * @param int $uid (Optional) The uid of the user who's list to update.
- * @return boolean True when success, false when otherwise.
- */
-function add_subscribed_thread($tid, $notification=1, $uid=0)
-{
- global $mybb, $db;
-
- if(!$uid)
- {
- $uid = $mybb->user['uid'];
- }
-
- if(!$uid)
- {
- return false;
- }
-
- $query = $db->simple_select("threadsubscriptions", "*", "tid='".(int)$tid."' AND uid='".(int)$uid."'");
- $subscription = $db->fetch_array($query);
- if(!$subscription['tid'])
- {
- $insert_array = array(
- 'uid' => (int)$uid,
- 'tid' => (int)$tid,
- 'notification' => (int)$notification,
- 'dateline' => TIME_NOW
- );
- $db->insert_query("threadsubscriptions", $insert_array);
- }
- else
- {
- // Subscription exists - simply update notification
- $update_array = array(
- "notification" => (int)$notification
- );
- $db->update_query("threadsubscriptions", $update_array, "uid='{$uid}' AND tid='{$tid}'");
- }
- return true;
-}
-
-/**
- * Remove a thread from a user's thread subscription list.
- * If no uid is supplied, the currently logged in user's id will be used.
- *
- * @param int $tid The tid of the thread to remove from the list.
- * @param int $uid (Optional) The uid of the user who's list to update.
- * @return boolean True when success, false when otherwise.
- */
-function remove_subscribed_thread($tid, $uid=0)
-{
- global $mybb, $db;
-
- if(!$uid)
- {
- $uid = $mybb->user['uid'];
- }
-
- if(!$uid)
- {
- return false;
- }
- $db->delete_query("threadsubscriptions", "tid='".$tid."' AND uid='{$uid}'");
-
- return true;
-}
-
-/**
- * Adds a forum to a user's forum subscription list.
- * If no uid is supplied, the currently logged in user's id will be used.
- *
- * @param int $fid The fid of the forum to add to the list.
- * @param int $uid (Optional) The uid of the user who's list to update.
- * @return boolean True when success, false when otherwise.
- */
-function add_subscribed_forum($fid, $uid=0)
-{
- global $mybb, $db;
-
- if(!$uid)
- {
- $uid = $mybb->user['uid'];
- }
-
- if(!$uid)
- {
- return false;
- }
-
- $fid = (int)$fid;
- $uid = (int)$uid;
-
- $query = $db->simple_select("forumsubscriptions", "*", "fid='".$fid."' AND uid='{$uid}'", array('limit' => 1));
- $fsubscription = $db->fetch_array($query);
- if(!$fsubscription['fid'])
- {
- $insert_array = array(
- 'fid' => $fid,
- 'uid' => $uid
- );
- $db->insert_query("forumsubscriptions", $insert_array);
- }
-
- return true;
-}
-
-/**
- * Removes a forum from a user's forum subscription list.
- * If no uid is supplied, the currently logged in user's id will be used.
- *
- * @param int $fid The fid of the forum to remove from the list.
- * @param int $uid (Optional) The uid of the user who's list to update.
- * @return boolean True when success, false when otherwise.
- */
-function remove_subscribed_forum($fid, $uid=0)
-{
- global $mybb, $db;
-
- if(!$uid)
- {
- $uid = $mybb->user['uid'];
- }
-
- if(!$uid)
- {
- return false;
- }
- $db->delete_query("forumsubscriptions", "fid='".$fid."' AND uid='{$uid}'");
-
- return true;
-}
-
-/**
- * Constructs the usercp navigation menu.
- *
- */
-function usercp_menu()
-{
- global $mybb, $templates, $theme, $plugins, $lang, $usercpnav, $usercpmenu;
-
- $lang->load("usercpnav");
-
- // Add the default items as plugins with separated priorities of 10
- if($mybb->settings['enablepms'] != 0 && $mybb->usergroup['canusepms'] == 1)
- {
- $plugins->add_hook("usercp_menu", "usercp_menu_messenger", 10);
- }
-
- if($mybb->usergroup['canusercp'] == 1)
- {
- $plugins->add_hook("usercp_menu", "usercp_menu_profile", 20);
- $plugins->add_hook("usercp_menu", "usercp_menu_misc", 30);
- }
-
- // Run the plugin hooks
- $plugins->run_hooks("usercp_menu");
- global $usercpmenu;
-
- if($mybb->usergroup['canusercp'] == 1)
- {
- eval("\$ucp_nav_home = \"".$templates->get("usercp_nav_home")."\";");
- }
-
- eval("\$usercpnav = \"".$templates->get("usercp_nav")."\";");
-
- $plugins->run_hooks("usercp_menu_built");
-}
-
-/**
- * Constructs the usercp messenger menu.
- *
- */
-function usercp_menu_messenger()
-{
- global $db, $mybb, $templates, $theme, $usercpmenu, $lang, $collapsed, $collapsedimg;
-
- $usercp_nav_messenger = $templates->get("usercp_nav_messenger");
- // Hide tracking link if no permission
- $tracking = '';
- if($mybb->usergroup['cantrackpms'])
- {
- $tracking = $templates->get("usercp_nav_messenger_tracking");
- }
- eval("\$ucp_nav_tracking = \"". $tracking ."\";");
-
- // Hide compose link if no permission
- $ucp_nav_compose = '';
- if($mybb->usergroup['cansendpms'] == 1)
- {
- eval("\$ucp_nav_compose = \"".$templates->get("usercp_nav_messenger_compose")."\";");
- }
-
- $folderlinks = $folder_id = $folder_name = '';
- $foldersexploded = explode("$%%$", $mybb->user['pmfolders']);
- foreach($foldersexploded as $key => $folders)
- {
- $folderinfo = explode("**", $folders, 2);
- $folderinfo[1] = get_pm_folder_name($folderinfo[0], $folderinfo[1]);
- if($folderinfo[0] == 4)
- {
- $class = "usercp_nav_trash_pmfolder";
- }
- else if($folderlinks)
- {
- $class = "usercp_nav_sub_pmfolder";
- }
- else
- {
- $class = "usercp_nav_pmfolder";
- }
-
- $folder_id = $folderinfo[0];
- $folder_name = $folderinfo[1];
-
- eval("\$folderlinks .= \"".$templates->get("usercp_nav_messenger_folder")."\";");
- }
-
- if(!isset($collapsedimg['usercppms']))
- {
- $collapsedimg['usercppms'] = '';
- }
-
- if(!isset($collapsed['usercppms_e']))
- {
- $collapsed['usercppms_e'] = '';
- }
-
- eval("\$usercpmenu .= \"".$usercp_nav_messenger."\";");
-}
-
-/**
- * Constructs the usercp profile menu.
- *
- */
-function usercp_menu_profile()
-{
- global $db, $mybb, $templates, $theme, $usercpmenu, $lang, $collapsed, $collapsedimg;
-
- $changenameop = '';
- if($mybb->usergroup['canchangename'] != 0)
- {
- eval("\$changenameop = \"".$templates->get("usercp_nav_changename")."\";");
- }
-
- $changesigop = '';
- if($mybb->usergroup['canusesig'] == 1 && ($mybb->usergroup['canusesigxposts'] == 0 || $mybb->usergroup['canusesigxposts'] > 0 && $mybb->user['postnum'] > $mybb->usergroup['canusesigxposts']))
- {
- if($mybb->user['suspendsignature'] == 0 || $mybb->user['suspendsignature'] == 1 && $mybb->user['suspendsigtime'] > 0 && $mybb->user['suspendsigtime'] < TIME_NOW)
- {
- eval("\$changesigop = \"".$templates->get("usercp_nav_editsignature")."\";");
- }
- }
-
- if(!isset($collapsedimg['usercpprofile']))
- {
- $collapsedimg['usercpprofile'] = '';
- }
-
- if(!isset($collapsed['usercpprofile_e']))
- {
- $collapsed['usercpprofile_e'] = '';
- }
-
- eval("\$usercpmenu .= \"".$templates->get("usercp_nav_profile")."\";");
-}
-
-/**
- * Constructs the usercp misc menu.
- *
- */
-function usercp_menu_misc()
-{
- global $db, $mybb, $templates, $theme, $usercpmenu, $lang, $collapsed, $collapsedimg;
-
- $draftstart = $draftend = '';
- $draftcount = $lang->ucp_nav_drafts;
-
- $query = $db->simple_select("posts", "COUNT(pid) AS draftcount", "visible = '-2' AND uid = '{$mybb->user['uid']}'");
- $count = $db->fetch_field($query, 'draftcount');
-
- if($count > 0)
- {
- $draftcount = $lang->sprintf($lang->ucp_nav_drafts_active, my_number_format($count));
- }
-
- if($mybb->settings['enableattachments'] != 0)
- {
- eval("\$attachmentop = \"".$templates->get("usercp_nav_attachments")."\";");
- }
-
- if(!isset($collapsedimg['usercpmisc']))
- {
- $collapsedimg['usercpmisc'] = '';
- }
-
- if(!isset($collapsed['usercpmisc_e']))
- {
- $collapsed['usercpmisc_e'] = '';
- }
-
- $profile_link = get_profile_link($mybb->user['uid']);
- eval("\$usercpmenu .= \"".$templates->get("usercp_nav_misc")."\";");
-}
-
-/**
- * Gets the usertitle for a specific uid.
- *
- * @param int $uid The uid of the user to get the usertitle of.
- * @return string The usertitle of the user.
- */
-function get_usertitle($uid=0)
-{
- global $db, $mybb;
-
- if($mybb->user['uid'] == $uid)
- {
- $user = $mybb->user;
- }
- else
- {
- $query = $db->simple_select("users", "usertitle,postnum", "uid='$uid'", array('limit' => 1));
- $user = $db->fetch_array($query);
- }
-
- if($user['usertitle'])
- {
- return $user['usertitle'];
- }
- else
- {
- $usertitles = $mybb->cache->read('usertitles');
- foreach($usertitles as $title)
- {
- if($title['posts'] <= $user['postnum'])
- {
- $usertitle = $title;
- break;
- }
- }
-
- return $usertitle['title'];
- }
-}
-
-/**
- * Updates a users private message count in the users table with the number of pms they have.
- *
- * @param int $uid The user id to update the count for. If none, assumes currently logged in user.
- * @param int $count_to_update Bitwise value for what to update. 1 = total, 2 = new, 4 = unread. Combinations accepted.
- * @return array The updated counters
- */
-function update_pm_count($uid=0, $count_to_update=7)
-{
- global $db, $mybb;
-
- // If no user id, assume that we mean the current logged in user.
- if((int)$uid == 0)
- {
- $uid = $mybb->user['uid'];
- }
-
- $uid = (int)$uid;
- $pmcount = array();
- if($uid == 0)
- {
- return $pmcount;
- }
-
- // Update total number of messages.
- if($count_to_update & 1)
- {
- $query = $db->simple_select("privatemessages", "COUNT(pmid) AS pms_total", "uid='".$uid."'");
- $total = $db->fetch_array($query);
- $pmcount['totalpms'] = $total['pms_total'];
- }
-
- // Update number of unread messages.
- if($count_to_update & 2 && $db->field_exists("unreadpms", "users") == true)
- {
- $query = $db->simple_select("privatemessages", "COUNT(pmid) AS pms_unread", "uid='".$uid."' AND status='0' AND folder='1'");
- $unread = $db->fetch_array($query);
- $pmcount['unreadpms'] = $unread['pms_unread'];
- }
-
- if(!empty($pmcount))
- {
- $db->update_query("users", $pmcount, "uid='".$uid."'");
- }
- return $pmcount;
-}
-
-/**
- * Return the language specific name for a PM folder.
- *
- * @param int $fid The ID of the folder.
- * @param string $name The folder name - can be blank, will use language default.
- * @return string The name of the folder.
- */
-function get_pm_folder_name($fid, $name="")
-{
- global $lang;
-
- if($name != '')
- {
- return $name;
- }
-
- switch($fid)
- {
- case 1:
- return $lang->folder_inbox;
- break;
- case 2:
- return $lang->folder_sent_items;
- break;
- case 3:
- return $lang->folder_drafts;
- break;
- case 4:
- return $lang->folder_trash;
- break;
- default:
- return $lang->folder_untitled;
- }
-}
-
-/**
- * Generates a security question for registration.
- *
- * @param int $old_qid Optional ID of the old question.
- * @return string The question session id.
- */
-function generate_question($old_qid=0)
-{
- global $db;
-
- if($db->type == 'pgsql' || $db->type == 'sqlite')
- {
- $order_by = 'RANDOM()';
- }
- else
- {
- $order_by = 'RAND()';
- }
-
- if($old_qid)
- {
- $excl_old = ' AND qid != '.(int)$old_qid;
- }
-
- $query = $db->simple_select('questions', 'qid, shown', "active=1{$excl_old}", array('limit' => 1, 'order_by' => $order_by));
- $question = $db->fetch_array($query);
-
- if(!$db->num_rows($query))
- {
- // No active questions exist
- return false;
- }
- else
- {
- $sessionid = random_str(32);
-
- $sql_array = array(
- "sid" => $sessionid,
- "qid" => $question['qid'],
- "dateline" => TIME_NOW
- );
- $db->insert_query("questionsessions", $sql_array);
-
- $update_question = array(
- "shown" => $question['shown'] + 1
- );
- $db->update_query("questions", $update_question, "qid = '{$question['qid']}'");
-
- return $sessionid;
- }
-}
-
-/**
- * Check whether we can show the Purge Spammer Feature
- *
- * @param int $post_count The users post count
- * @param int $usergroup The usergroup of our user
- * @param int $uid The uid of our user
- * @return boolean Whether or not to show the feature
- */
-function purgespammer_show($post_count, $usergroup, $uid)
-{
- global $mybb, $cache;
-
- // only show this if the current user has permission to use it and the user has less than the post limit for using this tool
- $bangroup = $mybb->settings['purgespammerbangroup'];
- $usergroups = $cache->read('usergroups');
-
- return ($mybb->user['uid'] != $uid && is_member($mybb->settings['purgespammergroups']) && !is_super_admin($uid)
- && !$usergroups[$usergroup]['cancp'] && !$usergroups[$usergroup]['canmodcp'] && !$usergroups[$usergroup]['issupermod']
- && (str_replace($mybb->settings['thousandssep'], '', $post_count) <= $mybb->settings['purgespammerpostlimit'] || $mybb->settings['purgespammerpostlimit'] == 0)
- && !is_member($bangroup, $uid) && !$usergroups[$usergroup]['isbannedgroup']);
-}
diff --git a/html/forums/inc/functions_warnings.php b/html/forums/inc/functions_warnings.php
deleted file mode 100644
index 0fdd5f9..0000000
--- a/html/forums/inc/functions_warnings.php
+++ /dev/null
@@ -1,125 +0,0 @@
- -1, // Ban
- 2 => -1, // Revoke posting
- 3 => -1 // Moderate posting
- );
- $check_levels = array(
- 1 => false, // Ban
- 2 => false, // Revoke posting
- 3 => false // Moderate posting
- );
- while($warn_level = $db->fetch_array($query))
- {
- // revoke actions taken at this warning level
- $action = my_unserialize($warn_level['action']);
- if($action['type'] < 1 || $action['type'] > 3) // prevent any freak-ish cases
- {
- continue;
- }
-
- $check_levels[$action['type']] = true;
-
- $max_exp_time = &$max_expiration_times[$action['type']];
- if($action['length'] && $max_exp_time != 0)
- {
- $expiration = $action['length'];
- if($expiration > $max_exp_time)
- {
- $max_exp_time = $expiration;
- }
- }
- else
- {
- $max_exp_time = 0;
- }
- }
-}
-
-/**
- * Returns a friendly expiration time of a suspension/warning
- *
- * @param int $time The time period of the suspension/warning
- * @return array An array of the time/period remaining
- */
-function fetch_friendly_expiration($time)
-{
- if($time == 0 || $time == -1)
- {
- return array("period" => "never");
- }
- else if($time % 2592000 == 0)
- {
- return array("time" => $time/2592000, "period" => "months");
- }
- else if($time % 604800 == 0)
- {
- return array("time" => $time/604800, "period" => "weeks");
- }
- else if($time % 86400 == 0)
- {
- return array("time" => $time/86400, "period" => "days");
- }
- else
- {
- return array("time" => ceil($time/3600), "period" => "hours");
- }
-}
-
-/**
- * Figures out the length of a suspension/warning
- *
- * @param int $time The amount of time to calculate the length of suspension/warning
- * @param string $period The period of time to calculate the length of suspension/warning
- * @return int Length of the suspension/warning (in seconds)
- */
-function fetch_time_length($time, $period)
-{
- $time = (int)$time;
-
- if($period == "hours")
- {
- $time = $time*3600;
- }
- else if($period == "days")
- {
- $time = $time*86400;
- }
- else if($period == "weeks")
- {
- $time = $time*604800;
- }
- else if($period == "months")
- {
- $time = $time*2592000;
- }
- else if($period == "never" && $time == 0)
- {
- // User is permanentely banned
- $time = "-1";
- }
- else
- {
- $time = 0;
- }
- return $time;
-}
diff --git a/html/forums/inc/index.html b/html/forums/inc/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/inc/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/init.php b/html/forums/inc/init.php
deleted file mode 100644
index 62d06e1..0000000
--- a/html/forums/inc/init.php
+++ /dev/null
@@ -1,302 +0,0 @@
- Please make sure IN_MYBB is defined.");
-}
-
-/* Defines the root directory for MyBB.
-
- Uncomment the below line and set the path manually
- if you experience problems.
-
- Always add a trailing slash to the end of the path.
-
- * Path to your copy of MyBB
- */
-//define('MYBB_ROOT', "./");
-
-// Attempt autodetection
-if(!defined('MYBB_ROOT'))
-{
- define('MYBB_ROOT', dirname(dirname(__FILE__))."/");
-}
-
-define("TIME_NOW", time());
-
-if(function_exists('date_default_timezone_set') && !ini_get('date.timezone'))
-{
- date_default_timezone_set('GMT');
-}
-
-require_once MYBB_ROOT."inc/class_error.php";
-$error_handler = new errorHandler();
-
-if(!function_exists('json_encode') || !function_exists('json_decode'))
-{
- require_once MYBB_ROOT.'inc/3rdparty/json/json.php';
-}
-
-require_once MYBB_ROOT."inc/functions.php";
-
-require_once MYBB_ROOT."inc/class_timers.php";
-$maintimer = new timer();
-
-require_once MYBB_ROOT."inc/class_core.php";
-$mybb = new MyBB;
-
-$not_installed = false;
-if(!file_exists(MYBB_ROOT."inc/config.php"))
-{
- $not_installed = true;
-}
-else
-{
- // Include the required core files
- require_once MYBB_ROOT."inc/config.php";
- $mybb->config = &$config;
-
- if(!isset($config['database']))
- {
- $not_installed = true;
- }
-}
-
-if($not_installed !== false)
-{
- if(file_exists(MYBB_ROOT."install/index.php"))
- {
- if(defined("IN_ARCHIVE") || defined("IN_ADMINCP"))
- {
- header("Location: ../install/index.php");
- exit;
- }
- header("Location: ./install/index.php");
- exit;
- }
-
- $mybb->trigger_generic_error("board_not_installed");
-}
-
-if(!is_array($config['database']))
-{
- $mybb->trigger_generic_error("board_not_upgraded");
-}
-
-if(empty($config['admin_dir']))
-{
- $config['admin_dir'] = "admin";
-}
-
-// Trigger an error if the installation directory exists
-if(is_dir(MYBB_ROOT."install") && !file_exists(MYBB_ROOT."install/lock"))
-{
- $mybb->trigger_generic_error("install_directory");
-}
-
-// Load DB interface
-require_once MYBB_ROOT."inc/db_base.php";
-
-require_once MYBB_ROOT."inc/db_".$config['database']['type'].".php";
-
-switch($config['database']['type'])
-{
- case "sqlite":
- $db = new DB_SQLite;
- break;
- case "pgsql":
- $db = new DB_PgSQL;
- break;
- case "mysqli":
- $db = new DB_MySQLi;
- break;
- default:
- $db = new DB_MySQL;
-}
-
-// Check if our DB engine is loaded
-if(!extension_loaded($db->engine))
-{
- // Throw our super awesome db loading error
- $mybb->trigger_generic_error("sql_load_error");
-}
-
-require_once MYBB_ROOT."inc/class_templates.php";
-$templates = new templates;
-
-require_once MYBB_ROOT."inc/class_datacache.php";
-$cache = new datacache;
-
-require_once MYBB_ROOT."inc/class_plugins.php";
-$plugins = new pluginSystem;
-
-// Include our base data handler class
-require_once MYBB_ROOT."inc/datahandler.php";
-
-// Connect to Database
-define("TABLE_PREFIX", $config['database']['table_prefix']);
-$db->connect($config['database']);
-$db->set_table_prefix(TABLE_PREFIX);
-$db->type = $config['database']['type'];
-
-// Language initialisation
-require_once MYBB_ROOT."inc/class_language.php";
-$lang = new MyLanguage;
-$lang->set_path(MYBB_ROOT."inc/languages");
-
-// Load cache
-$cache->cache();
-
-// Load Settings
-if(file_exists(MYBB_ROOT."inc/settings.php"))
-{
- require_once MYBB_ROOT."inc/settings.php";
-}
-
-if(!file_exists(MYBB_ROOT."inc/settings.php") || empty($settings))
-{
- if(function_exists('rebuild_settings'))
- {
- rebuild_settings();
- }
- else
- {
- $options = array(
- "order_by" => "title",
- "order_dir" => "ASC"
- );
-
- $query = $db->simple_select("settings", "value, name", "", $options);
-
- $settings = array();
- while($setting = $db->fetch_array($query))
- {
- $setting['value'] = str_replace("\"", "\\\"", $setting['value']);
- $settings[$setting['name']] = $setting['value'];
- }
- $db->free_result($query);
- }
-}
-
-$settings['wolcutoff'] = $settings['wolcutoffmins']*60;
-$settings['bbname_orig'] = $settings['bbname'];
-$settings['bbname'] = strip_tags($settings['bbname']);
-$settings['orig_bblanguage'] = $settings['bblanguage'];
-
-// Fix for people who for some specify a trailing slash on the board URL
-if(substr($settings['bburl'], -1) == "/")
-{
- $settings['bburl'] = my_substr($settings['bburl'], 0, -1);
-}
-
-// Setup our internal settings and load our encryption key
-$settings['internal'] = $cache->read("internal_settings");
-if(!$settings['internal']['encryption_key'])
-{
- $cache->update("internal_settings", array('encryption_key' => random_str(32)));
- $settings['internal'] = $cache->read("internal_settings");
-}
-
-$mybb->settings = &$settings;
-$mybb->parse_cookies();
-$mybb->cache = &$cache;
-$mybb->asset_url = $mybb->get_asset_url();
-
-if($mybb->use_shutdown == true)
-{
- register_shutdown_function('run_shutdown');
-}
-
-// Did we just upgrade to a new version and haven't run the upgrade scripts yet?
-$version = $cache->read("version");
-if(!defined("IN_INSTALL") && !defined("IN_UPGRADE") && $version['version_code'] < $mybb->version_code)
-{
- $version_history = $cache->read("version_history");
- if(empty($version_history) || file_exists(MYBB_ROOT."install/resources/upgrade".(int)(end($version_history)+1).".php"))
- {
- $mybb->trigger_generic_error("board_not_upgraded");
- }
-}
-
-// Load plugins
-if(!defined("NO_PLUGINS") && !($mybb->settings['no_plugins'] == 1))
-{
- $plugins->load();
-}
-
-// Set up any shutdown functions we need to run globally
-add_shutdown('send_mail_queue');
-
-/* URL Definitions */
-if($mybb->settings['seourls'] == "yes" || ($mybb->settings['seourls'] == "auto" && isset($_SERVER['SEO_SUPPORT']) && $_SERVER['SEO_SUPPORT'] == 1))
-{
- $mybb->seo_support = true;
-
- define('FORUM_URL', "forum-{fid}.html");
- define('FORUM_URL_PAGED', "forum-{fid}-page-{page}.html");
- define('THREAD_URL', "thread-{tid}.html");
- define('THREAD_URL_PAGED', "thread-{tid}-page-{page}.html");
- define('THREAD_URL_ACTION', 'thread-{tid}-{action}.html');
- define('THREAD_URL_POST', 'thread-{tid}-post-{pid}.html');
- define('POST_URL', "post-{pid}.html");
- define('PROFILE_URL', "user-{uid}.html");
- define('ANNOUNCEMENT_URL', "announcement-{aid}.html");
- define('CALENDAR_URL', "calendar-{calendar}.html");
- define('CALENDAR_URL_MONTH', 'calendar-{calendar}-year-{year}-month-{month}.html');
- define('CALENDAR_URL_DAY', 'calendar-{calendar}-year-{year}-month-{month}-day-{day}.html');
- define('CALENDAR_URL_WEEK', 'calendar-{calendar}-week-{week}.html');
- define('EVENT_URL', "event-{eid}.html");
-}
-else
-{
- define('FORUM_URL', "forumdisplay.php?fid={fid}");
- define('FORUM_URL_PAGED', "forumdisplay.php?fid={fid}&page={page}");
- define('THREAD_URL', "showthread.php?tid={tid}");
- define('THREAD_URL_PAGED', "showthread.php?tid={tid}&page={page}");
- define('THREAD_URL_ACTION', 'showthread.php?tid={tid}&action={action}');
- define('THREAD_URL_POST', 'showthread.php?tid={tid}&pid={pid}');
- define('POST_URL', "showthread.php?pid={pid}");
- define('PROFILE_URL', "member.php?action=profile&uid={uid}");
- define('ANNOUNCEMENT_URL', "announcements.php?aid={aid}");
- define('CALENDAR_URL', "calendar.php?calendar={calendar}");
- define('CALENDAR_URL_MONTH', "calendar.php?calendar={calendar}&year={year}&month={month}");
- define('CALENDAR_URL_DAY', 'calendar.php?action=dayview&calendar={calendar}&year={year}&month={month}&day={day}');
- define('CALENDAR_URL_WEEK', 'calendar.php?action=weekview&calendar={calendar}&week={week}');
- define('EVENT_URL', "calendar.php?action=event&eid={eid}");
-}
-define('INDEX_URL', "index.php");
-
-// An array of valid date formats (Used for user selections etc)
-$date_formats = array(
- 1 => "m-d-Y",
- 2 => "m-d-y",
- 3 => "m.d.Y",
- 4 => "m.d.y",
- 5 => "d-m-Y",
- 6 => "d-m-y",
- 7 => "d.m.Y",
- 8 => "d.m.y",
- 9 => "F jS, Y",
- 10 => "l, F jS, Y",
- 11 => "jS F, Y",
- 12 => "l, jS F, Y",
- // ISO 8601
- 13 => "Y-m-d"
-);
-
-// An array of valid time formats (Used for user selections etc)
-$time_formats = array(
- 1 => "h:i a",
- 2 => "h:i A",
- 3 => "H:i"
-);
-
diff --git a/html/forums/inc/languages/english.php b/html/forums/inc/languages/english.php
deleted file mode 100644
index b278ff2..0000000
--- a/html/forums/inc/languages/english.php
+++ /dev/null
@@ -1,30 +0,0 @@
- on all pages
-$langinfo['htmllang'] = "en";
-
-// Sets the character set, blank uses the default.
-$langinfo['charset'] = "UTF-8";
diff --git a/html/forums/inc/languages/english/admin/config_attachment_types.lang.php b/html/forums/inc/languages/english/admin/config_attachment_types.lang.php
deleted file mode 100644
index a420ed4..0000000
--- a/html/forums/inc/languages/english/admin/config_attachment_types.lang.php
+++ /dev/null
@@ -1,53 +0,0 @@
-See a list here)";
-$l['maximum_file_size'] = "Maximum File Size (Kilobytes)";
-$l['maximum_file_size_desc'] = "The maximum file size for uploads of this attachment type in Kilobytes (1 MB = 1024 KB)";
-$l['limit_intro'] = "Please ensure the maximum file size is below the smallest of the following PHP limits:";
-$l['limit_post_max_size'] = "Max Post Size: {1}";
-$l['limit_upload_max_filesize'] = "Upload Max File Size: {1}";
-$l['attachment_icon'] = "Attachment Icon";
-$l['attachment_icon_desc'] = "If you wish to show a small attachment icon for attachments of this type then enter the path to it here. {theme} will be replaced by the image directory for the viewers theme allowing you to specify per-theme attachment icons.";
-$l['save_attachment_type'] = "Save Attachment Type";
-
-$l['error_invalid_attachment_type'] = "You have selected an invalid attachment type.";
-$l['error_missing_mime_type'] = "You did not enter a MIME type for this attachment type";
-$l['error_missing_extension'] = "You did not enter a file extension for this attachment type";
-
-$l['success_attachment_type_created'] = "The attachment type has been created successfully.";
-$l['success_attachment_type_updated'] = "The attachment type has been updated successfully.";
-$l['success_attachment_type_deleted'] = "The attachment type has been deleted successfully.";
-
-$l['confirm_attachment_type_deletion'] = "Are you sure you wish to delete this attachment type?";
-
-$l['success_activated_attachment_type'] = 'The selected attachment type has been activated successfully.';
-$l['success_deactivated_attachment_type'] = 'The selected attachment type has been deactivated successfully.';
-
-$l['enabled'] = "Enabled?";
-$l['avatar_file'] = 'Avatar File';
-$l['avatar_file_desc'] = 'Do you want to allow this attachment type to be used for avatars?';
-
-$l['available_to_groups'] = 'Available to groups';
-$l['available_in_forums'] = 'Available in forums';
\ No newline at end of file
diff --git a/html/forums/inc/languages/english/admin/config_badwords.lang.php b/html/forums/inc/languages/english/admin/config_badwords.lang.php
deleted file mode 100644
index f99a36a..0000000
--- a/html/forums/inc/languages/english/admin/config_badwords.lang.php
+++ /dev/null
@@ -1,35 +0,0 @@
-{subject} represents the original subject. {username} represents the moderator's username.";
-
-$l['success_mod_tool_created'] = "The moderation tool has been created successfully.";
-$l['success_mod_tool_updated'] = "The moderation tool has been updated successfully.";
-
-$l['inline_post_moderation'] = "Inline Post Moderation";
-$l['delete_posts'] = "Delete posts permanently?";
-$l['merge_posts'] = "Merge posts?";
-$l['merge_posts_desc'] = "Only if used from inline moderation.";
-$l['approve_unapprove_posts'] = "Approve/unapprove posts?";
-$l['softdelete_restore_posts'] = "Soft delete/restore posts?";
-
-$l['split_posts'] = "Split Posts";
-$l['split_posts2'] = "Split posts?";
-$l['do_not_split'] = "Do not split posts";
-$l['split_to_same_forum'] = "Split to same forum";
-$l['close_split_thread'] = "Close split thread?";
-$l['stick_split_thread'] = "Stick split thread?";
-$l['unapprove_split_thread'] = "Unapprove split thread?";
-$l['split_thread_prefix'] = "Split thread prefix";
-$l['split_thread_subject'] = "Split thread subject";
-$l['split_thread_subject_desc'] = "{subject} represents the original subject. Only required if splitting posts.";
-$l['add_new_split_reply'] = "Add reply to split thread";
-$l['add_new_split_reply_desc'] = "Leave blank for no reply.";
-$l['split_reply_subject'] = "Reply subject";
-$l['split_reply_subject_desc'] = "Only used if a reply is made";
-$l['save_post_tool'] = "Save Post Tool";
-
-$l['send_private_message'] = 'Send Private Message';
-$l['private_message_message'] = 'Message';
-$l['private_message_message_desc'] = 'Message to send to the author of the thread. Leave empty to disable this feature.';
-$l['private_message_subject'] = 'Subject';
-$l['private_message_subject_desc'] = 'Enter the subject of the Private Message.';
-
-$l['error_missing_title'] = "Please enter a name for this tool.";
-$l['error_missing_description'] = "Please enter a short description for this tool.";
-$l['error_no_forums_selected'] = "Please select the forums in which this tool will be available.";
-$l['error_no_groups_selected'] = "Please select the groups to which this tool will be available.";
-$l['error_forum_is_category'] = "You can't pick a category-type forum as a destination forum.";
diff --git a/html/forums/inc/languages/english/admin/config_module_meta.lang.php b/html/forums/inc/languages/english/admin/config_module_meta.lang.php
deleted file mode 100644
index 34b2e5b..0000000
--- a/html/forums/inc/languages/english/admin/config_module_meta.lang.php
+++ /dev/null
@@ -1,47 +0,0 @@
-inc/plugins directory. To hide a plugin from view, but not lose any stored information from it, click the Deactivate link.";
-$l['plugin_updates'] = "Plugin Updates";
-$l['plugin_updates_desc'] = "This section allows you to check for updates on all your plugins.";
-$l['browse_plugins'] = "Browse Plugins";
-$l['browse_plugins_desc'] = "Here you may browse the official MyBB modifications site for plugins compatible with your series of MyBB.";
-$l['browse_all_plugins'] = "Browse All Plugins";
-
-$l['plugin'] = "Plugin";
-$l['active_plugin'] = "Active Plugins";
-$l['inactive_plugin'] = "Inactive Plugins";
-$l['your_version'] = "Your Version";
-$l['latest_version'] = "Latest Version";
-$l['download'] = "Download";
-$l['deactivate'] = "Deactivate";
-$l['activate'] = "Activate";
-$l['install_and_activate'] = "Install & Activate";
-$l['uninstall'] = "Uninstall";
-$l['created_by'] = "Created by";
-$l['no_plugins'] = "There are no plugins on your forum at this time.";
-$l['no_active_plugins'] = "There are no active plugins on your forum.";
-$l['no_inactive_plugins'] = "There are no inactive plugins available.";
-
-$l['plugin_incompatible'] = "This plugin is incompatible with MyBB {1}";
-
-$l['recommended_plugins_for_mybb'] = "Recommended Plugins for MyBB {1}";
-$l['browse_results_for_mybb'] = "Browse Results for MyBB {1}";
-$l['search_for_plugins'] = "Search for Plugins";
-$l['search'] = "Search";
-
-$l['error_vcheck_no_supported_plugins'] = "None of the plugins installed support version checking.";
-$l['error_vcheck_communications_problem'] = "There was a problem communicating with the MyBB modifications version server. Please try again in a few minutes.";
-$l['error_vcheck_vulnerable'] = "[Vulnerable plugin]:";
-$l['error_vcheck_vulnerable_notes'] = "This submission has currently been marked as vulnerable by the MyBB Staff. We recommend complete removal of this modification. Please see the notes below: ";
-$l['error_no_input'] = "Error code 1: No input specified.";
-$l['error_no_pids'] = "Error code 2: No plugin ids specified.";
-$l['error_communication_problem'] = "There was a problem communicating with the MyBB modifications server. Please try again in a few minutes.";
-$l['error_invalid_plugin'] = "The selected plugin does not exist.";
-$l['error_no_results_found'] = "No results were found for the specified keywords.";
-
-$l['success_plugins_up_to_date'] = "Congratulations, all of your plugins are up to date.";
-$l['success_plugin_activated'] = "The selected plugin has been activated successfully.";
-$l['success_plugin_deactivated'] = "The selected plugin has been deactivated successfully.";
-$l['success_plugin_installed'] = "The selected plugin has been installed and activated successfully.";
-$l['success_plugin_uninstalled'] = "The selected plugin has been uninstalled successfully.";
diff --git a/html/forums/inc/languages/english/admin/config_post_icons.lang.php b/html/forums/inc/languages/english/admin/config_post_icons.lang.php
deleted file mode 100644
index d7e36da..0000000
--- a/html/forums/inc/languages/english/admin/config_post_icons.lang.php
+++ /dev/null
@@ -1,46 +0,0 @@
-{theme} to represent the image directory of each theme.";
-$l['save_post_icon'] = "Save Post Icon";
-$l['reset'] = "Reset";
-
-$l['path_to_images'] = "Path to Images";
-$l['path_to_images_desc'] = "This is the path to the folder that the images are in.";
-$l['show_post_icons'] = "Show Post Icons";
-$l['image'] = "Image";
-$l['add'] = "Add?";
-$l['save_post_icons'] = "Save Post Icons";
-
-$l['no_post_icons'] = "There are no post icons on your forum at this time.";
-
-$l['error_missing_name'] = "You did not enter a name for this post icon";
-$l['error_missing_path'] = "You did not enter a path to this post icon";
-$l['error_missing_path_multiple'] = "You did not enter a path";
-$l['error_invalid_path'] = "You did not enter a valid path";
-$l['error_no_images'] = "There are no post icons in the specified directory, or all post icons in the directory have already been added.";
-$l['error_none_included'] = "You did not select any post icons to include.";
-$l['error_invalid_post_icon'] = "The specified post icon does not exist.";
-
-$l['success_post_icon_added'] = "The post icon has been added successfully.";
-$l['success_post_icons_added'] = "The selected post icons have been added successfully.";
-$l['success_post_icon_updated'] = "The post icon has been updated successfully.";
-$l['success_post_icon_deleted'] = "The selected post icon has been deleted successfully.";
-
-$l['confirm_post_icon_deletion'] = "Are you sure you wish to delete this post icon?";
diff --git a/html/forums/inc/languages/english/admin/config_profile_fields.lang.php b/html/forums/inc/languages/english/admin/config_profile_fields.lang.php
deleted file mode 100644
index 56c6aa2..0000000
--- a/html/forums/inc/languages/english/admin/config_profile_fields.lang.php
+++ /dev/null
@@ -1,75 +0,0 @@
-
-Example: ([a-z0-9_\- ,.+]+)";
-$l['selectable_options'] = "Selectable Options?";
-$l['selectable_options_desc'] = "Please enter each option on a separate line. This only applies to the select boxes, check boxes, and radio buttons types.";
-$l['required'] = "Required?";
-$l['required_desc'] = "Is this field required to be filled in during registration or profile editing? Note that this does not apply if the field is hidden or the field is not editable.";
-$l['show_on_registration'] = "Show on Registration?";
-$l['show_on_registration_desc'] = "Should this field appear on the registration form? Note that this does not apply if the field is not editable. Fields that are required will always appear on registration.";
-$l['display_on_profile'] = "Display on profile?";
-$l['display_on_profile_desc'] = "Should this field be displayed on the user's profile? This doesn't apply to administrators/moderators.";
-$l['display_on_postbit'] = "Display on postbit?";
-$l['display_on_postbit_desc'] = "Should this field be displayed on the user's posts?";
-$l['viewableby'] = 'Viewable By';
-$l['viewableby_desc'] = 'Select the allowed groups to view this profile field.';
-$l['editableby'] = 'Editable By';
-$l['editableby_desc'] = 'Select the allowed groups to edit this profile field.';
-$l['min_posts_enabled'] = "Minimum post count?";
-$l['min_posts_enabled_desc'] = "Should this field only be available to users with a certain post count? If so, set the minimum amount of posts required here.";
-$l['parser_options'] = "Parser Options";
-$l['parse_allowhtml'] = "Yes, allow HTML in this profile field.";
-$l['parse_allowmycode'] = "Yes, allow MyCode in this profile field.";
-$l['parse_allowsmilies'] = "Yes, allow smilies in this profile field.";
-$l['parse_allowimgcode'] = "Yes, allow [img] code in this profile field.";
-$l['parse_allowvideocode'] = "Yes, allow [video] code in this profile field.";
-$l['save_profile_field'] = "Save Profile Field";
-$l['name'] = "Name";
-$l['registration'] = "Registration?";
-$l['editable'] = "Editable?";
-$l['profile'] = "Profile?";
-$l['postbit'] = "Postbit?";
-$l['edit_field'] = "Edit Field";
-$l['delete_field'] = "Delete Field";
-$l['no_profile_fields'] = "There are no custom profile fields on your forum at this time.";
-
-$l['error_missing_name'] = "You did not enter a title for this custom profile field";
-$l['error_missing_description'] = "You did not enter a description for this custom profile field";
-$l['error_invalid_fid'] = "The selected profile field does not exist.";
-
-$l['success_profile_field_added'] = "The custom profile field has been created successfully.";
-$l['success_profile_field_saved'] = "The custom profile field has been saved successfully.";
-$l['success_profile_field_deleted'] = "The selected custom profile field has been deleted successfully.";
-
-$l['confirm_profile_field_deletion'] = "Are you sure you wish to delete this profile field?";
diff --git a/html/forums/inc/languages/english/admin/config_questions.lang.php b/html/forums/inc/languages/english/admin/config_questions.lang.php
deleted file mode 100644
index 248da5d..0000000
--- a/html/forums/inc/languages/english/admin/config_questions.lang.php
+++ /dev/null
@@ -1,42 +0,0 @@
-For more information on CHMODing, see the MyBB Docs .";
-
-$l['success_setting_added'] = "The setting has been created successfully.";
-$l['success_setting_updated'] = "The setting has been updated successfully.";
-$l['success_setting_deleted'] = "The selected setting has been deleted successfully.";
-$l['success_settings_updated'] = "The settings have been updated successfully.";
-$l['success_settings_updated_hiddencaptchaimage'] = 'Please note that the Hidden CAPTCHA field setting was reverted to {1} due to a conflict with the {2} field in the registration form.
';
-$l['success_settings_updated_username_method'] = 'Please note that the Allowed Login Methods setting was not updated due to multiple users using the same e-mail address at this time.
';
-$l['success_settings_updated_allowmultipleemails'] = 'Please note that the Allow emails to be registered multiple times? setting can\'t be enabled because the Allowed Login Methods setting allows users to login by e-mail address.
';
-$l['success_settings_updated_captchaimage'] = 'Please note that the CAPTCHA Images for Registration & Posting setting was reverted to MyBB Default Captcha due to the lack of public/private key(s).
';
-$l['success_display_orders_updated'] = "The setting display orders have been updated successfully.";
-$l['success_setting_group_added'] = "The setting group has been created successfully.";
-$l['success_setting_group_updated'] = "The setting group has been updated successfully.";
-$l['success_setting_group_deleted'] = "The selected setting group has been deleted successfully.";
-$l['success_duplicate_settings_deleted'] = "All duplicate setting groups have been deleted successfully.";
-
-$l['searching'] = 'Searching...';
-$l['search_error'] = 'There was an error fetching your search results:';
-$l['search_done'] = 'Done!';
-
diff --git a/html/forums/inc/languages/english/admin/config_smilies.lang.php b/html/forums/inc/languages/english/admin/config_smilies.lang.php
deleted file mode 100644
index 7437e6b..0000000
--- a/html/forums/inc/languages/english/admin/config_smilies.lang.php
+++ /dev/null
@@ -1,64 +0,0 @@
-{theme} to represent the image directory of each theme.";
-$l['order'] = "Order";
-$l['display_order'] = "Display Order";
-$l['display_order_desc'] = "The order on the smilies list that this will appear. This number should not be the same as another smilie's.";
-$l['mass_edit_show_clickable'] = "Show on Clickable?";
-$l['show_clickable'] = "Show on clickable list?";
-$l['show_clickable_desc'] = "Do you want this smilie to show on the clickable smilie list on the post editor?";
-$l['include'] = "Add?";
-$l['path_to_images'] = "Path to Images";
-$l['path_to_images_desc'] = "This is the path to the folder that the images are in.";
-$l['smilie_delete'] = "Delete?";
-$l['save_smilie'] = "Save Smilie";
-$l['save_smilies'] = "Save Smilies";
-$l['show_smilies'] = "Show Smilies";
-$l['reset'] = "Reset";
-
-$l['error_missing_name'] = "You did not enter a name for this smilie.";
-$l['error_missing_text_replacement'] = "You did not enter a text replacement for this smilie.";
-$l['error_missing_path'] = "You did not enter a path for this smilie.";
-$l['error_missing_path_multiple'] = "You did not enter a path.";
-$l['error_missing_order'] = "You did not enter a display order for this smilie.";
-$l['error_duplicate_order'] = "You did not enter a valid display order for this smilie.";
-$l['error_missing_clickable'] = "You did not specify yes or no for the \"Show Clickable\" option.";
-$l['error_no_smilies'] = "There are no smilies in the specified directory, or all smilies in the directory have already been added.";
-$l['error_no_images'] = "There are no images in the specified directory.";
-$l['error_none_included'] = "You did not select any smilies to include.";
-$l['error_invalid_path'] = "You did not enter a valid path.";
-$l['error_invalid_smilie'] = "The specified smilie does not exist.";
-
-$l['success_smilie_added'] = "The smilie has been added successfully.";
-$l['success_multiple_smilies_added'] = "The selected smilies have been added successfully.";
-$l['success_smilie_updated'] = "The smilie has been updated successfully.";
-$l['success_multiple_smilies_updated'] = "The smilies have been updated successfully.";
-$l['success_smilie_deleted'] = "The selected smilie has been deleted successfully.";
-$l['success_mass_edit_updated'] = "The smilies have been updated successfully.";
-
-$l['confirm_smilie_deletion'] = "Are you sure you wish to delete this smilie?";
-
diff --git a/html/forums/inc/languages/english/admin/config_spiders.lang.php b/html/forums/inc/languages/english/admin/config_spiders.lang.php
deleted file mode 100644
index d240e8a..0000000
--- a/html/forums/inc/languages/english/admin/config_spiders.lang.php
+++ /dev/null
@@ -1,42 +0,0 @@
-No. Uploaded Attachments";
-$l['space_used'] = "Attachment Space Used ";
-$l['bandwidth_used'] = "Estimated Bandwidth Usage ";
-$l['average_size'] = "Average Attachment Size ";
-$l['size'] = "Size";
-$l['posted_by'] = "Posted By";
-$l['thread'] = "Thread";
-$l['downloads'] = "Downloads";
-$l['date_uploaded'] = "Date Uploaded";
-$l['popular_attachments'] = "Top 5 Most Popular Attachments";
-$l['largest_attachments'] = "Top 5 Largest Attachments";
-$l['users_diskspace'] = "Top 5 Users Using the Most Disk Space";
-$l['username'] = "Username";
-$l['total_size'] = "Total Size";
-
-// = Orphans
-$l['orphan_results'] = "Orphaned Attachments Search - Results";
-$l['orphan_attachments_search'] = "Orphaned Attachments Search";
-$l['reason_orphaned'] = "Reason Orphaned";
-$l['reason_not_in_table'] = "Not in attachments table";
-$l['reason_file_missing'] = "Attached file missing";
-$l['reason_thread_deleted'] = "Thread been deleted";
-$l['reason_post_never_made'] = "Post never made";
-$l['unknown'] = "Unknown";
-$l['results'] = "Results";
-$l['step1'] = "Step 1";
-$l['step2'] = "Step 2";
-$l['step1of2'] = "Step 1 of 2 - File System Scan";
-$l['step2of2'] = "Step 2 of 2 - Database Scan";
-$l['step1of2_line1'] = "Please wait, the file system is currently being scanned for orphaned attachments.";
-$l['step2of2_line1'] = "Please wait, the database is currently being scanned for orphaned attachments.";
-$l['step_line2'] = "You'll automatically be redirected to the next step once this process is complete.";
-$l['scanning'] = 'Scanning..';
-
-// = Attachments / Index
-$l['index_find_attachments'] = "Attachments - Find Attachments";
-$l['find_where'] = "Find attachments where...";
-$l['name_contains'] = "File name contains";
-$l['name_contains_desc'] = "To search by wild card enter *.[file extension]. Example: *.zip.";
-$l['type_contains'] = "File type contains";
-$l['forum_is'] = "Forum is";
-$l['username_is'] = "Posters' username is";
-$l['more_than'] = "More than";
-$l['greater_than'] = "Greater than";
-$l['is_exactly'] = "Is exactly";
-$l['less_than'] = "Less than";
-$l['date_posted_is'] = "Date posted is";
-$l['days_ago'] = "days ago";
-$l['file_size_is'] = "File size is";
-$l['kb'] = "KB";
-$l['download_count_is'] = "Download count is";
-$l['display_options'] = "Display Options";
-$l['filename'] = "File Name";
-$l['filesize'] = "File Size";
-$l['download_count'] = "Download Count";
-$l['post_username'] = "Post Username";
-$l['asc'] = "Ascending";
-$l['desc'] = "Descending";
-$l['sort_results_by'] = "Sort results by";
-$l['results_per_page'] = "Results per page";
-$l['in'] = "in";
-
-// Buttons
-$l['button_delete_orphans'] = "Delete Checked Orphans";
-$l['button_delete_attachments'] = "Delete Checked Attachments";
-$l['button_find_attachments'] = "Find Attachments";
-
diff --git a/html/forums/inc/languages/english/admin/forum_management.lang.php b/html/forums/inc/languages/english/admin/forum_management.lang.php
deleted file mode 100644
index 50fd1ae..0000000
--- a/html/forums/inc/languages/english/admin/forum_management.lang.php
+++ /dev/null
@@ -1,279 +0,0 @@
-Recount & Rebuild tools.";
-$l['success_moderator_deleted'] = "The selected moderator has been deleted successfully. Please remember that this hasn't changed this user's group permission, they may still have moderation powers.";
-$l['success_forum_permissions_updated'] = "The forum permissions have been updated successfully.";
-$l['success_forum_updated'] = "The forum settings have been updated successfully.";
-$l['success_moderator_updated'] = "The selected moderator has been updated successfully.";
-$l['success_custom_permission_cleared'] = "The custom permissions for this forum have been cleared successfully.";
-
-$l['error_invalid_forum'] = "Please select a valid forum.";
-$l['error_invalid_moderator'] = "Please select a valid moderator to delete.";
-$l['error_invalid_fid'] = "Invalid Forum ID selected.";
-$l['error_forum_parent_child'] = "You can't set the parent forum of this forum to one of it's children.";
-$l['error_forum_parent_itself'] = "The forum parent cannot be the forum itself.";
-$l['error_incorrect_moderator'] = "Please select a valid moderator.";
-
-$l['confirm_moderator_deletion'] = "Are you sure you wish to remove this moderator from this forum?";
-$l['confirm_forum_deletion'] = "Are you sure you wish to delete this forum?";
-$l['confirm_clear_custom_permission'] = "Are you sure you wish to clear this custom permission?";
-
-$l['forum_type'] = "Forum Type";
-$l['forum_type_desc'] = "Select the type of forum you are creating - a forum you can post in, or a category, which contains other forums.";
-$l['category'] = "Category";
-$l['title'] = "Title";
-$l['description'] = "Description";
-$l['save_forum'] = "Save Forum";
-$l['parent_forum'] = "Parent Forum";
-$l['parent_forum_desc'] = "The Forum that contains this forum. Categories do not have a parent forum - in this case, select 'None' - however, categories can be specified to have a parent forum.";
-$l['none'] = "None";
-$l['display_order'] = "Display Order";
-
-$l['show_additional_options'] = "Show Additional Options";
-$l['hide_additional_options'] = "Hide Additional Options";
-$l['additional_forum_options'] = "Additional Forum Options";
-$l['forum_link'] = "Forum Link";
-$l['forum_link_desc'] = "To make a forum redirect to another location, enter the URL to the destination you wish to redirect to. Entering a URL in this field will remove the forum functionality; however, permissions can still be set for it.";
-$l['forum_password'] = "Forum Password";
-$l['forum_password_desc'] = "To protect this forum further, you can choose a password that must be entered for access. Note: User groups still need permissions to access this forum.";
-$l['access_options'] = "Access Options";
-$l['forum_is_active'] = "Forum is Active?";
-$l['forum_is_active_desc'] = "If unselected, this forum will not be shown to users and will not \"exist\".";
-$l['forum_is_open'] = "Forum is Open?";
-$l['forum_is_open_desc'] = "If unselected, users will not be able to post in this forum regardless of permissions.";
-
-$l['copy_to_new_forum'] = "Copy to new forum";
-$l['source_forum'] = "Source forum";
-$l['source_forum_desc'] = "Forum to copy settings and/or permissions from.";
-$l['destination_forum'] = "Destination forum";
-$l['destination_forum_desc'] = "Forum to copy settings and/or permissions to.";
-$l['new_forum_settings'] = "New Forum Settings";
-$l['copy_settings_and_properties'] = "Copy Forum Settings and Properties";
-$l['copy_settings_and_properties_desc'] = "Only applies if the destination forum exists.";
-$l['copy_user_group_permissions'] = "Copy User Group Permissions";
-$l['copy_user_group_permissions_desc'] = "Use CTRL to select multiple groups.";
-
-$l['override_user_style'] = "Yes, override the user's selected style for this forum";
-$l['style_options'] = "Style Options";
-$l['forum_specific_style'] = "Forum-Specific Style:";
-$l['use_default'] = "Use Default";
-$l['dont_display_rules'] = "Don't display rules for this forum";
-$l['display_rules_inline'] = "Display rules for this forum on the thread listing";
-$l['display_rules_inline_new'] = "Display rules in the thread listing and for new threads/replies";
-$l['display_rules_link'] = "Display a link to the rules for this forum";
-$l['display_method'] = "Display Method:";
-$l['rules'] = "Rules:";
-$l['forum_rules'] = "Forum Rules";
-$l['name'] = "Name";
-$l['username'] = "Username";
-$l['moderator_username_desc'] = "Username of the moderator to be added";
-$l['add_user_as_moderator'] = "Add a user as Moderator";
-$l['usergroup'] = "Usergroup";
-$l['add_usergroup_as_moderator'] = "Add a usergroup as Moderators";
-$l['moderator_usergroup_desc'] = "Select a usergroup to add as a Moderator from the list below.";
-$l['add_usergroup_moderator'] = "Add Usergroup Moderator";
-$l['add_user_moderator'] = "Add User Moderator";
-
-$l['default_view_options'] = "Default View Options";
-$l['default_date_cut'] = "Default Date Cut:";
-$l['default_sort_by'] = "Default Sort By:";
-$l['default_sort_order'] = "Default Sort Order:";
-
-$l['board_default'] = "Board Default";
-
-$l['datelimit_1day'] = "Last day";
-$l['datelimit_5days'] = "Last 5 days";
-$l['datelimit_10days'] = "Last 10 days";
-$l['datelimit_20days'] = "Last 20 days";
-$l['datelimit_50days'] = "Last 50 days";
-$l['datelimit_75days'] = "Last 75 days";
-$l['datelimit_100days'] = "Last 100 days";
-$l['datelimit_lastyear'] = "Last year";
-$l['datelimit_beginning'] = "The beginning";
-
-$l['sort_by_subject'] = "Thread subject";
-$l['sort_by_lastpost'] = "Last post time";
-$l['sort_by_starter'] = "Thread starter";
-$l['sort_by_started'] = "Thread creation time";
-$l['sort_by_rating'] = "Thread rating";
-$l['sort_by_replies'] = "Number of replies";
-$l['sort_by_views'] = "Number of views";
-
-$l['sort_order_asc'] = "Ascending";
-$l['sort_order_desc'] = "Descending";
-
-$l['misc_options'] = "Miscellaneous Options";
-$l['allow_html'] = "Yes, allow HTML in posts";
-$l['allow_mycode'] = "Yes, allow MyCode in posts";
-$l['allow_smilies'] = "Yes, allow smilies in posts";
-$l['allow_img_code'] = "Yes, allow [img] code in posts (requires MyCode to be turned on)";
-$l['allow_video_code'] = "Yes, allow [video] code in posts (requires MyCode to be turned on)";
-$l['allow_post_icons'] = "Yes, allow post icons to be chosen for posts";
-$l['allow_thread_ratings'] = "Yes, allow threads to be rated";
-$l['show_forum_jump'] = "Yes, show this forum in the 'forum jump' menu";
-$l['use_postcounts'] = "Yes, posts in this forum should count towards user post counts";
-$l['use_threadcounts'] = "Yes, threads in this forum should count towards user thread counts";
-$l['require_thread_prefix'] = "Yes, require a thread prefix for all threads";
-
-$l['use_permissions'] = "Use Permissions";
-$l['use_permissions_desc'] = "Select the permissions you would like to use for this user group - inherited permissions (will delete custom permissions) or custom permissions.";
-$l['inherit_permissions'] = "Use user group permissions or inherit permissions from parent forums";
-$l['custom_permissions'] = "Use custom permissions (below)";
-$l['custom_permissions_for'] = "Custom Permissions for";
-
-$l['inherited_permission'] = "inherited";
-$l['custom_permission'] = "custom";
-
-$l['save_permissions'] = "Save Forum Permissions";
-
-$l['error_missing_title'] = "You must enter in a title.";
-$l['error_no_parent'] = "You must select a parent forum.";
-$l['error_not_empty'] = "Forums with threads cannot be converted to categories.";
-$l['error_forum_link_not_empty'] = "Forums with threads cannot be redirected to another webpage.";
-
-$l['success_forum_added'] = "The forum has been created successfully.";
-$l['success_moderator_added'] = "The moderator has been added to this forum successfully.";
-$l['success_forum_permissions_saved'] = "The forum permissions have been saved successfully.";
-$l['success_forum_copied'] = "The selected forum has been copied successfully.";
-
-$l['error_moderator_already_added'] = "The selected user/group is already a moderator of this forum.";
-$l['error_moderator_not_found'] = "The specified username/group was not found.";
-$l['error_new_forum_needs_name'] = "You need to give your new forum a name.";
-$l['error_invalid_source_forum'] = "Invalid source forum.";
-$l['error_invalid_destination_forum'] = "Invalid destination forum.";
-
-$l['group_viewing'] = "Viewing";
-$l['group_posting_rating'] = "Posting / Rating";
-$l['group_editing'] = "Editing";
-$l['group_moderate'] = "Moderation";
-$l['group_polls'] = "Polls";
-$l['group_misc'] = "Miscellaneous";
-
-$l['viewing_field_canview'] = "Can view forum?";
-$l['viewing_field_canviewthreads'] = "Can view threads within forum?";
-$l['viewing_field_canonlyviewownthreads'] = "Can only view own threads?";
-$l['viewing_field_candlattachments'] = "Can download attachments?";
-
-$l['posting_rating_field_canpostthreads'] = "Can post threads?";
-$l['posting_rating_field_canpostreplys'] = "Can post replies?";
-$l['posting_rating_field_canonlyreplyownthreads'] = "Can only reply to own threads?";
-$l['posting_rating_field_canpostattachments'] = "Can post attachments?";
-$l['posting_rating_field_canratethreads'] = "Can rate threads?";
-
-$l['editing_field_caneditposts'] = "Can edit own posts?";
-$l['editing_field_candeleteposts'] = "Can delete own posts?";
-$l['editing_field_candeletethreads'] = "Can delete own threads?";
-$l['editing_field_caneditattachments'] = "Can update own attachments?";
-$l['editing_field_canviewdeletionnotice'] = "Can view deletion notices?";
-
-$l['moderate_field_modposts'] = "Moderate new posts?";
-$l['moderate_field_modthreads'] = "Moderate new threads?";
-$l['moderate_field_modattachments'] = "Moderate new attachments?";
-$l['moderate_field_mod_edit_posts'] = "Moderate posts after they've been edited?";
-
-$l['polls_field_canpostpolls'] = "Can post polls?";
-$l['polls_field_canvotepolls'] = "Can vote in polls?";
-
-$l['misc_field_cansearch'] = "Can search forum?";
-
-$l['confirm_proceed_deletion'] = "Click \"Proceed\" to continue the deletion of the forum.";
-$l['automatically_redirecting'] = "Automatically Redirecting...";
diff --git a/html/forums/inc/languages/english/admin/forum_moderation_queue.lang.php b/html/forums/inc/languages/english/admin/forum_moderation_queue.lang.php
deleted file mode 100644
index 0a75555..0000000
--- a/html/forums/inc/languages/english/admin/forum_moderation_queue.lang.php
+++ /dev/null
@@ -1,49 +0,0 @@
-Today";
-$l['yesterday'] = "Yesterday ";
-
-$l['size_yb'] = "YB";
-$l['size_zb'] = "ZB";
-$l['size_eb'] = "EB";
-$l['size_pb'] = "PB";
-$l['size_tb'] = "TB";
-$l['size_gb'] = "GB";
-$l['size_mb'] = "MB";
-$l['size_kb'] = "KB";
-$l['size_bytes'] = "bytes";
-$l['na'] = "N/A";
-
-// Header language strings
-$l['mybb_admin_panel'] = "MyBB Control Panel";
-$l['mybb_admin_cp'] = "MyBB Admin CP";
-$l['logged_in_as'] = "Logged in as";
-$l['view_board'] = "View Forum";
-$l['logout'] = "Log Out";
-
-// Footer language strings
-$l['generated_in'] = "Generated in {1} with {3} queries . Memory Usage: {4}";
-
-// Login page
-$l['enter_username_and_password'] = "Please enter your {1} and password to continue.";
-$l['login_username'] = 'username';
-$l['login_email'] = 'email';
-$l['login_username_and_password'] = 'username/email';
-$l['mybb_admin_login'] = "MyBB Control Panel - Login";
-$l['return_to_forum'] = "Return to forum";
-$l['please_login'] = "Please Login";
-$l['username'] = "Username:";
-$l['username1'] = "Email:";
-$l['username2'] = "Username/Email:";
-$l['password'] = "Password:";
-$l['secret_pin'] = "Secret PIN:";
-$l['login'] = "Login";
-$l['lost_password'] = "Forgot your password?";
-
-$l['error_invalid_admin_session'] = "Invalid administration session.";
-$l['error_admin_session_expired'] = "Your administration session has expired.";
-$l['error_invalid_ip'] = "Your IP address is not valid for this session.";
-$l['error_mybb_admin_lockedout'] = "This account has been locked out.";
-$l['error_mybb_admin_lockedout_message'] = "Your account is currently locked out after failing to login {1} times. You have been sent an email with instructions on how to unlock your account.";
-
-$l['error_invalid_username'] = "The username you entered is invalid.";
-$l['error_invalid_uid'] = "The user id you entered is invalid.";
-$l['error_invalid_token'] = "The activation code you entered is invalid.";
-
-$l['success_logged_out'] = "You have been logged out successfully.";
-$l['error_invalid_username_password'] = "The {1} and password combination you entered is invalid.";
-
-// Action Confirmation
-$l['confirm_action'] = "Are you sure you wish to perform this action?";
-
-// Common words and phrases
-$l['home'] = "Home";
-$l['name'] = "Name";
-$l['size'] = "Size";
-$l['controls'] = "Controls";
-$l['view'] = "View";
-$l['yes'] = "Yes";
-$l['no'] = "No";
-$l['cancel'] = "Cancel";
-$l['options'] = "Options";
-$l['proceed'] = "Proceed";
-$l['ok'] = "OK";
-$l['error'] = "Error";
-$l['edit'] = "Edit";
-$l['never'] = "Never";
-$l['legend'] = "Legend";
-$l['version'] = "Version";
-$l['languagevar'] = "Language";
-$l['use_default'] = "Use Default";
-$l['file'] = "File";
-$l['go'] = "Go";
-$l['clear'] = "Clear";
-$l['unknown'] = "Unknown";
-$l['year'] = "Year";
-$l['year_short'] = "y";
-$l['years'] = "Years";
-$l['years_short'] = "y";
-$l['month'] = "Month";
-$l['month_short'] = "m";
-$l['months'] = "Months";
-$l['months_short'] = "m";
-$l['week'] = "Week";
-$l['week_short'] = "w";
-$l['weeks'] = "Weeks";
-$l['weeks_short'] = "w";
-$l['day'] = "Day";
-$l['day_short'] = "d";
-$l['days'] = "Days";
-$l['days_short'] = "d";
-$l['hour'] = "Hour";
-$l['hour_short'] = "h";
-$l['hours'] = "Hours";
-$l['hours_short'] = "h";
-$l['minute'] = "Minute";
-$l['minute_short'] = "m";
-$l['minutes'] = "Minutes";
-$l['minutes_short'] = "m";
-$l['second'] = "Second";
-$l['second_short'] = "s";
-$l['seconds'] = "Seconds";
-$l['seconds_short'] = "s";
-$l['permanent'] = "Permanent";
-$l['all_forums'] = "All Forums";
-$l['all_groups'] = "All groups";
-$l['select_forums'] = "Select forums";
-$l['select_groups'] = "Select groups";
-$l['forums_colon'] = "Forums:";
-$l['groups_colon'] = "Groups:";
-$l['none'] = "None";
-$l['mybb_acp'] = "MyBB ACP";
-$l['pages'] = "Pages";
-$l['previous'] = "Previous";
-$l['page'] = "Page";
-$l['next'] = "Next";
-$l['delete'] = "Delete";
-$l['reset'] = "Reset";
-$l['and'] = "and";
-$l['on'] = "On";
-$l['off'] = "Off";
-$l['alt_enabled'] = "Enabled";
-$l['alt_disabled'] = "Disabled";
-$l['enable'] = "Enable";
-$l['disable'] = "Disable";
-$l['saved'] = 'Saved';
-
-$l['rel_in'] = "In ";
-$l['rel_ago'] = "ago";
-$l['rel_less_than'] = "Less than ";
-$l['rel_time'] = "{1}{2} {3} {4} ";
-$l['rel_minutes_single'] = "minute";
-$l['rel_minutes_plural'] = "minutes";
-$l['rel_hours_single'] = "hour";
-$l['rel_hours_plural'] = "hours";
-
-// Parser bits
-$l['quote'] = "Quote:";
-$l['wrote'] = "Wrote:";
-$l['code'] = "Code:";
-$l['php_code'] = "PHP Code:";
-$l['linkback'] = "Original Post";
-
-// The months of the year
-$l['january'] = "January";
-$l['february'] = "February";
-$l['march'] = "March";
-$l['april'] = "April";
-$l['may'] = "May";
-$l['june'] = "June";
-$l['july'] = "July";
-$l['august'] = "August";
-$l['september'] = "September";
-$l['october'] = "October";
-$l['november'] = "November";
-$l['december'] = "December";
-
-// Access Denied
-$l['access_denied'] = "Access Denied";
-$l['access_denied_desc'] = "You do not have permission to access this part of the administration control panel.";
-
-// Super Administrator required
-$l['cannot_perform_action_super_admin_general'] = "Sorry, but you cannot perform this action because you are not a super administrator. To be able to perform this action, you need to add your user ID to the list of super administrators in inc/config.php.";
-
-// AJAX
-$l['loading_text'] = "Loading Please wait...";
-
-// Time zone selection boxes
-$l['timezone_gmt_minus_1200'] = "(GMT -12:00) Howland and Baker Islands";
-$l['timezone_gmt_minus_1100'] = "(GMT -11:00) Nome, Midway Island";
-$l['timezone_gmt_minus_1000'] = "(GMT -10:00) Hawaii, Papeete";
-$l['timezone_gmt_minus_950'] = "(GMT -9:30) Marquesas Islands";
-$l['timezone_gmt_minus_900'] = "(GMT -9:00) Alaska";
-$l['timezone_gmt_minus_800'] = "(GMT -8:00) Pacific Time";
-$l['timezone_gmt_minus_700'] = "(GMT -7:00) Mountain Time";
-$l['timezone_gmt_minus_600'] = "(GMT -6:00) Central Time, Mexico City";
-$l['timezone_gmt_minus_500'] = "(GMT -5:00) Eastern Time, Bogota, Lima, Quito";
-$l['timezone_gmt_minus_450'] = "(GMT -4:30) Caracas";
-$l['timezone_gmt_minus_400'] = "(GMT -4:00) Atlantic Time, La Paz, Halifax";
-$l['timezone_gmt_minus_350'] = "(GMT -3:30) Newfoundland";
-$l['timezone_gmt_minus_300'] = "(GMT -3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.";
-$l['timezone_gmt_minus_200'] = "(GMT -2:00) Mid-Atlantic, South Georgia and the South Sandwich Islands";
-$l['timezone_gmt_minus_100'] = "(GMT -1:00) Azores, Cape Verde Islands";
-$l['timezone_gmt'] = "(GMT) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia";
-$l['timezone_gmt_100'] = "(GMT +1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome, Warsaw";
-$l['timezone_gmt_200'] = "(GMT +2:00) Athens, Istanbul, Cairo, Jerusalem, South Africa";
-$l['timezone_gmt_300'] = "(GMT +3:00) Kaliningrad, Minsk, Baghdad, Riyadh, Nairobi";
-$l['timezone_gmt_350'] = "(GMT +3:30) Tehran";
-$l['timezone_gmt_400'] = "(GMT +4:00) Moscow, Abu Dhabi, Baku, Muscat, Tbilisi";
-$l['timezone_gmt_450'] = "(GMT +4:30) Kabul";
-$l['timezone_gmt_500'] = "(GMT +5:00) Islamabad, Karachi, Tashkent";
-$l['timezone_gmt_550'] = "(GMT +5:30) Mumbai, Kolkata, Chennai, New Delhi";
-$l['timezone_gmt_575'] = "(GMT +5:45) Kathmandu";
-$l['timezone_gmt_600'] = "(GMT +6:00) Almaty, Dhakra, Yekaterinburg";
-$l['timezone_gmt_650'] = "(GMT +6:30) Yangon";
-$l['timezone_gmt_700'] = "(GMT +7:00) Bangkok, Hanoi, Jakarta";
-$l['timezone_gmt_800'] = "(GMT +8:00) Beijing, Hong Kong, Perth, Singapore, Taipei, Manila";
-$l['timezone_gmt_850'] = "(GMT +8:30) Pyongyang";
-$l['timezone_gmt_875'] = "(GMT +8:45) Eucla";
-$l['timezone_gmt_900'] = "(GMT +9:00) Osaka, Sapporo, Seoul, Tokyo, Irkutsk";
-$l['timezone_gmt_950'] = "(GMT +9:30) Adelaide, Darwin";
-$l['timezone_gmt_1000'] = "(GMT +10:00) Melbourne, Papua New Guinea, Sydney, Yakutsk";
-$l['timezone_gmt_1050'] = "(GMT +10:30) Lord Howe Island";
-$l['timezone_gmt_1100'] = "(GMT +11:00) Magadan, New Caledonia, Solomon Islands, Vladivostok";
-$l['timezone_gmt_1150'] = "(GMT +11:30) Norfolk Island";
-$l['timezone_gmt_1200'] = "(GMT +12:00) Auckland, Wellington, Fiji, Marshall Islands";
-$l['timezone_gmt_1275'] = "(GMT +12:45) Chatham Islands";
-$l['timezone_gmt_1300'] = "(GMT +13:00) Samoa, Tonga, Tokelau";
-$l['timezone_gmt_1400'] = "(GMT +14:00) Line Islands";
-$l['timezone_gmt_short'] = "GMT {1}({2})";
-
-// Global language strings used for log deletion pages
-$l['confirm_delete_logs'] = "Prune the selected log entries?";
-$l['confirm_delete_all_logs'] = "Prune all log entries?";
-$l['selected_logs_deleted'] = "The selected log entries have been deleted.";
-$l['all_logs_deleted'] = "All log entries have been deleted.";
-$l['delete_selected'] = "Delete Selected";
-$l['delete_all'] = "Delete All Filtered";
-
-// Misc
-$l['encountered_errors'] = "The following errors were encountered:";
-$l['invalid_post_verify_key'] = "An authorization code mismatch occurred. Please confirm that you wish to perform the action below.";
-$l['invalid_post_verify_key2'] = "An authorization code mismatch occurred. Please double check that you are accessing this page correctly.";
-$l['unknown_error'] = "An unknown error has occurred.";
-
-// Code buttons editor language strings
-$l['editor_bold'] = "Bold";
-$l['editor_italic'] = "Italic";
-$l['editor_underline'] = "Underline";
-$l['editor_strikethrough'] = "Strikethrough";
-$l['editor_subscript'] = "Subscript";
-$l['editor_superscript'] = "Superscript";
-$l['editor_alignleft'] = "Align left";
-$l['editor_center'] = "Center";
-$l['editor_alignright'] = "Align right";
-$l['editor_justify'] = "Justify";
-$l['editor_fontname'] = "Font Name";
-$l['editor_fontsize'] = "Font Size";
-$l['editor_fontcolor'] = "Font Color";
-$l['editor_removeformatting'] = "Remove Formatting";
-$l['editor_cut'] = "Cut";
-$l['editor_copy'] = "Copy";
-$l['editor_paste'] = "Paste";
-$l['editor_cutnosupport'] = "Your browser does not allow the cut command. Please use the keyboard shortcut Ctrl/Cmd-X";
-$l['editor_copynosupport'] = "Your browser does not allow the copy command. Please use the keyboard shortcut Ctrl/Cmd-C";
-$l['editor_pastenosupport'] = "Your browser does not allow the paste command. Please use the keyboard shortcut Ctrl/Cmd-V";
-$l['editor_pasteentertext'] = "Paste your text inside the following box:";
-$l['editor_pastetext'] = "Paste Text";
-$l['editor_numlist'] = "Numbered list";
-$l['editor_bullist'] = "Bullet list";
-$l['editor_undo'] = "Undo";
-$l['editor_redo'] = "Redo";
-$l['editor_rows'] = "Rows:";
-$l['editor_cols'] = "Cols:";
-$l['editor_inserttable'] = "Insert a table";
-$l['editor_inserthr'] = "Insert a horizontal rule";
-$l['editor_code'] = "Code";
-$l['editor_php'] = "PHP";
-$l['editor_width'] = "Width (optional):";
-$l['editor_height'] = "Height (optional):";
-$l['editor_insertimg'] = "Insert an image";
-$l['editor_email'] = "E-mail:";
-$l['editor_insertemail'] = "Insert an email";
-$l['editor_url'] = "URL:";
-$l['editor_insertlink'] = "Insert a link";
-$l['editor_unlink'] = "Unlink";
-$l['editor_more'] = "More";
-$l['editor_insertemoticon'] = "Insert an emoticon";
-$l['editor_videourl'] = "Video URL:";
-$l['editor_videotype'] = "Video Type:";
-$l['editor_insert'] = "Insert";
-$l['editor_insertyoutubevideo'] = "Insert a YouTube video";
-$l['editor_currentdate'] = "Insert current date";
-$l['editor_currenttime'] = "Insert current time";
-$l['editor_print'] = "Print";
-$l['editor_viewsource'] = "View source";
-$l['editor_description'] = "Description (optional):";
-$l['editor_enterimgurl'] = "Enter the image URL:";
-$l['editor_enteremail'] = "Enter the e-mail address:";
-$l['editor_enterdisplayedtext'] = "Enter the displayed text:";
-$l['editor_enterurl'] = "Enter URL:";
-$l['editor_enteryoutubeurl'] = "Enter the YouTube video URL or ID:";
-$l['editor_insertquote'] = "Insert a Quote";
-$l['editor_invalidyoutube'] = "Invalid YouTube video";
-$l['editor_dailymotion'] = "Dailymotion";
-$l['editor_metacafe'] = "MetaCafe";
-$l['editor_veoh'] = "Veoh";
-$l['editor_vimeo'] = "Vimeo";
-$l['editor_youtube'] = "Youtube";
-$l['editor_facebook'] = "Facebook";
-$l['editor_liveleak'] = "LiveLeak";
-$l['editor_insertvideo'] = "Insert a video";
-$l['editor_maximize'] = "Maximize";
-
-$l['missing_task'] = "Error: Task file does not exist";
-$l['task_backup_cannot_write_backup'] = "Error: The database backup task cannot write to backups directory.";
-$l['task_backup_ran'] = "The database backup task successfully ran.";
-$l['task_checktables_ran'] = "The check tables task successfully ran with no corrupted tables found.";
-$l['task_checktables_ran_found'] = "Notice: The check tables task successfully ran and repaired the {1} table(s).";
-$l['task_dailycleanup_ran'] = "The daily cleanup task successfully ran.";
-$l['task_hourlycleanup_ran'] = "The hourly cleanup task successfully ran.";
-$l['task_logcleanup_ran'] = "The log cleanup task successfully ran and pruned any old logs.";
-$l['task_promotions_ran'] = "The promotions task successfully ran.";
-$l['task_threadviews_ran'] = "The thread views task successfully ran.";
-$l['task_usercleanup_ran'] = "The user cleanup task successfully ran.";
-$l['task_massmail_ran'] = "The mass mail task successfully ran.";
-$l['task_userpruning_ran'] = "The user pruning task successfully ran.";
-$l['task_delayedmoderation_ran'] = "The delayed moderation task successfully ran.";
-$l['task_massmail_ran_errors'] = "One or more problems occurred sending to \"{1}\":
-{2}";
-$l['task_versioncheck_ran'] = "The version check task successfully ran.";
-$l['task_versioncheck_ran_errors'] = "Could not connect to MyBB for a version check.";
-$l['task_recachestylesheets_ran'] = 'Re-cached {1} stylesheets.';
-
-$l['massmail_username'] = "Username";
-$l['email_addr'] = "Email Address";
-$l['board_name'] = "Board Name";
-$l['board_url'] = "Board URL";
-
-// Unlock ACP
-$l['lockout_unlock'] = "Unlock Admin Control Panel";
-$l['enter_username_and_token'] = "Please enter your username and the activation code to continue.";
-$l['unlock_token'] = "Activation code:";
-$l['unlock_account'] = "Unlock Account";
-
-// Email message for if an admin account has been locked out
-$l['locked_out_subject'] = "Administrator Account Locked Out at {1}";
-$l['locked_out_message'] = "{1},
-
-Your administrator account at {2} has been locked after {3} failed login attempts.
-
-To unlock your account, please go to the URL below in your web browser.
-
-{4}/{5}/index.php?action=unlock&uid={7}&token={6}
-
-If the above link does not work correctly, go to
-
-{4}/{5}/index.php?action=unlock
-
-You will need to enter the following:
-Username: {1}
-Activation Code: {6}
-
-Thank you,
-{2} Staff";
-
-$l['comma'] = ", ";
-
-$l['search_for_a_user'] = "Search for a user";
-
-$l['mybb_engine'] = "MyBB Engine";
-
-// If the language string for "Username" is too cramped in the ACP Login box
-// then use this to define how much larger you want the gap to be (in px)
-// $l['login_field_width'] = "0";
-
-$l['my2fa'] = "Two-Factor Authentication";
-$l['my2fa_failed'] = "The code was incorrect, you're logged out now";
-$l['my2fa_code'] = "Please enter the authentication code";
-$l['my2fa_label'] = "Authentication code:";
-$l['my2fa_no_codes'] = "Note: you've used all of your recovery codes. Please visit the recovery codes page to generate a new set.";
diff --git a/html/forums/inc/languages/english/admin/hello.lang.php b/html/forums/inc/languages/english/admin/hello.lang.php
deleted file mode 100644
index 591be4d..0000000
--- a/html/forums/inc/languages/english/admin/hello.lang.php
+++ /dev/null
@@ -1,23 +0,0 @@
-Check for Updates.";
-$l['success_credits_updated'] = 'The MyBB credits cache has been successfully updated.';
diff --git a/html/forums/inc/languages/english/admin/home_dashboard.lang.php b/html/forums/inc/languages/english/admin/home_dashboard.lang.php
deleted file mode 100644
index 890764c..0000000
--- a/html/forums/inc/languages/english/admin/home_dashboard.lang.php
+++ /dev/null
@@ -1,54 +0,0 @@
-MyBB version check was more than two weeks ago.";
-$l['new_version_available'] = "You are currently running {1} whilst the latest generally available release is {2}.";
-$l['version_check_description'] = "Here you can check that you are currently running the latest copy of MyBB and see the latest announcements directly from MyBB.";
-$l['latest_mybb_announcements'] = "Latest MyBB Announcements";
-$l['no_announcements'] = "No stored announcements. Check for Updates .";
-$l['your_version'] = "Your Version";
-$l['latest_version'] = "Latest Version";
-$l['update_forum'] = "Please upgrade to the latest version of MyBB by visiting the MyBB Website .";
-$l['read_more'] = "Read more";
-
-$l['success_up_to_date'] = "Congratulations, you are running the latest version of MyBB.";
-
-$l['error_out_of_date'] = "Your copy of MyBB is out of date.";
-$l['error_communication'] = "There was a problem communicating with the version server. Please try again in a few minutes.";
-$l['error_fetch_news'] = "MyBB was unable to successfully fetch the latest announcements from the MyBB website.";
-
-$l['news_description'] = "The latest news from the MyBB Blog .";
-
-$l['admin_notes_public'] = "These notes are public to all administrators.";
-$l['admin_notes'] = "Administrator Notes";
-$l['save_notes'] = "Save Notes";
-
-$l['success_notes_updated'] = "The administrator notes have been successfully updated.";
diff --git a/html/forums/inc/languages/english/admin/home_module_meta.lang.php b/html/forums/inc/languages/english/admin/home_module_meta.lang.php
deleted file mode 100644
index 5ce2d52..0000000
--- a/html/forums/inc/languages/english/admin/home_module_meta.lang.php
+++ /dev/null
@@ -1,24 +0,0 @@
-like Google Authenticator or Authy. Those apps will generate a token which you need to enter on every acp login.";
-$l['my2fa_qr'] = "Two-Factor Authentication Code";
-$l['recovery_codes_desc'] = "View your recovery codes .";
-$l['recovery_codes'] = "Recovery Codes";
-$l['recovery_codes_warning'] = "Note: the codes will be regenerated on every page visit and can be only used once.";
-$l['print_recovery_codes'] = "Print Recovery Codes";
\ No newline at end of file
diff --git a/html/forums/inc/languages/english/admin/index.html b/html/forums/inc/languages/english/admin/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/inc/languages/english/admin/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/languages/english/admin/style_module_meta.lang.php b/html/forums/inc/languages/english/admin/style_module_meta.lang.php
deleted file mode 100644
index 3f3ff16..0000000
--- a/html/forums/inc/languages/english/admin/style_module_meta.lang.php
+++ /dev/null
@@ -1,15 +0,0 @@
-{1}'";
-$l['search_noresults_title'] = "No templates were found with the title '{1} '";
-$l['default_templates'] = "Default Templates";
-
-$l['edit_template_breadcrumb'] = "Edit Template: ";
-
-$l['global_templates'] = "Global Templates";
-$l['master_templates'] = "Master Templates";
-
-$l['not_used_by_any_themes'] = "Not used by any themes";
-$l['used_by'] = "Used by: ";
-$l['used_by_all_themes'] = "Used by all themes";
-
-$l['expand_templates'] = "Expand Templates";
-$l['edit_template_set'] = "Edit Template Set";
-$l['delete_template_set'] = "Delete Template Set";
-$l['empty_template_set'] = "There are no templates in this set. ";
-
-$l['inline_edit'] = "Inline Edit";
-$l['full_edit'] = "Full Edit";
-$l['revert_to_orig'] = "Revert to Original";
-$l['delete_template'] = "Delete Template";
-$l['edit_in'] = "Edit in";
-
-$l['group_calendar'] = "Calendar";
-$l['group_forumdisplay'] = "Forum Display";
-$l['group_index'] = "Index Page";
-$l['group_error'] = "Error Message";
-$l['group_memberlist'] = "Member List";
-$l['group_multipage'] = "Multipage Pagination";
-$l['group_private'] = "Private Messaging";
-$l['group_portal'] = "Portal";
-$l['group_postbit'] = "Post Bit";
-$l['group_posticons'] = "Post Icon";
-$l['group_showthread'] = "Show Thread";
-$l['group_usercp'] = "User Control Panel";
-$l['group_online'] = "Who's Online";
-$l['group_forumbit'] = "Forum Bit";
-$l['group_editpost'] = "Edit Post";
-$l['group_forumjump'] = "Forum Jump";
-$l['group_moderation'] = "Moderation";
-$l['group_nav'] = "Navigation";
-$l['group_search'] = "Search";
-$l['group_showteam'] = "Show Forum Team";
-$l['group_reputation'] = "Reputation";
-$l['group_newthread'] = "New Thread";
-$l['group_newreply'] = "New Reply";
-$l['group_member'] = "Member";
-$l['group_warning'] = "Warning System";
-$l['group_global'] = "Global";
-$l['group_header'] = "Header";
-$l['group_managegroup'] = "Manage Group";
-$l['group_misc'] = "Miscellaneous";
-$l['group_modcp'] = "Moderator Control Panel";
-$l['group_announcement'] = "Announcement";
-$l['group_polls'] = "Poll";
-$l['group_post'] = "Post";
-$l['group_printthread'] = "Print Thread";
-$l['group_report'] = "Report";
-$l['group_smilieinsert'] = "Smilie Inserter";
-$l['group_stats'] = "Statistics";
-$l['group_xmlhttp'] = "XMLHTTP";
-$l['group_footer'] = "Footer";
-$l['group_video'] = "Video MyCode";
-$l['group_sendthread'] = "Send Thread";
-$l['group_mycode'] = "MyCode";
-
-$l['expand'] = "Expand";
-$l['collapse'] = "Collapse";
-
-$l['save_continue'] = "Save and Continue Editing";
-$l['save_close'] = "Save and Return to Listing";
-
-$l['template_name'] = "Template Name";
-$l['template_name_desc'] = "Name of the template. If you change this on the default template, it will save the template as a custom template under the new name.";
-$l['template_set_desc'] = "Which template set should this template be in?";
-
-$l['template_group_prefix'] = "Template Group Prefix";
-$l['template_group_prefix_desc'] = "The prefix name to group templates. This must not already exist. For example, to group templates hello_world , hello_foobar and hello_foo , enter hello here.";
-$l['template_group_title'] = "Template Group Title";
-$l['template_group_title_desc'] = "The title of the prefix group. This will be shown in the templates list. For example, for our hello templates, enter Hello here.";
-
-$l['edit_template_group'] = "Edit Template Group";
-$l['editing_template_group'] = "Editing Template Group {1}";
-$l['delete_template_group'] = "Delete Template Group";
-$l['save_template_group'] = "Save Template Group";
-
-$l['templates_the_same'] = "The two templates you've selected are both the same and cannot be compared.";
-$l['master_updated_ins'] = "Changes that have been made between your previous version and this one are highlighted like this.";
-$l['master_updated_del'] = "Any customizations you've made to your templates (the old ones) are highlighted like this.";
-$l['template_diff_analysis'] = "Template Difference Analysis";
-$l['search_names_header'] = "Searching template names containing \"{1}\"";
-
-$l['updated_template_welcome1'] = "Edit - Allows you to edit the current template for this template set to incorporate updates made between the versions.";
-$l['updated_template_welcome2'] = "Revert - Will revert the customized template back to the master revision, however you'll lose any custom changes you have made.";
-$l['updated_template_welcome3'] = "Diff - Performs a difference analysis between the templates and shows you exactly what changes have been made between your customized copy and the latest master copy.";
-
-$l['no_global_templates'] = "There are currently no global templates.";
-$l['no_updated_templates'] = "There are currently no templates which have been updated since you last upgraded.";
-
-$l['confirm_template_set_deletion'] = "Are you sure you want to delete this template set?";
-$l['confirm_template_group_delete'] = "Are you sure you want to delete this template group? This action does not remove the templates in the group.";
-$l['confirm_template_deletion'] = "Are you sure you want to delete this template?";
-$l['confirm_template_revertion'] = "Are you sure you want to revert this template?";
-
-$l['error_security_problem'] = "A potential security issue was found in the template. Please review your changes or contact the MyBB Group for support.";
-$l['error_missing_input'] = "Please make sure you have all the input required to edit this template (tid and sid)";
-$l['error_already_exists'] = "The template title is already in use. Please use a different title.";
-$l['error_invalid_template'] = "Please select a valid template.";
-$l['error_missing_set_title'] = "Please select a template set title.";
-$l['error_invalid_input'] = "Please make sure you have the correct template set ID.";
-$l['error_invalid_set'] = "Please select a valid template set.";
-$l['error_invalid_template_set'] = "Invalid template set selected.";
-$l['error_themes_attached_template_set'] = "This template set cannot be deleted as there are themes attached to this template set.";
-$l['error_missing_group_prefix'] = "Please enter a prefix for the template group.";
-$l['error_invalid_group_title'] = "As underscores (_) are used as delimiter those are forbidden in template group prefixes. Please select another prefix.";
-$l['error_missing_group_title'] = "Please enter a title for the template group.";
-$l['error_duplicate_group_prefix'] = "A template group already exists with this prefix. Please enter another prefix.";
-$l['error_missing_template_group'] = "The template group could not be found.";
-$l['error_default_template_group'] = "You cannot edit or remove a default template group.";
-
-$l['success_template_saved'] = "The selected template has successfully been saved.";
-$l['success_template_deleted'] = "The selected template has successfully been deleted.";
-$l['success_template_reverted'] = "The selected template has successfully been reverted.";
-$l['success_template_set_saved'] = "The selected template set has successfully been saved.";
-$l['success_template_set_deleted'] = "The selected template set has successfully been deleted.";
-$l['success_template_group_saved'] = "The selected template group has successfully been saved.";
-$l['success_template_group_deleted'] = "The selected template group has successfully been deleted.";
diff --git a/html/forums/inc/languages/english/admin/style_themes.lang.php b/html/forums/inc/languages/english/admin/style_themes.lang.php
deleted file mode 100644
index 0d71ebe..0000000
--- a/html/forums/inc/languages/english/admin/style_themes.lang.php
+++ /dev/null
@@ -1,220 +0,0 @@
-Template sets, stylesheets, and other settings are inherited from the parent theme.";
-
-$l['import_a_theme'] = "Import a Theme";
-$l['import_a_theme_desc'] = "Here you can import new themes. You may import a theme from your computer, or a remote URL.";
-
-$l['edit_stylesheets'] = "Edit Stylesheets";
-$l['edit_stylesheets_desc'] = "Here you can easily manage the stylesheets in use by this theme. Stylesheets are based on CSS and define the fonts, colors and other visual aspects for this theme. A list of stylesheets attached to this theme is below.";
-
-$l['add_stylesheet'] = "Add Stylesheet";
-$l['add_stylesheet_desc'] = "Here you can add a new stylesheet to this theme. A stylesheet contains CSS that allows you to customize the appearance of this theme. You will be taken to the stylesheet edit page following creation.";
-
-$l['browse_themes'] = "Browse Themes";
-$l['browse_themes_desc'] = "Here you may browse the official MyBB modifications site for themes compatible with your series of MyBB.";
-
-$l['browse_all_themes'] = "Browse All Themes";
-
-$l['export_theme'] = "Export Theme";
-$l['export_theme_desc'] = "Here you can export your themes and customized templates. Exporting themes is useful if you wish to share them with others or import them to another forum.";
-
-$l['duplicate_theme'] = "Duplicate Theme";
-$l['duplicate_theme_desc'] = "Here you can duplicate your themes. This helps you if you want to develop another version of it.";
-
-$l['colors_manage'] = "Manage Colors";
-$l['colors_attached_to'] = "color setting";
-$l['colors_setting'] = "Base Color";
-$l['colors_setting_desc'] = "Select the color this theme should use as its base color. Stylesheets attached to this color will be used.";
-$l['colors_no_color_setting'] = "There are no colors available. Please create a list of colors below to use this feature.";
-$l['colors_add'] = "Manage Colors";
-$l['colors_add_desc'] = "A list of colors available for this theme. This should be a list of key paired (key=item) colors, for example, blue=Blue . Separate items with a new line.";
-$l['colors_please_select'] = "None";
-$l['colors_add_edit_desc'] = "Select a color to attach this stylesheet to. You can select more than one color.";
-$l['colors_specific_color'] = "Specific color";
-
-$l['include_custom_only'] = "Include customized items only?";
-$l['include_custom_only_desc'] = "If you wish to include items (css and stylesheets) inherited from parent themes select \"no\", otherwise only customized elements will be exported.";
-$l['include_templates'] = "Include templates in the export as well?";
-$l['include_templates_desc'] = "If you want to export the customized templates used in this theme as well, select yes.";
-
-$l['edit_stylesheet_simple_mode'] = "Edit Stylesheet: Simple Mode";
-$l['edit_stylesheet_simple_mode_desc'] = "Here you can easily edit your theme's stylesheet. Simple mode allows you to customize the CSS in this stylesheet with little or no knowledge of CSS. Begin by selecting an item below.";
-$l['edit_stylesheet_advanced_mode'] = "Edit Stylesheet: Advanced Mode";
-$l['edit_stylesheet_advanced_mode_desc'] = "Here you can edit this stylesheet like a flat file. The contents of the CSS stylesheet is shown in the text area below.";
-
-$l['theme'] = "Theme";
-$l['num_users'] = "# Users";
-$l['edit_theme'] = "Edit Theme";
-$l['delete_theme'] = "Delete Theme";
-$l['set_as_default'] = "Set as Default";
-$l['default_theme'] = "Default Theme";
-$l['force_on_users'] = "Force on Users";
-$l['delete_revert'] = "Delete / Revert";
-
-$l['local_file'] = "Local File";
-$l['url'] = "URL";
-$l['import_from'] = "Import from";
-$l['import_from_desc'] = "Select a file to import. You can either import the theme file from your computer or from a URL.";
-$l['parent_theme'] = "Parent Theme";
-$l['parent_theme_desc'] = "Select the theme this theme should be a child of.";
-$l['new_name'] = "New Name";
-$l['new_name_desc'] = "A new name for the imported theme. If left blank, the name in the theme file will be used.";
-$l['advanced_options'] = "Advanced Options";
-$l['ignore_version_compatibility'] = "Ignore Version Compatibility";
-$l['ignore_version_compat_desc'] = "Should this theme be installed regardless of the version of MyBB it was created for?";
-$l['import_stylesheets'] = "Import Stylesheets";
-$l['import_stylesheets_desc'] = "If this theme contains custom stylesheets should they be imported?";
-$l['import_templates'] = "Import Templates";
-$l['import_templates_desc'] = "If this theme contains custom templates should they be imported?";
-$l['import_theme'] = "Import Theme";
-
-$l['new_name_duplicate_desc'] = "A new name for the duplicated theme.";
-$l['duplicate_stylesheets'] = "Duplicate Stylesheets";
-$l['duplicate_stylesheets_desc'] = "If this theme contains custom stylesheets should they be duplicated?";
-$l['duplicate_templates'] = "Duplicate Templates";
-$l['duplicate_templates_desc'] = "If this theme contains custom templates should they be duplicated?";
-
-$l['create_a_theme'] = "Create a Theme";
-$l['name'] = "Name";
-$l['name_desc'] = "Specify a name for the new theme.";
-$l['display_order'] = "Order";
-
-$l['edit_theme_properties'] = "Edit Theme Properties";
-$l['name_desc_edit'] = "Specify a name for the theme.";
-$l['allowed_user_groups'] = "Allowed User Groups";
-$l['allowed_user_groups_desc'] = "Specify which user groups are allowed to use this theme. Selecting 'All User Groups' will override any other selection. Hold down the CTRL key to select multiple user groups.";
-$l['all_user_groups'] = "All User Groups";
-$l['template_set'] = "Template Set";
-$l['template_set_desc'] = "Specify the template set the theme should use. The selected template set defines the markup (HTML) used in presenting the theme.";
-$l['editor_theme'] = "Editor Style";
-$l['editor_theme_desc'] = "Specify the style to be used for the MyCode editor in this theme. Editor styles can be found in the jscripts/editor_themes folder.";
-$l['img_directory'] = "Image Directory";
-$l['img_directory_desc'] = "The root directory for the location of the images used in this theme. Note that this only specifies the directory for the images used in templates, not the stylesheets.";
-$l['logo'] = "Board Logo";
-$l['logo_desc'] = "Location of the board logo used in this theme (this is the logo that appears at the top of each page).";
-$l['table_spacing'] = "Table Spacing";
-$l['table_spacing_desc'] = "The width of the inner padding of table cells, in pixels. This is HTML's cellpadding attribute of the table tag.";
-$l['inner_border'] = "Inner Table Border Width";
-$l['inner_border_desc'] = "The amount of padding between each table cell, in pixels. This is HTML's cellspacing attribute of the table tag.";
-$l['save_theme_properties'] = "Save Theme Properties";
-$l['save_stylesheet_order'] = "Save Stylesheet Orders";
-
-$l['background'] = "Background";
-$l['extra_css_atribs'] = "Extra CSS Attributes";
-$l['color'] = "Color";
-$l['width'] = "Width";
-$l['text_decoration'] = "Text Decoration";
-$l['font_family'] = "Font Family";
-$l['font_size'] = "Font Size";
-$l['font_style'] = "Font Style";
-$l['font_weight'] = "Font Weight";
-
-$l['stylesheets'] = "Stylesheets";
-$l['inherited_from'] = "Inherited from";
-$l['attached_to'] = "Attached to";
-$l['attached_to_nothing'] = "Attached to nothing";
-$l['attached_to_desc'] = "You can either attach stylesheets globally or to specific files. If you attach it to specific files you can attach it to specific actions within each file.";
-$l['actions'] = "actions";
-$l['of'] = "of";
-$l['attached_to_all_pages'] = "Attached to all pages";
-$l['properties'] = "Properties";
-$l['edit_style'] = "Edit Style";
-$l['stylesheets_in'] = "Stylesheets in";
-$l['stylesheet_properties'] = "Stylesheet Properties";
-$l['stylesheet_inherited_default'] = "This stylesheet is currently being inherited from {1}. Any changes you make will break the inheritance, and the stylesheet will be copied to this theme.";
-$l['stylesheet_inherited'] = "This stylesheet is currently being inherited from {1}. Any changes you make will break the inheritance, and the stylesheet will be copied to this theme. Edit this stylesheet in {1} to keep the inheritance.";
-$l['globally'] = "Globally";
-$l['specific_files'] = "Specific files";
-$l['specific_actions'] = "Specific actions";
-$l['specific_actions_desc'] = "Actions are separated by commas";
-$l['file'] = "File";
-$l['add_another'] = "Add another";
-$l['edit_stylesheet_properties_for'] = "Edit Stylesheet Properties for";
-$l['file_name'] = "File Name";
-$l['file_name_desc'] = "Name for the stylesheet, usually ending in [.css] ";
-$l['save_stylesheet_properties'] = "Save Stylesheet Properties";
-$l['saved'] = "Saved";
-$l['editing'] = "Editing";
-$l['selector'] = "Selector";
-$l['save_changes'] = "Save Changes";
-$l['save_changes_and_close'] = "Save Changes & Close";
-$l['save_changes_js'] = "Do you want to save your changes first?";
-$l['delete_confirm_js'] = "Are you sure you want to delete this?";
-$l['import_stylesheet_from'] = "Import from another stylesheet in this theme";
-$l['write_own'] = "Write my own content";
-$l['save_stylesheet'] = "Save Stylesheet";
-$l['add_stylesheet_to'] = "Add Stylesheet to";
-
-$l['full_stylesheet_for'] = "Full Stylesheet for";
-
-$l['recommended_themes_for_mybb'] = "Recommended Themes for MyBB {1}";
-$l['browse_results_for_mybb'] = "Browse Results for MyBB {1}";
-$l['search_for_themes'] = "Search for Themes";
-$l['search'] = "Search";
-$l['download'] = "Download";
-$l['created_by'] = "Created by";
-
-$l['error_invalid_stylesheet'] = "You have selected an invalid stylesheet.";
-$l['error_invalid_theme'] = "You have selected an invalid theme.";
-$l['error_missing_name'] = "Please enter a name for this theme.";
-$l['error_missing_url'] = "Please enter a valid url to import a theme from.";
-$l['error_theme_already_exists'] = "A theme with the same name already exists. Please specify a different name.";
-$l['error_theme_security_problem'] = "A potential security issue was found in the theme. It was not imported. Please contact the Author or MyBB Group for support.";
-
-$l['error_local_file'] = "Could not open the local file. Does it exist? Please check and try again.";
-$l['error_uploadfailed'] = "Upload failed. Please try again.";
-$l['error_uploadfailed_detail'] = "Error details: ";
-$l['error_uploadfailed_php1'] = "PHP returned: Uploaded file exceeded upload_max_filesize directive in php.ini. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_php2'] = "The uploaded file exceeded the maximum file size specified.";
-$l['error_uploadfailed_php3'] = "The uploaded file was only partially uploaded.";
-$l['error_uploadfailed_php4'] = "No file was uploaded.";
-$l['error_uploadfailed_php6'] = "PHP returned: Missing a temporary folder. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_php7'] = "PHP returned: Failed to write the file to disk. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_phpx'] = "PHP returned error code: {1}. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_lost'] = "The file could not be found on the server.";
-$l['error_uploadfailed_nocontents'] = "MyBB could not find the theme with the file you uploaded. Please check the file is the correct and is not corrupt.";
-$l['error_invalid_version'] = "This theme has been written for another version of MyBB. Please check the \"Ignore Version Compatibility\" to ignore this error.";
-$l['error_missing_stylesheet_name'] = "Please enter a name for this stylesheet.";
-$l['error_missing_stylesheet_extension'] = "This stylesheet must end with the correct file extension, for example, {1}.css ";
-$l['error_invalid_parent_theme'] = "The selected parent theme does not exist. Please select a valid parent theme.";
-$l['error_invalid_templateset'] = "The selected template set does not exist. Please select a valid template set.";
-$l['error_invalid_editortheme'] = "The selected editor theme does not exist. Please select a valid editor theme.";
-$l['error_inheriting_stylesheets'] = "You cannot delete this theme because there are still other themes that are inheriting stylesheets from it.";
-$l['error_cannot_parse'] = "MyBB cannot parse this stylesheet for the simple editor. It can only be edited in advanced mode.";
-$l['error_communication_problem'] = "There was a problem communicating with the MyBB themes server. Please try again in a few minutes.";
-$l['error_no_results_found'] = "No results were found for the specified keyword(s).";
-$l['error_no_color_picked'] = "You didn't specify which colors to attach this stylesheet to.";
-$l['error_no_display_order'] = "There was an error finding the display orders for the stylesheets. Please refresh the page and try again.";
-
-$l['success_duplicated_theme'] = "The selected theme has been duplicated successfully.";
-$l['success_imported_theme'] = "The selected theme has been imported successfully.";
-$l['success_theme_created'] = "The theme has been created successfully.";
-$l['success_theme_deleted'] = "The selected theme has been deleted successfully.";
-$l['success_stylesheet_properties_updated'] = "The properties for the selected stylesheet have been updated successfully.";
-$l['success_stylesheet_updated'] = "The selected stylesheet has been updated successfully.";
-$l['success_stylesheet_deleted'] = "The selected stylesheet has been deleted / reverted successfully.";
-$l['success_theme_set_default'] = "The selected theme is now the forum default.";
-$l['success_theme_forced'] = "All users have been forced to use the selected theme successfully.";
-$l['success_theme_properties_updated'] = "The properties for the select theme have been updated successfully.";
-$l['success_stylesheet_added'] = "The stylesheet for this theme has been created successfully.";
-$l['success_stylesheet_order_updated'] = "The display orders for the stylesheets have been updated successfully.";
-
-$l['confirm_theme_deletion'] = "Are you sure you want to delete this theme?";
-$l['confirm_stylesheet_deletion'] = "Are you sure you want to delete / revert this stylesheet?";
-$l['confirm_theme_forced'] = "Are you sure you want to force this theme on all users?";
-
-$l['theme_info_fetch_error'] = 'There was an error fetching the style info.';
-$l['theme_info_save_error'] = 'There was an error saving the style info.';
-
-$l['saving'] = 'Saving...';
-
diff --git a/html/forums/inc/languages/english/admin/tools_adminlog.lang.php b/html/forums/inc/languages/english/admin/tools_adminlog.lang.php
deleted file mode 100644
index 45f8334..0000000
--- a/html/forums/inc/languages/english/admin/tools_adminlog.lang.php
+++ /dev/null
@@ -1,311 +0,0 @@
- Please note, this process can not differentiate between custom modifications and actual corruption in files. Therefore you should take caution in reverting files this process returns as \"corrupt\". ";
-
-$l['error_communication'] = "There was a problem communicating with the MyBB server. Please try again in a few minutes.";
-$l['file'] = "File";
-$l['no_corrupt_files_found'] = "Congratulations! No corrupt files have been found on your installation.";
-$l['found_problems'] = "Found Problems";
-$l['no_problems_found'] = "No Problems Detected";
-$l['changed'] = "Changed";
-$l['missing'] = "Missing";
-$l['status'] = "Status";
-
diff --git a/html/forums/inc/languages/english/admin/tools_mailerrors.lang.php b/html/forums/inc/languages/english/admin/tools_mailerrors.lang.php
deleted file mode 100644
index 20dc01d..0000000
--- a/html/forums/inc/languages/english/admin/tools_mailerrors.lang.php
+++ /dev/null
@@ -1,31 +0,0 @@
-(requires MySQL 5.5.3 or above)";
-$l['not_available'] = "Not available";
-$l['all_tables'] = "All Tables";
-$l['convert_now'] = "Convert Now";
-$l['totals'] = "Totals";
-$l['attachments'] = "Attachments";
-$l['total_database_size'] = "Total Database Size";
-$l['attachment_space_used'] = "Attachment Space used";
-$l['total_cache_size'] = "Total Cache Size";
-$l['estimated_attachment_bandwidth_usage'] = "Estimated Attachment Bandwidth Usage";
-$l['max_upload_post_size'] = "Max Upload / POST Size";
-$l['average_attachment_size'] = "Average Attachment Size";
-$l['stats'] = "Stats";
-$l['task'] = "Task";
-$l['run_time'] = "Run Time";
-$l['next_3_tasks'] = "Next 3 Tasks";
-$l['no_tasks'] = "There are no tasks running at this time.";
-$l['backup_time'] = "Backup Time";
-$l['no_backups'] = "There are currently no backups made yet.";
-$l['existing_db_backups'] = "Existing Database Backups";
-$l['writable'] = "Writable";
-$l['not_writable'] = "Not Writable";
-$l['please_chmod_777'] = "Please CHMOD to 777.";
-$l['chmod_info'] = "Please change the CHMOD settings to the ones specified with the file below. For more information on CHMODing, see the";
-$l['file'] = "File";
-$l['location'] = "Location";
-$l['settings_file'] = "Settings File";
-$l['config_file'] = "Configuration File";
-$l['file_upload_dir'] = "File Uploads Directory";
-$l['avatar_upload_dir'] = "Avatar Uploads Directory";
-$l['language_files'] = "Language Files";
-$l['backup_dir'] = "Backups Directory";
-$l['cache_dir'] = "Cache Directory";
-$l['themes_dir'] = "Themes Directory";
-$l['chmod_files_and_dirs'] = "CHMOD Files and Directories";
-
-$l['notice_process_long_time'] = "This process may take up to several hours depending on the size of your forum and this table. It is highly recommend to create a database backup as this process can't be undone. ";
-$l['notice_mb4_warning'] = "4-Byte UTF-8 Support requires MySQL 5.5.3 or above. You will not be able to import your database on a MySQL server with another version.";
-
-$l['check_templates'] = "Check Templates";
-$l['check_templates_desc'] = "Checks all installed templates for known security issues.";
-$l['check_templates_title'] = "Check Template Security";
-$l['check_templates_info'] = "This process will check your templates against security issues that could affect your forum and the server it runs on. This might take a while if you've installed many themes.
- To start the process, press the 'Proceed' button below.";
-$l['check_templates_info_desc'] = "The templates below matched known security issues. Please review them.";
-$l['full_edit'] = "Full Edit";
-
-$l['error_chmod'] = "of the required files and directories do not have proper CHMOD settings.";
-$l['error_invalid_table'] = "The specified table does not exist.";
-$l['error_db_encoding_not_set'] = "Your current setup of MyBB is not setup to use this tool yet. Please see the MyBB Docs for more information on how to set it up.";
-$l['error_not_supported'] = "Your current Database Engine is not supported by the UTF-8 Conversion Tool.";
-$l['error_invalid_input'] = "There was a problem checking the templates. Please try again or contact the MyBB Group for support.";
-$l['error_master_templates_altered'] = "The Master Templates have been altered. Please contact the MyBB Group for support on how to alter these.";
-$l['error_utf8mb4_version'] = "Your MySQL version doesn't support 4-Byte UTF-8 encoding.";
-
-
-$l['warning_multiple_encodings'] = "It is recommend not to use different encodings in your database. This may cause unexpected behavior or MySQL errors.";
-$l['warning_utf8mb4_config'] = "For full 4-Byte UTF-8 support you need to change \$config['database']['encoding'] = 'utf8'; to \$config['database']['encoding'] = 'utf8mb4'; in your inc/config.php.";
-
-$l['success_templates_checked'] = "Templates checked successfully - no security issues were found!";
-$l['success_all_tables_already_converted'] = "All tables have already been converted or are already in UTF-8 format.";
-$l['success_table_converted'] = "The selected table \"{1}\" has been converted to UTF-8 successfully.";
-$l['success_chmod'] = "All of the required files and directories have the proper CHMOD settings.";
diff --git a/html/forums/inc/languages/english/admin/tools_tasks.lang.php b/html/forums/inc/languages/english/admin/tools_tasks.lang.php
deleted file mode 100644
index a1729ac..0000000
--- a/html/forums/inc/languages/english/admin/tools_tasks.lang.php
+++ /dev/null
@@ -1,76 +0,0 @@
-WARNING: You are about to enable a task that is only meant to be run via cron (Please see the MyBB Docs for more information). Continue?";
-$l['no_tasks'] = "There are no tasks on your forum at this time.";
-
diff --git a/html/forums/inc/languages/english/admin/tools_warninglog.lang.php b/html/forums/inc/languages/english/admin/tools_warninglog.lang.php
deleted file mode 100644
index 0e89b82..0000000
--- a/html/forums/inc/languages/english/admin/tools_warninglog.lang.php
+++ /dev/null
@@ -1,51 +0,0 @@
-*";
-$l['autocomplete_enabled'] = "Auto-complete is enabled in this field.";
-$l['ban_reason'] = "Ban Reason";
-$l['ban_group'] = "Banned Group * ";
-$l['ban_group_desc'] = "In order for this user to be banned they must be moved to a banned group.";
-$l['ban_time'] = "Ban Length * ";
-
-//= Index
-$l['user'] = "User";
-$l['moderation'] = "Moderation";
-$l['ban_lifts_on'] = "Ban Lifts On";
-$l['time_left'] = "Time Left";
-$l['permenantly'] = "permanently";
-$l['na'] = "N/A";
-$l['for'] = "for";
-$l['bannedby_x_on_x'] = "{1} Banned by {2} on {3} {4} ";
-$l['lift'] = "Lift";
-$l['no_banned_users'] = "You don't have any banned users at the moment.";
-$l['prune_threads_and_posts'] = "Prune Threads & Posts";
-
-// Buttons
-$l['ban_user'] = "Ban User";
-$l['update_ban'] = "Update Ban";
diff --git a/html/forums/inc/languages/english/admin/user_group_promotions.lang.php b/html/forums/inc/languages/english/admin/user_group_promotions.lang.php
deleted file mode 100644
index 17ca67c..0000000
--- a/html/forums/inc/languages/english/admin/user_group_promotions.lang.php
+++ /dev/null
@@ -1,91 +0,0 @@
-Use {username} to represent the user's name.";
-$l['user_title'] = "Default User Title";
-$l['user_title_desc'] = "If the user has nothing entered in their custom user title field, the user title entered here will be displayed. If you leave this option blank, users will have their title and stars taken from the User Titles configuration.";
-$l['do_not_copy_permissions'] = "Don't copy permissions from another group";
-$l['copy_permissions_from'] = "Copy Permissions From...";
-$l['copy_permissions_from_desc'] = "If you wish, you can copy the forum and group permissions from another group. To make use of this, select a group to copy permissions from.";
-$l['save_user_group'] = "Save User Group";
-$l['list_users'] = "List Users";
-
-$l['general'] = "General";
-$l['forums_posts'] = "Forums and Posts";
-$l['users_permissions'] = "Users and Permissions";
-$l['misc'] = "Miscellaneous";
-$l['mod_cp'] = "Moderator CP";
-$l['stars'] = "# of Stars";
-$l['star_image'] = "Star Image";
-$l['user_stars'] = "User Stars";
-$l['user_stars_desc'] = "If you enter a number of stars and the location of a star image, this star image will be shown for this particular user group. If you want to use different star images for different themes, please use {theme} to represent the image directory of each theme. The number of stars only takes effect if Default User Title is not blank.";
-$l['group_image'] = "Group Image";
-$l['group_image_desc'] = "Here you can set a group image which will show on each post made by users in this group. Please use {lang} to represent the user's chosen language if translated group images are available";
-$l['general_options'] = "General Options";
-$l['member_list'] = "Yes, show users of this group on the member list";
-$l['forum_team'] = "Yes, show this group on the 'forum team' page";
-$l['is_banned_group'] = "Yes, this is a banned groupIf this group is a 'banned' user group, users will be able to be 'banned' in to this user group. ";
-$l['publicly_joinable_options'] = "Publicly Joinable Options";
-$l['user_joinable'] = "Yes, users can freely join and leave this group";
-$l['moderate_join_requests'] = "Yes, all new join requests need to be moderated firstUsers must be able to freely join and leave this group for this to take effect. ";
-$l['invite_only'] = "Yes, users must be invited in order to join this groupUsers must be able to freely join and leave this group for this to take effect. ";
-$l['can_set_as_display_group'] = "Yes, users can set this group as their display groupIf set to yes, users will be able to set this user group as their display group for user titles, stars, name style and group images. ";
-$l['moderation_administration_options'] = "Moderation/Administration Options";
-$l['is_super_mod'] = "Yes, users of this group are super moderators";
-$l['can_access_mod_cp'] = "Yes, users of this group can access the moderator CP";
-$l['can_access_admin_cp'] = "Yes, users of this group can access the admin CP";
-$l['viewing_options'] = "Viewing Options";
-$l['can_view_board'] = "Can view board?";
-$l['can_view_threads'] = "Can view threads?";
-$l['can_search_forums'] = "Can search forums?";
-$l['can_view_profiles'] = "Can view user profiles?";
-$l['can_download_attachments'] = "Can download attachments?";
-$l['can_view_board_closed'] = "Can view board when closed?";
-$l['posting_rating_options'] = "Posting/Rating Options";
-$l['can_post_threads'] = "Can post new threads?";
-$l['can_post_replies'] = "Can post replies to threads?";
-$l['can_rate_threads'] = "Can rate threads?";
-$l['moderation_options'] = "Moderation Options";
-$l['mod_new_posts'] = "Moderate new posts?";
-$l['mod_new_threads'] = "Moderate new threads?";
-$l['mod_new_attachments'] = "Moderate new attachments?";
-$l['mod_after_edit'] = "Moderate posts after they've been edited?";
-$l['poll_options'] = "Poll Options";
-$l['max_posts_per_day'] = "Maximum Posts Per Day";
-$l['max_posts_per_day_desc'] = "This is the total number of posts allowed per user per day. 0 for unlimited.";
-$l['can_post_polls'] = "Can post polls?";
-$l['can_vote_polls'] = "Can vote in polls?";
-$l['can_undo_votes'] = "Can undo votes in polls?";
-$l['attachment_options'] = "Attachment Options";
-$l['can_post_attachments'] = "Can post attachments?";
-$l['attach_quota'] = "Attachment Quota:";
-$l['attach_quota_desc'] = "Here you can set the attachment quota that each user in this group will receive. If set to 0, there is no limit.";
-$l['editing_deleting_options'] = "Editing/Deleting Options";
-$l['can_edit_posts'] = "Can edit own posts?";
-$l['can_delete_posts'] = "Can delete own posts?";
-$l['can_delete_threads'] = "Can delete own threads?";
-$l['can_edit_attachments'] = "Can update own attachments?";
-$l['can_view_deletion_notices'] = "Can view deletion notices?";
-$l['account_management'] = "Account Management";
-$l['edit_time_limit'] = "Edit Time Limit";
-$l['edit_time_limit_desc'] = "The number of minutes until regular users cannot edit their own posts (if they have the permission). Enter 0 (zero) for no limit.";
-$l['can_be_reported'] = "Can be reported?";
-$l['can_access_usercp'] = "Can access User CP?";
-$l['can_change_username'] = "Can change username?";
-$l['can_change_website'] = "Can change website?";
-$l['can_use_usertitles'] = "Can use custom user titles?";
-$l['can_upload_avatars'] = "Can upload avatars?";
-$l['can_use_signature'] = "Can add a signature?";
-$l['can_use_signature_posts'] = "Can add a signature after x posts?";
-$l['required_posts'] = "Required Post Count Before Signature Can Be Added:";
-$l['required_posts_desc'] = "Here you can enter the minimum number of posts a user must have before they can add a signature. If set to 0, users can add a signature at any post count.";
-$l['uses_no_follow'] = "Signature links have nofollow enabled?";
-$l['reputation_system'] = "Reputation System";
-$l['can_use_pms'] = "Can use private messaging?";
-$l['can_send_pms'] = "Can send private messages?";
-$l['can_track_pms'] = "Can track sent private messages?";
-$l['can_deny_reciept'] = "Can deny message receipt notifications?";
-$l['can_override_pms'] = "Can send private messages even if recipients have them disabled?";
-$l['message_quota'] = "Message Quota:";
-$l['message_quota_desc'] = "Maximum number of private messages that can be stored by users in this group. If empty, users can store unlimited messages.";
-$l['max_recipients'] = "Maximum Recipients Per Message:";
-$l['max_recipients_desc'] = "Maximum number of recipients a user can send a private message to at one time. If empty, users can send private messages to an unlimited number of recipients.";
-$l['show_reputations'] = "Show reputations for users in this group?";
-$l['can_give_reputation'] = "Can give reputations to users?";
-$l['can_delete_own_reputation'] = "Can delete own given reputations?";
-$l['points_to_award_take'] = "Points to Award/Take Away:";
-$l['points_to_award_take_desc'] = "Here you need to enter the number of points to give or take away on each reputation given by users of this group.";
-$l['max_reputations_daily'] = "Maximum Reputations Allowed Per Day:";
-$l['max_reputations_daily_desc'] = "Here you can enter the maximum number of reputations that users in this group can give per day. To allow unlimited reputations per day, enter 0.";
-$l['max_reputations_perthread'] = "Maximum Reputations Allowed Per Thread:";
-$l['max_reputations_perthread_desc'] = "When 'Allow Post Reputation' is allowed, you can set the maximum amount of reputations that users in this group can give to the same user, in the same thread, per day, in the box below. To allow unlimited reputations for a user, per thread, enter 0.";
-$l['max_reputations_peruser'] = "Maximum Reputations Allowed Per User:";
-$l['max_reputations_peruser_desc'] = "Along with a per thread maximum, you can enter a maximum number of reputations that users in this group can give to the same user per day. To allow unlimited reputations for a user, enter 0.";
-$l['warning_system'] = "Warning System";
-$l['can_send_warnings'] = "Can send warnings to other users?";
-$l['can_receive_warnings'] = "Can receive warnings from other users?";
-$l['warnings_per_day'] = "Maximum Warnings Allowed Per Day:";
-$l['private_messaging'] = "Private Messaging";
-$l['calendar'] = "Calendar";
-$l['can_view_calendar'] = "Can view calendar?";
-$l['can_post_events'] = "Can post calendar events?";
-$l['can_bypass_event_moderation'] = "Can bypass calendar event moderation queue?";
-$l['can_moderate_events'] = "Can moderate calendar events?";
-$l['whos_online'] = "Who's Online";
-$l['can_view_whos_online'] = "Can view who's online?";
-$l['can_view_invisible'] = "Can view invisible users?";
-$l['can_view_ips'] = "Can view IP addresses on who's online?";
-$l['can_view_member_list'] = "Can view member list?";
-$l['show_in_birthday_list'] = "Can be shown in the birthday list?";
-$l['can_email_users'] = "Can send threads to friends and email users?";
-$l['can_email_users_override'] = "Can email users even if they appear on their ignore list?";
-$l['max_emails_per_day'] = "Maximum Emails Per Day:";
-$l['max_emails_per_day_desc'] = "The maximum number of emails users can send using the 'Email User' and 'Send Thread to Friend' features. If set to 0, there is no limit.";
-$l['email_flood_time'] = "Email Flood Time:";
-$l['email_flood_time_desc'] = "The number of minutes a user must wait after sending an email before they can send another. If set to 0, there is no wait.";
-$l['forum_post_options'] = "Forums & Posts";
-$l['user_options'] = "Users";
-$l['can_manage_announce'] = "Can manage announcements?Please note that forum moderators must be assigned to at least one forum in order to manage announcements. ";
-$l['can_manage_mod_queue'] = "Can manage moderator queue?Please note that forum moderators must be assigned to at least one forum in order to manage the moderator queue. ";
-$l['can_manage_reported_content'] = "Can manage reported content?Please note that forum moderators must be assigned to at least one forum in order to manage reported content. ";
-$l['can_view_mod_logs'] = "Can view moderator logs?Please note that forum moderators must be assigned to at least one forum in order to view the moderator logs. ";
-$l['can_edit_profiles'] = "Can edit profiles?Please note that forum moderators cannot edit the profiles of super moderators or administrators regardless of this permission. ";
-$l['can_ban_users'] = "Can ban users?Please note that forum moderators cannot ban super moderators or administrators regardless of this permission. ";
-$l['can_view_warnlogs'] = "Can view warning logs?";
-$l['can_use_ipsearch'] = "Can use IP search?";
-$l['outstanding_join_request'] = "outstanding join requests";
-
-$l['no_join_requests'] = "There are no outstanding join requests for this user group.";
-$l['no_assigned_leaders'] = "You haven't assigned any users as leaders of this group yet. To create a leader for this group, fill in the form below.";
-
-$l['error_missing_title'] = "You did not enter a title for this new user group.";
-$l['error_invalid_user_group'] = "You have selected an invalid user group.";
-$l['error_invalid_join_request'] = "You have selected an invalid join request.";
-$l['error_invalid_username'] = "The username you entered is invalid.";
-$l['error_already_leader'] = "The user is already a leader of this user group.";
-$l['error_invalid_group_leader'] = "You specified an invalid group leader.";
-$l['error_missing_namestyle_username'] = "The username style must contain {username}";
-$l['error_disallowed_namestyle_username'] = "You can't use script, meta or base tags in the username style.";
-$l['error_default_group_delete'] = "Default groups cannot be deleted";
-$l['error_cannot_have_both_types'] = "You cannot have a joinable group that is both moderated and invite only. Please choose one or the other.";
-
-$l['success_group_created'] = "The new user group has been created successfully.";
-$l['success_group_updated'] = "The selected user group has been updated successfully.";
-$l['success_group_deleted'] = "The selected user group has been deleted successfully.";
-$l['success_groups_disporder_updated'] = "The user group display orders have been updated successfully.";
-$l['success_join_request_approved'] = "The selected join request has been approved successfully. The user is now a member of this user group.";
-$l['success_join_request_denied'] = "The selected join request has been denied successfully.";
-$l['success_selected_requests_approved'] = "The selected join requests have been approved successfully. The users are now part of this group.";
-$l['success_selected_requests_denied'] = "The selected join requests have been denied successfully.";
-$l['success_user_made_leader'] = "was successfully made a group leader for this user group.";
-$l['success_group_leader_updated'] = "The selected group leader has been updated successfully.";
-$l['success_group_leader_deleted'] = "The selected user has been removed from the group leaders list for this group successfully.";
-
-$l['confirm_group_deletion'] = "Are you sure you want to delete this user group?";
-$l['confirm_group_leader_deletion'] = "Are you sure you want to delete this group leader?";
-
diff --git a/html/forums/inc/languages/english/admin/user_mass_mail.lang.php b/html/forums/inc/languages/english/admin/user_mass_mail.lang.php
deleted file mode 100644
index 2beda5c..0000000
--- a/html/forums/inc/languages/english/admin/user_mass_mail.lang.php
+++ /dev/null
@@ -1,120 +0,0 @@
-Note: This is not the promotion system. ";
-
-$l['error_missing_title'] = "You did not enter a title for this user title";
-$l['error_missing_posts'] = "You did not enter the minimum number of posts for this user title";
-$l['error_cannot_have_same_posts'] = "This user title cannot have the same minimum number of posts as another title";
-$l['error_invalid_user_title'] = "You have specified an invalid user title";
-
-$l['success_user_title_created'] = "The new user title has been created successfully.";
-$l['success_user_title_updated'] = "The user title has been updated successfully.";
-$l['success_user_title_deleted'] = "The specified user title has been deleted successfully.";
-
-$l['title_to_assign'] = "Title to Assign";
-$l['title_to_assign_desc'] = "This title will be shown for users underneath their name if they do not have a custom title set.";
-$l['minimum_posts'] = "Minimum Posts";
-$l['minimum_posts_desc'] = "The minimum number of posts for a user to have before they're assigned this user title.";
-$l['number_of_stars'] = "Number of Stars";
-$l['number_of_stars_desc'] = "Enter the number of stars to be shown under this user title. Set to 0 to show no stars.";
-$l['star_image'] = "Star Image";
-$l['star_image_desc'] = "If this user title should show stars, enter the path to the star image here. If empty, the user group star image will be shown. Use {theme} to specify the image directory for the viewers current theme.";
-$l['save_user_title'] = "Save User Title";
-$l['edit_user_title'] = "Edit User Title";
-$l['edit_user_title_desc'] = "This section allows you to edit a user title.";
-$l['user_title_deletion_confirmation'] = "Are you sure you want to delete this user title?";
-$l['manage_user_titles'] = "Manage User Titles";
-$l['user_title'] = "User Title";
-$l['no_user_titles'] = "You do not have any user titles defined at the moment";
-
diff --git a/html/forums/inc/languages/english/admin/user_users.lang.php b/html/forums/inc/languages/english/admin/user_users.lang.php
deleted file mode 100644
index e191c0b..0000000
--- a/html/forums/inc/languages/english/admin/user_users.lang.php
+++ /dev/null
@@ -1,411 +0,0 @@
-only the destination account. The source accounts posts, threads, private messages, calendar events, post count and buddy list will be merged in to the destination account.Please be aware that this process cannot be undone. ";
-$l['edit_user'] = "Edit User";
-$l['edit_user_desc'] = "Here you can edit this users profile, settings, and signature; see general statistics; and visit other pages for further information relating to this user.";
-$l['show_referrers'] = "Show Referrers";
-$l['show_referrers_desc'] = "The results to your search criteria are shown below. You can view the results in either a table view or business card view.";
-$l['show_ip_addresses'] = "Show IP Addresses";
-$l['show_ip_addresses_desc'] = "The registration IP address and the post IPs for the selected users are shown below. The first IP address is the registration IP (it is marked as such). Any other IP addresses are IP addresses the user has posted with.";
-$l['manage_users'] = "Manage Users";
-$l['manage_users_desc'] = "Mass-managing users makes it a lot easier to do common tasks.";
-$l['inline_edit'] = "Inline User Moderation:";
-$l['inline_activate'] = "Activate User(s)";
-$l['inline_ban'] = "Ban User(s)";
-$l['inline_usergroup'] = "Change Users' Usergroup";
-$l['inline_delete'] = "Delete User(s)";
-$l['inline_prune'] = "Prune/Delete Users' Posts";
-$l['inline_activated'] = "{1} user(s) were successfully activated.";
-$l['inline_activated_more'] = "{1} user(s) you selected were already activated. ";
-$l['inline_activated_failed'] = "All the users you selected were already activated.";
-$l['ban_time'] = "Ban Length * ";
-$l['ban_reason'] = "Ban Reason";
-$l['mass_ban'] = "Mass Ban Users";
-$l['important'] = "Important";
-$l['mass_ban_info'] = "This action will affect {1} user(s). Only continue if you are sure you want to do this.";
-$l['ban_users'] = "Ban Users";
-$l['users_banned'] = "{1} user(s) have been banned.";
-$l['confirm_multilift'] = "Are you sure you want to lift bans for the user(s) you selected?";
-$l['success_ban_lifted'] = "Bans for {1} user(s) you selected have been lifted.";
-$l['edit_ban'] = "Edit Ban";
-$l['lift_ban'] = "Lift Ban";
-$l['lift_bans'] = "Lift Bans";
-$l['confirm_multidelete'] = "Are you sure you want to delete these {1} user(s)? This cannot be undone.";
-$l['users_deleted'] = "{1} user(s) have been deleted.";
-$l['mass_prune_info'] = "This action will affect {1} user(s). If you continue, it will remove all the users' posts older than the date you enter below.Please note that if any users' post is the first post of a thread, the entire thread will be removed. ";
-$l['mass_prune_posts'] = "Mass Prune Posts";
-$l['manual_date'] = "Enter a manual date";
-$l['relative_date'] = "Or select a delete option";
-$l['multi_selected_dates'] = "You've selected both a manual date and a set option. Please select either a manual date or a set option.";
-$l['incorrect_date'] = "The date you entered is invalid. Please enter a valid date, or leave blank and select a set option.";
-$l['prune_complete'] = "Prune completed successfully.";
-$l['prune_fail'] = "No posts were found for the selected user(s). No posts were pruned.";
-$l['no_prune_option'] = "Please enter a date or select an option to continue.";
-$l['prune_posts'] = "Prune Posts";
-$l['delete_posts'] = "Delete Posts";
-$l['usergroup_info'] = "The following action will affect {1} user(s). By choosing the options below, you will be overwriting the selected users' primary / additional / display usergroup.";
-$l['mass_usergroups'] = "Mass Usergroup Change";
-$l['success_mass_usergroups'] = "User(s) updated successfully.";
-$l['alter_usergroups'] = "Save Changes";
-$l['no_usergroup_changed'] = "None of the user(s) you selected can have their usergroups changed.";
-$l['no_set_option'] = "A valid set date was not selected. Please select an option from the dropdown box or enter a manual date.";
-$l['select_an_option'] = "(Select an Option)";
-
-$l['month_1'] = "January";
-$l['month_2'] = "February";
-$l['month_3'] = "March";
-$l['month_4'] = "April";
-$l['month_5'] = "May";
-$l['month_6'] = "June";
-$l['month_7'] = "July";
-$l['month_8'] = "August";
-$l['month_9'] = "September";
-$l['month_10'] = "October";
-$l['month_11'] = "November";
-$l['month_12'] = "December";
-
-$l['option_1'] = "More than a month old";
-$l['option_2'] = "More than 3 months old";
-$l['option_3'] = "More than 6 months old";
-$l['option_4'] = "More than a year old";
-$l['option_5'] = "More than 18 months old";
-$l['option_6'] = "More than 2 years old";
-
-$l['error_avatartoobig'] = "Sorry, but we cannot change your avatar as the new avatar you specified is too big. The maximum dimensions are {1}x{2} (width x height)";
-$l['error_invalidavatarurl'] = "The URL you entered for your avatar does not appear to be valid. Please ensure you enter a valid URL.";
-$l['error_remote_avatar_not_allowed'] = "Remote avatar URLs have been disabled by the forum administrator.";
-$l['error_invalid_user'] = "You have selected an invalid user.";
-$l['error_no_perms_super_admin'] = "You do not have permission to edit this user because you are not a super administrator.";
-$l['error_invalid_user_source'] = "The source account username you entered does not exist";
-$l['error_invalid_user_destination'] = "The destination account username you entered does not exist";
-$l['error_cannot_merge_same_account'] = "The source and destination accounts must be different";
-$l['error_no_users_found'] = "No users were found matching the specified search criteria. Please modify your search criteria and try again.";
-$l['error_invalid_admin_view'] = "You selected an invalid administration view.";
-$l['error_missing_view_title'] = "You did not enter a title for this view.";
-$l['error_no_view_fields'] = "You did not select any fields to display on this view";
-$l['error_invalid_view_perpage'] = "You have entered an invalid number of results to show per page";
-$l['error_invalid_view_sortby'] = "You have selected an invalid field to sort results by";
-$l['error_invalid_view_sortorder'] = "You have selected an invalid sort order";
-$l['error_invalid_view_delete'] = "You selected an invalid administration view to delete";
-$l['error_cannot_delete_view'] = "You must have at least 1 administration view.";
-$l['error_inline_no_users_selected'] = "Sorry, but you did not select any users. Please select some users and try again.";
-$l['error_cannot_delete_user'] = "This user cannot be deleted.";
-$l['error_no_referred_users'] = "The selected user does not have any referred users.";
-
-$l['user_deletion_confirmation'] = "Are you sure you wish to delete this user?";
-
-$l['success_coppa_activated'] = "The selected COPPA user has been activated successfully.";
-$l['success_activated'] = "The selected user has been activated successfully.";
-$l['success_user_created'] = "The user has been created successfully.";
-$l['success_user_updated'] = "The selected user has been updated successfully.";
-$l['success_user_deleted'] = "The selected user has been deleted successfully.";
-$l['success_merged'] = "has successfully been merged in to";
-$l['succuss_view_set_as_default'] = "The selected administration view has been set as your default successfully";
-$l['success_view_created'] = "The administration view has been created successfully.";
-$l['success_view_updated'] = "The selected administration view has been updated successfully.";
-$l['success_view_deleted'] = "The selected administration view has been deleted successfully.";
-
-$l['confirm_view_deletion'] = "Are you sure you want to delete the selected view?";
-
-$l['warning_coppa_user'] = "Warning: This user is awaiting COPPA validation. Activate Account
";
-
-$l['required_profile_info'] = "Required Profile Information";
-$l['password'] = "Password";
-$l['confirm_password'] = "Confirm Password";
-$l['email_address'] = "Email Address";
-$l['use_primary_user_group'] = "Use Primary User Group";
-$l['primary_user_group'] = "Primary User Group";
-$l['additional_user_groups'] = "Additional User Groups";
-$l['additional_user_groups_desc'] = "Use CTRL to select multiple groups";
-$l['display_user_group'] = "Display User Group";
-$l['save_user'] = "Save User";
-
-$l['overview'] = "Overview";
-$l['profile'] = "Profile";
-$l['account_settings'] = "Account Settings";
-$l['signature'] = "Signature";
-$l['avatar'] = "Avatar";
-$l['mod_options'] = "Moderator Options";
-$l['general_account_stats'] = "General Account Statistics";
-$l['local_time'] = "Local Time";
-$l['local_time_format'] = "{1} at {2}";
-$l['posts'] = "Posts";
-$l['age'] = "Age";
-$l['posts_per_day'] = "Posts per day";
-$l['percent_of_total_posts'] = "Percent of total posts";
-$l['user_overview'] = "User Overview";
-
-$l['new_password'] = "New Password";
-$l['new_password_desc'] = "Only required if changing";
-$l['confirm_new_password'] = "Confirm New Password";
-
-$l['optional_profile_info'] = "Optional Profile Information";
-$l['custom_user_title'] = "Custom User Title";
-$l['custom_user_title_desc'] = "If empty, the group user title will be used";
-$l['website'] = "Website";
-$l['icq_number'] = "ICQ Number";
-$l['aim_handle'] = "AIM Handle";
-$l['yahoo_messanger_handle'] = "Yahoo! Messenger Handle";
-$l['skype_handle'] = "Skype Handle";
-$l['google_handle'] = "Google Hangouts Handle";
-$l['birthday'] = "Date of Birth";
-
-$l['away_information'] = "Away Information";
-$l['away_status'] = "Away Status:";
-$l['away_status_desc'] = "Allows you to leave an away message if you are going away for a while.";
-$l['im_away'] = "I'm Away";
-$l['im_here'] = "I'm Here";
-$l['away_reason'] = "Away Reason:";
-$l['away_reason_desc'] = "Allows you to enter a small description of why you are away (max 200 characters).";
-$l['return_date'] = "Return Date:";
-$l['return_date_desc'] = "If you know when you will be back, you can enter your return date here.";
-$l['error_acp_return_date_past'] = "You cannot return in the past!";
-
-$l['hide_from_whos_online'] = "Hide from the Who's Online list";
-$l['login_cookies_privacy'] = "Login, Cookies & Privacy";
-$l['recieve_admin_emails'] = "Receive emails from administrators";
-$l['hide_email_from_others'] = "Hide email address from other members";
-$l['recieve_pms_from_others'] = "Receive private messages from other users";
-$l['recieve_pms_from_buddy'] = "Only receive private messages from buddy list (this setting has no effect unless there is at least one buddy on the list)";
-$l['alert_new_pms'] = "Alert with notice when new private message is received";
-$l['email_notify_new_pms'] = "Notify by email when new private message is received";
-$l['buddy_requests_pm'] = "Receive PM notifications for new buddy requests";
-$l['buddy_requests_auto'] = "Automatically accept buddy requests (if the above checkbox is ticked, a PM is sent informing of the new buddy connection)";
-$l['default_thread_subscription_mode'] = "Default thread subscription mode";
-$l['do_not_subscribe'] = "Do not subscribe";
-$l['no_email_notification'] = "No email notification";
-$l['instant_email_notification'] = "Instant email notification";
-$l['messaging_and_notification'] = "Messaging & Notification";
-$l['use_default'] = "Use Default";
-$l['date_format'] = "Date Format";
-$l['time_format'] = "Time Format";
-$l['time_zone'] = "Time Zone";
-$l['daylight_savings_time_correction'] = "Daylight Saving Time correction";
-$l['automatically_detect'] = "Automatically detect DST settings";
-$l['always_use_dst_correction'] = "Always use DST correction";
-$l['never_use_dst_correction'] = "Never use DST correction";
-$l['date_and_time_options'] = "Date & Time Options";
-$l['show_threads_last_day'] = "Show threads from the last day";
-$l['show_threads_last_5_days'] = "Show threads from the last 5 days";
-$l['show_threads_last_10_days'] = "Show threads from the last 10 days";
-$l['show_threads_last_20_days'] = "Show threads from the last 20 days";
-$l['show_threads_last_50_days'] = "Show threads from the last 50 days";
-$l['show_threads_last_75_days'] = "Show threads from the last 75 days";
-$l['show_threads_last_100_days'] = "Show threads from the last 100 days";
-$l['show_threads_last_year'] = "Show threads from the last year";
-$l['show_all_threads'] = "Show all threads";
-$l['threads_per_page'] = "Threads Per Page";
-$l['default_thread_age_view'] = "Default Thread Age View";
-$l['forum_display_options'] = "Forum Display Options";
-$l['show_classic_postbit'] = "Display posts in classic mode";
-$l['display_images'] = "Display images in posts";
-$l['display_videos'] = "Display videos in posts";
-$l['display_users_sigs'] = "Display users' signatures in their posts";
-$l['display_users_avatars'] = "Display users' avatars in their posts";
-$l['show_quick_reply'] = "Show the quick reply box at the bottom of the thread view";
-$l['posts_per_page'] = "Posts Per Page";
-$l['default_thread_view_mode'] = "Default Thread View Mode";
-$l['linear_mode'] = "Linear Mode";
-$l['threaded_mode'] = "Threaded Mode";
-$l['thread_view_options'] = "Thread View Options";
-$l['show_redirect'] = "Show friendly redirection pages";
-$l['show_code_buttons'] = "Show MyCode formatting options on posting pages";
-$l['source_editor'] = "Put the editor in source mode by default";
-$l['theme'] = "Theme";
-$l['board_language'] = "Board Language";
-$l['other_options'] = "Other Options";
-$l['signature_desc'] = "Formatting options: MyCode is {1}, smilies are {2}, IMG code is {3}, HTML is {4}";
-$l['enable_sig_in_all_posts'] = "Enable signature in all posts";
-$l['disable_sig_in_all_posts'] = "Disable signature in all posts";
-$l['do_nothing'] = "Do not change signature preferences";
-$l['signature_preferences'] = "Signature Preferences";
-$l['suspend_sig'] = "Suspend Signature";
-$l['suspend_sig_box'] = "Suspend this user's signature";
-$l['suspend_sig_perm'] = "Suspended permanently. ";
-$l['suspend_sig_info'] = "If a signature is suspended, the user can't edit it and it won't be shown on their profile or in their posts";
-$l['suspend_sig_extend'] = "Enter a new time below to change, or untick this option to remove this suspension. ";
-$l['suspend_expire_info'] = "Remaining: {1} ";
-$l['suspend_never_expire'] = "{1}'s suspension will never expire (permanently suspended). ";
-$l['suspend_sig_error'] = "You entered an incorrect time to suspend this user's signature for. Please enter a correct time.";
-
-$l['moderate_posts'] = "Moderate Posts";
-$l['moderate_posts_info'] = "Moderate new posts made by {1}.";
-$l['moderate_for'] = "Moderate for:";
-$l['moderated_perm'] = "Moderated permanently. Enter a new time below to change or untick this option to remove this moderation.
";
-$l['moderate_length'] = "Remaining Moderation: {1} . Enter a new time below to change or untick this option to remove this moderation.
";
-
-$l['suspend_posts'] = "Suspend Posts";
-$l['suspend_posts_info'] = "Suspend {1} from making new posts.";
-$l['suspend_for'] = "Suspend for:";
-$l['suspended_perm'] = "Suspended permanently. Enter a new time below to change or untick this option to remove this suspension.
";
-$l['suspend_length'] = "Remaining Suspension: {1} . Enter a new time below to change or untick this option to remove this suspension.
";
-
-$l['suspendsignature_error'] = "You selected to suspend this user's signature, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['moderateposting_error'] = "You selected to moderate this user's posts, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['suspendposting_error'] = "You selected to suspend this user's posts, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['suspendmoderate_error'] = "You've selected to suspend and moderate the user's posts. Please select only one type of moderation.";
-
-$l['expire_length'] = "Suspension length:";
-$l['expire_hours'] = "hour(s)";
-$l['expire_days'] = "day(s)";
-$l['expire_weeks'] = "week(s)";
-$l['expire_months'] = "month(s)";
-$l['expire_never'] = "Never";
-$l['expire_permanent'] = "Permanent";
-
-$l['username'] = "Username";
-$l['email'] = "Email";
-$l['primary_group'] = "Primary Group";
-$l['additional_groups'] = "Additional Groups";
-$l['registered'] = "Registered";
-$l['last_active'] = "Last Active";
-$l['post_count'] = "Post Count";
-$l['thread_count'] = "Thread Count";
-$l['reputation'] = "Reputation";
-$l['warning_level'] = "Warning Level";
-$l['registration_ip'] = "Registration IP";
-$l['last_known_ip'] = "Last Known IP";
-$l['registration_date'] = "Registration Date";
-$l['info_on_ip'] = "Information on this IP address";
-
-$l['current_avatar'] = "Current Avatar";
-$l['user_current_using_uploaded_avatar'] = "This user is currently using an uploaded avatar.";
-$l['user_currently_using_remote_avatar'] = "This user is currently using a remotely linked avatar.";
-$l['max_dimensions_are'] = "The maximum dimensions for avatars are";
-$l['avatar_max_size'] = "Avatars can be a maximum of";
-$l['remove_avatar'] = "Remove current avatar?";
-$l['avatar_desc'] = "Below you can manage the avatar for this user. Avatars are small identifying images which are placed under the authors username when they make a post.";
-$l['avatar_auto_resize'] = "If the avatar is too large, it will automatically be resized";
-$l['attempt_to_auto_resize'] = "Attempt to resize this avatar if it is too large?";
-$l['specify_custom_avatar'] = "Specify Custom Avatar";
-$l['upload_avatar'] = "Upload Avatar";
-$l['or_specify_avatar_url'] = "or Specify Avatar/Gravatar URL";
-
-$l['user_notes'] = "User Notes";
-
-$l['ip_addresses'] = "IP Addresses";
-$l['ip_address'] = "IP Address";
-$l['show_users_regged_with_ip'] = "Show users who have registered with this IP";
-$l['show_users_posted_with_ip'] = "Show users who have posted with this IP";
-$l['ban_ip'] = "Ban IP";
-$l['ip_address_for'] = "IP Addresses for";
-
-$l['source_account'] = "Source Account";
-$l['source_account_desc'] = "This is the account that will be merged in to the destination account. It will be removed after this process.";
-$l['destination_account'] = "Destination Account";
-$l['destination_account_desc'] = "This is the account that the source account will be merged in to. It will remain after this process.";
-$l['merge_user_accounts'] = "Merge User Accounts";
-
-$l['display_options'] = "Display Options";
-$l['ascending'] = "Ascending";
-$l['descending'] = "Descending";
-$l['sort_results_by'] = "Sort results by";
-$l['in'] = "in";
-$l['results_per_page'] = "Results per page";
-$l['display_results_as'] = "Display results as";
-$l['business_card'] = "Business cards";
-$l['views'] = "Views";
-$l['views_desc'] = "The view manager allows you to create different kinds of views for this specific area. Different views are useful for generating a variety of reports.";
-$l['manage_views'] = "Manage Views";
-$l['none'] = "None";
-$l['search'] = "Search";
-
-$l['view_profile'] = "View Profile";
-$l['edit_profile_and_settings'] = "Edit Profile & Settings";
-$l['ban_user'] = "Ban User";
-$l['approve_coppa_user'] = "Activate COPPA User";
-$l['approve_user'] = "Activate User";
-$l['delete_user'] = "Delete User";
-$l['show_referred_users'] = "Show Referred Users";
-$l['show_attachments'] = "Show Attachments";
-$l['table_view'] = "Table View";
-$l['card_view'] = "Card View";
-
-$l['find_users_where'] = "Find users where...";
-$l['username_contains'] = "Username contains";
-$l['email_address_contains'] = "Email address contains";
-$l['is_member_of_groups'] = "Is member of one or more of these user groups";
-$l['website_contains'] = "Website contains";
-$l['icq_number_contains'] = "ICQ number contains";
-$l['aim_handle_contains'] = "AIM handle contains";
-$l['yahoo_contains'] = "Yahoo! Messenger handle contains";
-$l['skype_contains'] = "Skype handle contains";
-$l['google_contains'] = "Google Hangouts handle contains";
-$l['signature_contains'] = "Signature contains";
-$l['user_title_contains'] = "Custom user title contains";
-$l['greater_than'] = "Greater than";
-$l['is_exactly'] = "Is exactly";
-$l['less_than'] = "Less than";
-$l['post_count_is'] = "Post count is";
-$l['thread_count_is'] = "Thread count is";
-$l['reg_ip_matches'] = "Registration IP address matches";
-$l['wildcard'] = "To search for ranges of IP addresses use * (Ex: 127.0.0.*) or CIDR notation (Ex: 127.0.0.0/8)";
-$l['posted_with_ip'] = "Has posted with the IP address";
-$l['custom_profile_fields_match'] = "Where custom profile fields match...";
-$l['is_not_blank'] = " is not empty";
-$l['or'] = "or";
-$l['reg_in_x_days'] = "Registered in the last";
-$l['days'] = "days";
-
-$l['view'] = "View";
-$l['create_new_view'] = "Create New View";
-$l['create_new_view_desc'] = "Here you can define a new view for this area. You can define which fields you want to be shown, any search criteria and sorting options.";
-$l['view_manager'] = "View Manager";
-$l['set_as_default_view'] = "Set as Default View?";
-$l['enabled'] = "Enabled";
-$l['disabled'] = "Disabled";
-$l['fields_to_show'] = "Fields to Show";
-$l['fields_to_show_desc'] = "Please select the fields you wish to display";
-$l['edit_view'] = "Edit View";
-$l['edit_view_desc'] = "Whilst editing a view you can define which fields you want to be shown, any search criteria and sorting options.";
-$l['private'] = "Private";
-$l['private_desc'] = "This view is only visible to you";
-$l['public'] = "Public";
-$l['public_desc'] = "All other administrators can see this view";
-$l['visibility'] = "Visibility";
-$l['save_view'] = "Save View";
-$l['created_by'] = "Created by";
-$l['default'] = "Default";
-$l['this_is_a_view'] = "This is a {1} view";
-$l['set_as_default'] = "Set as Default";
-$l['delete_view'] = "Delete View";
-$l['default_view_desc'] = "Default view created by MyBB. Cannot be edited or removed.";
-$l['public_view_desc'] = "Public view visible to all administrators.";
-$l['private_view_desc'] = "Private view visible only to yourself.";
-$l['table'] = "Table";
-$l['title'] = "Title";
-
-$l['view_title_1'] = "All Users";
-
-$l['emailsubject_activateaccount'] = "Account Activation at {1}";
-$l['email_adminactivateaccount'] = "{1},
-
-The administrator has activated your forum account on {2}.
-
-To proceed, please go to
-
-{3}
-
-You will be able to login with the credentials you registered with.
-
-Thank you,
-{2} Staff";
-
-$l['ipaddress_misc_info'] = "Misc. Information for '{1}'";
-$l['ipaddress_host_name'] = "Host Name";
-$l['ipaddress_location'] = "GeoIP Location";
diff --git a/html/forums/inc/languages/english/announcements.lang.php b/html/forums/inc/languages/english/announcements.lang.php
deleted file mode 100644
index 7c468a8..0000000
--- a/html/forums/inc/languages/english/announcements.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-View the full version with proper formatting.";
-$l['archive_nopermission'] = "Sorry, you do not have permission to access this resource.";
-$l['error_nothreads'] = "There are currently no threads in this forum.";
-$l['error_nopermission'] = "You do not have permission to view threads in this forum.";
-$l['error_unapproved_thread'] = "This thread is unapproved. Please view the full version to view the contents of this thread.";
-$l['archive_not_found'] = "The requested page was not found on this server.";
-$l['error_mustlogin'] = "This bulletin board requires all users to login.";
\ No newline at end of file
diff --git a/html/forums/inc/languages/english/calendar.lang.php b/html/forums/inc/languages/english/calendar.lang.php
deleted file mode 100644
index 855e036..0000000
--- a/html/forums/inc/languages/english/calendar.lang.php
+++ /dev/null
@@ -1,144 +0,0 @@
-Private Only you will be able to view this event. (Registered Users Only).";
-$l['delete_option'] = "Delete: Delete this event.";
-$l['post_event'] = "Post Event";
-$l['day_view'] = "Day View";
-$l['birthday'] = "Birthday";
-$l['birthdays'] = "Birthdays";
-$l['event_author'] = "Event Author:";
-$l['edit_event'] = "Edit Event";
-$l['view_event'] = "View Event";
-$l['no_events'] = "This day does not have any events associated with it.Post an Event .
";
-$l['years_old'] = "{1} Years Old";
-$l['alt_edit'] = "Edit this event";
-$l['alt_delete'] = "Delete this event";
-$l['moderator_options'] = "Moderator Options";
-$l['approve_event'] = "Approve Event";
-$l['unapprove_event'] = "Unapprove Event";
-$l['move_event'] = "Move Event";
-$l['repeats_every_day'] = "Repeats every day";
-$l['repeats_every_x_days'] = "Repeats every {1} days";
-$l['repeats_on_weekdays'] = "Repeats Monday through Friday";
-$l['every_week_on_days'] = "Repeats every week on {1}";
-$l['every_week'] = "Repeats every week";
-$l['every_x_weeks_on_days'] = "Repeats every {1} weeks on {2}";
-$l['every_x_weeks'] = "Repeats every {1} weeks";
-$l['every_month_on_day'] = "Repeats on day {1} of every month";
-$l['every_x_months_on_day'] = "Repeats on day {1} of every {2} months";
-$l['every_month_on_weekday'] = "Repeats on the {1} {2} of every month";
-$l['every_x_months_on_weekday'] = "Repeats on the {1} {2} of every {3} months";
-$l['weekday_occurance_1'] = "first";
-$l['weekday_occurance_2'] = "second";
-$l['weekday_occurance_3'] = "third";
-$l['weekday_occurance_4'] = "fourth";
-$l['weekday_occurance_last'] = "last";
-$l['every_year_on_day'] = "Repeats every year on {1} {2}";
-$l['every_x_years_on_day'] = "Repeats every {3} years on {1} {2}";
-$l['every_year_on_weekday'] = "Repeats on the {1} {2} in {3} of every year";
-$l['every_x_year_on_weekday'] = "Repeats on the {1} {2} in {3} every {4} years";
-$l['delete_event'] = "Delete Event";
-$l['delete_q'] = "Delete?";
-$l['delete_1'] = "To delete this event, check the checkbox to the left and then click the button to the right.";
-$l['delete_2'] = "Note: This process cannot be undone.";
-$l['delete_now'] = "Delete Now";
-$l['delete_no_checkbox'] = "The event was not deleted because you didn't check the \"Delete\" checkbox.";
-$l['jump_to_calendar'] = "Jump to calendar:";
-$l['select_calendar'] = "Calendar:";
-$l['type_single'] = "Single day event";
-$l['type_ranged'] = "Ranged or recurring event";
-$l['enter_time'] = "Time:";
-$l['start_time'] = "Starts:";
-$l['end_time'] = "Finishes:";
-$l['timezone'] = "Time Zone:";
-$l['ignore_timezone'] = "Ignore time zone: This event should use the time zone of the viewer.";
-$l['repeats'] = "Repeats:";
-$l['does_not_repeat'] = "Does not repeat";
-$l['repeats_daily'] = "Daily";
-$l['repeats_weekdays'] = "Every weekday (Mon-Fri)";
-$l['repeats_weekly'] = "Weekly";
-$l['repeats_every'] = "Repeats every";
-$l['day_or_days'] = "day(s)";
-$l['week_or_weeks_on'] = "week(s) on";
-$l['repeats_monthly'] = "Monthly";
-$l['repeats_yearly'] = "Yearly";
-$l['repeats_on_day'] = "Repeats on day";
-$l['of_every'] = "of every";
-$l['month_or_months'] = "month(s)";
-$l['repeats_on_the'] = "Repeats on the";
-$l['day_of_every'] = "day every";
-$l['repeats_on'] = "Repeats on";
-$l['every'] = "every";
-$l['year_or_years'] = "year(s)";
-$l['of'] = "of";
-$l['move_to_calendar'] = "Move to Calendar:";
-$l['weekly_overview'] = "Weekly Overview";
-$l['previous_week'] = "Previous Week";
-$l['next_week'] = "Next Week";
-$l['first'] = "First";
-$l['second'] = "Second";
-$l['third'] = "Third";
-$l['fourth'] = "Fourth";
-$l['last'] = "Last";
-$l['all_day'] = "All Day";
-$l['starts'] = "Starts: ";
-$l['finishes'] = "Finishes: ";
-
-$l['error_incorrectday'] = "The day you have entered does not appear to exist. Please go back and try again.";
-$l['error_invalidevent'] = "The event you specified is either invalid or doesn't exist.";
-$l['invalid_calendar'] = "The specified calendar does not exist. Are you sure you are visiting the correct page?";
-$l['redirect_eventdeleted'] = "The event has successfully been deleted. You will now be taken back to the calendar.";
-$l['redirect_eventupdated'] = "The event has been successfully updated. You will now be returned to it.";
-$l['redirect_eventadded'] = "Your event has been added successfully. You will now be taken to it.";
-$l['redirect_eventadded_moderation'] = "Your event has been added successfully but requires moderation by a forum moderator before it is visible. You will now be taken back to the calendar.";
-$l['redirect_eventunapproved'] = "The event has been unapproved successfully. You will now be taken to it.";
-$l['redirect_eventapproved'] = "The event has been approved successfully. You will now be taken to it.";
-$l['redirect_eventmoved'] = "The event has been moved successfully. You will now be taken to it.";
diff --git a/html/forums/inc/languages/english/contact.lang.php b/html/forums/inc/languages/english/contact.lang.php
deleted file mode 100644
index 92924f0..0000000
--- a/html/forums/inc/languages/english/contact.lang.php
+++ /dev/null
@@ -1,26 +0,0 @@
- If you have forgotten your password please retrieve a new one .";
-$l['logindata_invalidpwordusernameemail'] = "You have entered an invalid email/password combination. If you have forgotten your password please retrieve a new one .";
-$l['logindata_invalidpwordusernamecombo'] = "You have entered an invalid username/password or email/password combination. If you have forgotten your password please retrieve a new one .";
-
-$l['logindata_regimageinvalid'] = "The image verification code that you entered was incorrect. Please enter the code exactly how it appears in the image.";
-$l['logindata_regimagerequired'] = "Please fill out the image verification code to continue the login process. Please enter the code exactly how it appears in the image.";
diff --git a/html/forums/inc/languages/english/datahandler_pm.lang.php b/html/forums/inc/languages/english/datahandler_pm.lang.php
deleted file mode 100644
index 72a9397..0000000
--- a/html/forums/inc/languages/english/datahandler_pm.lang.php
+++ /dev/null
@@ -1,21 +0,0 @@
-Note: The maximum amount of images for signatures is {1}.";
-$l['userdata_sig_too_long'] = "You cannot update your signature because it is too long. The maximum length for signatures is {1} characters. ";
-$l['userdata_sig_remove_chars_plural'] = "Please remove {1} characters and try again.";
-$l['userdata_sig_remove_chars_singular'] = "Please remove 1 character and try again.";
diff --git a/html/forums/inc/languages/english/datahandler_warnings.lang.php b/html/forums/inc/languages/english/datahandler_warnings.lang.php
deleted file mode 100644
index deb1f02..0000000
--- a/html/forums/inc/languages/english/datahandler_warnings.lang.php
+++ /dev/null
@@ -1,18 +0,0 @@
- The maximum number of warnings you can give out per day is {1}."';
-$l['warnings_error_invalid_user'] = "Selected user doesn't exist.";
-$l['warnings_error_invalid_post'] = "Selected post doesn't exist.";
-$l['warnings_error_cannot_warn_self'] = "You cannot add to your own warning level.";
-$l['warnings_error_user_reached_max_warning'] = "This user cannot be warned as they have already reached the maximum warning level.";
-$l['warnings_error_no_note'] = "You did not enter any administrative notes for this warning.";
-$l['warnings_error_invalid_type'] = "You have selected an invalid warning type.";
-$l['warnings_error_cant_custom_warn'] = "You do not have permission to give custom warnings to users.";
-$l['warnings_error_no_custom_reason'] = "You did not enter a reason for your custom warning.";
-$l['warnings_error_invalid_custom_points'] = "You did not enter a valid number of points to add to this users warning level. You need to enter a numeric value greater than 0 but not greater than {1}.";
-$l['warnings_error_invalid_expires_period'] = "You entered an invalid expiry type.";
diff --git a/html/forums/inc/languages/english/editpost.lang.php b/html/forums/inc/languages/english/editpost.lang.php
deleted file mode 100644
index 1725727..0000000
--- a/html/forums/inc/languages/english/editpost.lang.php
+++ /dev/null
@@ -1,54 +0,0 @@
-Note: If this post is the first post in a thread deleting it will result in deletion of the whole thread.";
-$l['subject'] = "Subject";
-$l['your_message'] = "Your Message";
-$l['post_options'] = "Post Options:";
-$l['editreason'] = "Edit Reason:";
-$l['options_sig'] = "Signature: include your signature. (registered users only)";
-$l['options_emailnotify'] = "Email Notification: receive an email whenever there is a new reply. (registered users only)";
-$l['options_disablesmilies'] = "Disable Smilies: disable smilies from showing in this post.";
-$l['preview_post'] = "Preview Post";
-$l['update_post'] = "Update Post";
-$l['poll'] = "Poll:";
-$l['poll_desc'] = "Optionally you may attach a poll to this thread.";
-$l['poll_check'] = "I want to post a poll";
-$l['num_options'] = "Number of options:";
-$l['max_options'] = "(Maximum: {1})";
-$l['delete_now'] = "Delete Now";
-$l['edit_time_limit'] = "Sorry but you cannot edit your post. The Administrator has set it so that posts can only be edited within {1} minutes of posting.";
-$l['no_prefix'] = "No Prefix";
-
-$l['redirect_nodelete'] = "The post was not deleted because you didn't check the \"Delete\" checkbox.";
-$l['redirect_norestore'] = "The post was not restored because you didn't check the \"Restore\" checkbox.";
-$l['redirect_postedited'] = "Thank you, this post has been edited. ";
-$l['redirect_postedited_redirect'] = "You will now be returned to the thread.";
-$l['redirect_postedited_poll'] = "Thank you, this post has been edited. Because you opted to post a poll, you'll now be taken to the poll creation page.";
-$l['error_invalidpost'] = "Sorry, but you seem to have followed an invalid address. Please be sure the specified post exists and try again.";
-$l['redirect_threaddeleted'] = "Thank you, the thread has been deleted. You will now be returned to the forum.";
-$l['redirect_postdeleted'] = "Thank you, the post has been deleted. You will now be returned to the thread.";
-$l['redirect_threadrestored'] = "Thank you, the thread has been restored. You will now be returned to the forum.";
-$l['redirect_postrestored'] = "Thank you, the post has been restored. You will now be returned to the thread.";
-$l['redirect_threadclosed'] = "You cannot edit existing posts in this thread because it has been closed by a moderator.";
-$l['redirect_post_moderation'] = "The administrator has specified that all editing of posts require moderation. You will now be returned to the thread.";
-$l['redirect_thread_moderation'] = "The administrator has specified that all editing of threads require moderation. You will now be returned to the forum index.";
-$l['error_already_delete'] = "Sorry, but this post is already deleted.";
-
-$l['thread_deleted'] = "Deleted Thread Permanently";
-$l['post_deleted'] = "Deleted Post Permanently";
-$l['thread_soft_deleted'] = "Soft Deleted Thread";
-$l['post_soft_deleted'] = "Soft Deleted Post";
-$l['thread_restored'] = "Restored Thread";
-$l['post_restored'] = "Restored Post";
-
-$l['error_already_deleted'] = 'The selected post has already been deleted.';
diff --git a/html/forums/inc/languages/english/forumdisplay.lang.php b/html/forums/inc/languages/english/forumdisplay.lang.php
deleted file mode 100644
index fa22c66..0000000
--- a/html/forums/inc/languages/english/forumdisplay.lang.php
+++ /dev/null
@@ -1,102 +0,0 @@
-{1} threads on this page are selected.";
-$l['all_selected'] = "All {1} threads in this forum are selected.";
-$l['select_all'] = "Select all {1} threads in this forum.";
-$l['clear_selection'] = "Clear Selection.";
-$l['deleted_thread'] = "Deleted Thread";
-
-$l['error_containsnoforums'] = "Sorry, but the forum you are currently viewing does not contain any child forums.";
-
-$l['inline_edit_description'] = '(Click and hold to edit)';
-
diff --git a/html/forums/inc/languages/english/global.lang.php b/html/forums/inc/languages/english/global.lang.php
deleted file mode 100644
index 233a4bf..0000000
--- a/html/forums/inc/languages/english/global.lang.php
+++ /dev/null
@@ -1,577 +0,0 @@
-Welcome back, {1}. You last visited: {2}";
-$l['welcome_guest'] = "Hello There, Guest!";
-$l['welcome_current_time'] = "Current time: {1}";
-
-$l['moved_prefix'] = "Moved:";
-$l['poll_prefix'] = "Poll:";
-
-$l['forumbit_announcements'] = "Announcements";
-$l['forumbit_stickies'] = "Important Threads";
-$l['forumbit_forum'] = "Forum";
-$l['forumbit_threads'] = "Threads";
-$l['forumbit_posts'] = "Posts";
-$l['forumbit_lastpost'] = "Last Post";
-$l['forumbit_moderated_by'] = "Moderated By:";
-$l['new_posts'] = "Forum Contains New Posts";
-$l['no_new_posts'] = "Forum Contains No New Posts";
-$l['click_mark_read'] = "Click to mark this forum as read";
-$l['forum_locked'] = "Forum is Locked";
-$l['forum_redirect'] = "Redirect Forum";
-$l['lastpost_never'] = "Never";
-$l['viewing_one'] = " (1 user browsing)";
-$l['viewing_multiple'] = " ({1} users browsing)";
-$l['by'] = "by";
-$l['more_subforums'] = "and {1} more.";
-
-$l['password_required'] = "Password Required";
-$l['forum_password_note'] = "The administrator has required it so that a password is required for access to this forum.";
-$l['enter_password_below'] = "Please enter the password below:";
-$l['verify_forum_password'] = "Verify Forum Password";
-$l['wrong_forum_password'] = "The password you entered is incorrect. Please try again.";
-
-$l['reset_button'] = "Reset";
-$l['username'] = "Username:";
-$l['username1'] = "Email:";
-$l['username2'] = "Username/Email:";
-$l['password'] = "Password:";
-$l['login_username'] = "Username:";
-$l['login_username1'] = "Email:";
-$l['login_username2'] = "Username/Email:";
-$l['login_password'] = "Password:";
-$l['lost_password'] = "Lost Password?";
-$l['remember_me'] = "Remember me";
-$l['remember_me_desc'] = "If ticked, your login details will be remembered on this computer, otherwise, you will be logged out as soon as you close your browser.";
-
-$l['month_1'] = "January";
-$l['month_2'] = "February";
-$l['month_3'] = "March";
-$l['month_4'] = "April";
-$l['month_5'] = "May";
-$l['month_6'] = "June";
-$l['month_7'] = "July";
-$l['month_8'] = "August";
-$l['month_9'] = "September";
-$l['month_10'] = "October";
-$l['month_11'] = "November";
-$l['month_12'] = "December";
-
-$l['sunday'] = "Sunday";
-$l['monday'] = "Monday";
-$l['tuesday'] = "Tuesday";
-$l['wednesday'] = "Wednesday";
-$l['thursday'] = "Thursday";
-$l['friday'] = "Friday";
-$l['saturday'] = "Saturday";
-$l['short_monday'] = "M";
-$l['short_tuesday'] = "T";
-$l['short_wednesday'] = "W";
-$l['short_thursday'] = "T";
-$l['short_friday'] = "F";
-$l['short_saturday'] = "S";
-$l['short_sunday'] = "S";
-
-$l['yes'] = "Yes";
-$l['no'] = "No";
-
-$l['and'] = "and";
-$l['date'] = "Date";
-
-$l['nobody'] = "Nobody";
-
-$l['attachments'] = "Attachments";
-$l['attachments_desc'] = "Optionally you may attach one or more attachments to this post. Please select the file on the right and click 'Add Attachment' to upload it.";
-$l['remove_attachment'] = "Remove";
-$l['approve_attachment'] = "Approve";
-$l['unapprove_attachment'] = "Unapprove";
-$l['insert_attachment_post'] = "Insert Into Post";
-$l['new_attachment'] = "New Attachment:";
-$l['add_attachment'] = "Add Attachment";
-$l['update_attachment'] = "Update Attachment";
-$l['post_preview'] = "Preview";
-$l['change_user'] = "change user";
-$l['post_icon'] = "Post Icon:";
-$l['no_post_icon'] = "no icon";
-$l['thread_subscription_method'] = "Thread Subscription:";
-$l['thread_subscription_method_desc'] = "Specify the type of notification and thread subscription you'd like to have to this thread. (Registered users only)";
-$l['no_subscribe'] = "Do not subscribe to this thread";
-$l['no_subscribe_notification'] = "Subscribe without receiving any notification of new replies";
-$l['instant_email_subscribe'] = "Subscribe and receive email notification of new replies";
-$l['instant_pm_subscribe'] = "Subscribe and receive PM notification of new replies";
-
-$l['today'] = "Today ";
-$l['yesterday'] = "Yesterday ";
-$l['error'] = "Board Message";
-
-$l['multipage_pages'] = "Pages ({1}):";
-$l['multipage_last'] = "Last";
-$l['multipage_first'] = "First";
-$l['multipage_next'] = "Next";
-$l['multipage_previous'] = "Previous";
-$l['multipage_link_start'] = " ...";
-$l['multipage_link_end'] = "... ";
-$l['multipage_jump'] = "Jump to page";
-
-$l['editor_bold'] = "Bold";
-$l['editor_italic'] = "Italic";
-$l['editor_underline'] = "Underline";
-$l['editor_strikethrough'] = "Strikethrough";
-$l['editor_subscript'] = "Subscript";
-$l['editor_superscript'] = "Superscript";
-$l['editor_alignleft'] = "Align left";
-$l['editor_center'] = "Center";
-$l['editor_alignright'] = "Align right";
-$l['editor_justify'] = "Justify";
-$l['editor_fontname'] = "Font Name";
-$l['editor_fontsize'] = "Font Size";
-$l['editor_fontcolor'] = "Font Color";
-$l['editor_removeformatting'] = "Remove Formatting";
-$l['editor_cut'] = "Cut";
-$l['editor_copy'] = "Copy";
-$l['editor_paste'] = "Paste";
-$l['editor_cutnosupport'] = "Your browser does not allow the cut command. Please use the keyboard shortcut Ctrl/Cmd-X";
-$l['editor_copynosupport'] = "Your browser does not allow the copy command. Please use the keyboard shortcut Ctrl/Cmd-C";
-$l['editor_pastenosupport'] = "Your browser does not allow the paste command. Please use the keyboard shortcut Ctrl/Cmd-V";
-$l['editor_pasteentertext'] = "Paste your text inside the following box:";
-$l['editor_pastetext'] = "Paste Text";
-$l['editor_numlist'] = "Numbered list";
-$l['editor_bullist'] = "Bullet list";
-$l['editor_undo'] = "Undo";
-$l['editor_redo'] = "Redo";
-$l['editor_rows'] = "Rows:";
-$l['editor_cols'] = "Cols:";
-$l['editor_inserttable'] = "Insert a table";
-$l['editor_inserthr'] = "Insert a horizontal rule";
-$l['editor_code'] = "Code";
-$l['editor_php'] = "PHP";
-$l['editor_width'] = "Width (optional):";
-$l['editor_height'] = "Height (optional):";
-$l['editor_insertimg'] = "Insert an image";
-$l['editor_email'] = "E-mail:";
-$l['editor_insertemail'] = "Insert an email";
-$l['editor_url'] = "URL:";
-$l['editor_insertlink'] = "Insert a link";
-$l['editor_unlink'] = "Unlink";
-$l['editor_more'] = "More";
-$l['editor_insertemoticon'] = "Insert an emoticon";
-$l['editor_videourl'] = "Video URL:";
-$l['editor_videotype'] = "Video Type:";
-$l['editor_insert'] = "Insert";
-$l['editor_insertyoutubevideo'] = "Insert a YouTube video";
-$l['editor_currentdate'] = "Insert current date";
-$l['editor_currenttime'] = "Insert current time";
-$l['editor_print'] = "Print";
-$l['editor_viewsource'] = "View source";
-$l['editor_description'] = "Description (optional):";
-$l['editor_enterimgurl'] = "Enter the image URL:";
-$l['editor_enteremail'] = "Enter the e-mail address:";
-$l['editor_enterdisplayedtext'] = "Enter the displayed text:";
-$l['editor_enterurl'] = "Enter URL:";
-$l['editor_enteryoutubeurl'] = "Enter the YouTube video URL or ID:";
-$l['editor_insertquote'] = "Insert a Quote";
-$l['editor_invalidyoutube'] = "Invalid YouTube video";
-$l['editor_dailymotion'] = "Dailymotion";
-$l['editor_metacafe'] = "MetaCafe";
-$l['editor_veoh'] = "Veoh";
-$l['editor_vimeo'] = "Vimeo";
-$l['editor_youtube'] = "Youtube";
-$l['editor_twitch'] = "Twitch";
-$l['editor_facebook'] = "Facebook";
-$l['editor_liveleak'] = "LiveLeak";
-$l['editor_insertvideo'] = "Insert a video";
-$l['editor_maximize'] = "Maximize";
-
-$l['quote'] = "Quote:";
-$l['wrote'] = "Wrote:";
-$l['code'] = "Code:";
-$l['php_code'] = "PHP Code:";
-$l['posted_image'] = "[Image: {1}]";
-$l['posted_video'] = "[Video: {1}]";
-$l['linkback'] = "Original Post";
-
-$l['at'] = "at";
-$l['na'] = "N/A";
-$l['guest'] = "Guest";
-$l['unknown'] = "Unknown";
-$l['never'] = "Never";
-$l['postbit_posts'] = "Posts:";
-$l['postbit_threads'] = "Threads:";
-$l['postbit_group'] = "Group:";
-$l['postbit_joined'] = "Joined:";
-$l['postbit_status'] = "Status:";
-$l['postbit_attachments'] = "Attached Files";
-$l['postbit_attachment_filename'] = "Filename:";
-$l['postbit_attachment_size'] = "Size:";
-$l['postbit_attachment_downloads'] = "Downloads:";
-$l['postbit_attachments_images'] = "Image(s)";
-$l['postbit_attachments_thumbnails'] = "Thumbnail(s)";
-$l['postbit_unapproved_attachments'] = "{1} unapproved attachments.";
-$l['postbit_unapproved_attachment'] = "1 unapproved attachment.";
-$l['postbit_status_online'] = "Online";
-$l['postbit_status_offline'] = "Offline";
-$l['postbit_status_away'] = "Away";
-$l['postbit_edited'] = "This post was last modified: {1} by";
-$l['postbit_editreason'] = "Edit Reason";
-$l['postbit_ipaddress'] = "IP Address:";
-$l['postbit_ipaddress_logged'] = "Logged";
-$l['postbit_post'] = "Post:";
-$l['postbit_reputation'] = "Reputation:";
-$l['postbit_reputation_add'] = "Give Reputation to this user";
-$l['postbit_website'] = "Visit this user's website";
-$l['postbit_email'] = "Send this user an email";
-$l['postbit_find'] = "Find all posts by this user";
-$l['postbit_report'] = "Report this post to a moderator";
-$l['postbit_quote'] = "Quote this message in a reply";
-$l['postbit_qdelete_post'] = "Delete this post";
-$l['postbit_qdelete_thread'] = "Delete this thread";
-$l['postbit_qrestore_post'] = "Restore this post";
-$l['postbit_qrestore_thread'] = "Restore this thread";
-$l['postbit_profile'] = "View this users profile";
-$l['postbit_pm'] = "Send this user a private message";
-$l['postbit_edit'] = "Edit this post";
-$l['postbit_multiquote'] = "Quote this post";
-$l['postbit_quick_edit'] = "Quick Edit";
-$l['postbit_full_edit'] = "Full Edit";
-$l['postbit_show_ignored_post'] = "Show this Post";
-$l['postbit_currently_ignoring_user'] = "The contents of this message are hidden because {1} is on your ignore list .";
-$l['postbit_warning_level'] = "Warning Level:";
-$l['postbit_warn'] = "Warn the author for this post";
-$l['postbit_purgespammer'] = "Purge Spammer";
-$l['postbit_post_deleted'] = "This post has been deleted.";
-$l['postbit_post_unapproved'] = "This post is awaiting approval.";
-$l['postbit_thread_deleted'] = "This thread has been deleted.";
-$l['postbit_thread_unapproved'] = "This thread is awaiting approval.";
-$l['postbit_deleted_post_user'] = "This post by {1} has been deleted.";
-
-$l['postbit_button_reputation_add'] = 'Rate';
-$l['postbit_button_website'] = 'Website';
-$l['postbit_button_email'] = 'Email';
-$l['postbit_button_find'] = 'Find';
-$l['postbit_button_report'] = 'Report';
-$l['postbit_button_quote'] = 'Reply';
-$l['postbit_button_qdelete'] = 'Delete';
-$l['postbit_button_qrestore'] = 'Restore';
-$l['postbit_button_profile'] = 'Profile';
-$l['postbit_button_pm'] = 'PM';
-$l['postbit_button_warn'] = 'Warn';
-$l['postbit_button_edit'] = 'Edit';
-$l['postbit_button_multiquote'] = 'Quote';
-$l['postbit_button_reply_pm'] = 'Reply';
-$l['postbit_button_reply_all'] = 'Reply All';
-$l['postbit_button_forward'] = 'Forward';
-$l['postbit_button_delete_pm'] = 'Delete';
-$l['postbit_button_purgespammer'] = "Purge Spammer";
-
-$l['forumjump'] = "Forum Jump:";
-$l['forumjump_pms'] = "Private Messages";
-$l['forumjump_usercp'] = "User Control Panel";
-$l['forumjump_wol'] = "Who's Online";
-$l['forumjump_search'] = "Search";
-$l['forumjump_home'] = "Forum Home";
-
-$l['redirect'] = "You will now be redirected";
-$l['unknown_error'] = "An unknown error has occurred.";
-$l['post_fetch_error'] = 'There was an error fetching the posts.';
-
-$l['smilieinsert'] = "Smilies";
-$l['smilieinsert_getmore'] = "get more";
-$l['on'] = "On";
-$l['off'] = "Off";
-$l['remote_avatar_disabled_default_avatar'] = "You are currently using a remote avatar, which has been disabled. The default avatar will be used instead.";
-$l['unread_report'] = "Moderator Notice: There is 1 unread report.";
-$l['unread_reports'] = "Moderator Notice: There are {1} unread reports.";
-$l['pending_joinrequest'] = "Group Leader Notice: You have 1 pending group membership join request.";
-$l['pending_joinrequests'] = "Group Leader Notice: You have {1} pending group membership join requests.";
-
-$l['search_user'] = "Search for a user";
-
-$l['year'] = "Year";
-$l['year_short'] = "y";
-$l['years'] = "Years";
-$l['years_short'] = "y";
-$l['month'] = "Month";
-$l['month_short'] = "m";
-$l['months'] = "Months";
-$l['months_short'] = "m";
-$l['week'] = "Week";
-$l['week_short'] = "w";
-$l['weeks'] = "Weeks";
-$l['weeks_short'] = "w";
-$l['day'] = "Day";
-$l['day_short'] = "d";
-$l['days'] = "Days";
-$l['days_short'] = "d";
-$l['hour'] = "Hour";
-$l['hour_short'] = "h";
-$l['hours'] = "Hours";
-$l['hours_short'] ="h";
-$l['minute'] = "Minute";
-$l['minute_short'] ="m";
-$l['minutes'] = "Minutes";
-$l['minutes_short'] = "m";
-$l['second'] = "Second";
-$l['second_short'] ="s";
-$l['seconds'] = "Seconds";
-$l['seconds_short'] = "s";
-
-$l['rel_in'] = "In ";
-$l['rel_ago'] = "ago";
-$l['rel_less_than'] = "Less than ";
-$l['rel_time'] = "{1}{2} {3} {4} ";
-$l['rel_minutes_single'] = "minute";
-$l['rel_minutes_plural'] = "minutes";
-$l['rel_hours_single'] = "hour";
-$l['rel_hours_plural'] = "hours";
-
-$l['permanent'] = "Permanent";
-$l['save_draft'] = "Save as Draft";
-$l['go'] = "Go";
-$l['bbclosed_warning'] = "Your board status is currently set to closed.";
-$l['banned_warning'] = "Your forum account is currently banned.";
-$l['banned_warning2'] = "Ban Reason";
-$l['banned_warning3'] = "Ban will be lifted";
-$l['banned_lifted_never'] = "Never";
-$l['banned_email_warning'] = "You are currently using an email that is not allowed to be used on this forum. Please reset it before continuing.";
-$l['powered_by'] = "Powered By";
-$l['copyright'] = "Copyright";
-$l['attach_quota'] = "You are currently using {1} of your allocated attachment usage ({2})";
-$l['view_attachments'] = "[View My Attachments]";
-$l['unlimited'] = "Unlimited";
-
-$l['click_hold_edit'] = "(Click and hold to edit)";
-
-$l['guest_count'] = "1 Guest";
-$l['guest_count_multiple'] = "{1} Guests";
-
-$l['size_yb'] = "YB";
-$l['size_zb'] = "ZB";
-$l['size_eb'] = "EB";
-$l['size_pb'] = "PB";
-$l['size_tb'] = "TB";
-$l['size_gb'] = "GB";
-$l['size_mb'] = "MB";
-$l['size_kb'] = "KB";
-$l['size_bytes'] = "bytes";
-
-$l['slaps'] = "slaps";
-$l['with_trout'] = "around a bit with a large trout.";
-
-$l['mybb_engine'] = "MyBB Engine";
-$l['quickdelete_confirm'] = "Are you sure you want to delete this post?";
-$l['quickrestore_confirm'] = "Are you sure you want to restore this post?";
-$l['newpm_notice_one'] = "You have one unread private message from {1} titled {4} ";
-$l['newpm_notice_multiple'] = "You have {1} unread private messages. The most recent is from {2} titled {5} ";
-$l['deleteevent_confirm'] = "Are you sure you want to delete this event?";
-$l['removeattach_confirm'] = "Are you sure you want to remove the selected attachment from this post?";
-
-$l['latest_threads'] = "Latest Threads";
-
-$l['folder_inbox'] = "Inbox";
-$l['folder_sent_items'] = "Sent Items";
-$l['folder_drafts'] = "Drafts";
-$l['folder_trash'] = "Trash Can";
-$l['folder_untitled'] = "Untitled Folder";
-
-$l['standard_mod_tools'] = "Standard Tools";
-$l['custom_mod_tools'] = "Custom Tools";
-
-$l['error_loadlimit'] = "The maximum server load limit has been reached. Please check back later once the server is less busy.";
-$l['error_boardclosed'] = "This bulletin board is currently closed. The Administrator has specified the reason as to why below.";
-$l['error_banned'] = "I'm sorry, but you are banned. You may not post, read threads, or access the forum. Please contact your forum administrator should you have any questions.";
-$l['error_cannot_upload_php_post'] = "Can not upload file - Too large for php post_max_size directive. Please press the back button.";
-$l['error_database_repair'] = "MyBB is automatically repairing a crashed table.";
-
-$l['unknown_user_trigger'] = "An unknown error has been triggered.";
-$l['warnings'] = "The following warnings occurred:";
-
-$l['ajax_loading'] = "Loading. Please Wait..";
-$l['saving_changes'] = "Saving changes..";
-$l['refresh'] = "Refresh";
-$l['select_language'] = "Quick Language Select";
-$l['select_theme'] = "Quick Theme Select";
-
-$l['invalid_post_code'] = "Authorization code mismatch. Are you accessing this function correctly? Please go back and try again.";
-$l['invalid_captcha'] = "Please fill out the image verification code to continue. Please enter the code exactly how it appears in the image.";
-$l['invalid_nocaptcha'] = "Please solve the reCAPTCHA to verify that you're not a robot.";
-$l['invalid_captcha_verify'] = "The image verification code that you entered was incorrect. Please enter the code exactly how it appears in the image.";
-$l['image_verification'] = "Image Verification";
-$l['human_verification'] = "Human Verification";
-$l['verification_note'] = "Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.";
-$l['verification_note_nocaptcha'] = "Please tick the checkbox that you see below. This process is used to prevent automated spam bots.";
-$l['verification_subnote'] = "(case insensitive)";
-$l['invalid_captcha_transmit'] = "An error occurred with the image verification. Please try again.";
-$l['invalid_nocaptcha_transmit'] = "An error occurred with the human verification. Please try again.";
-$l['captcha_fetch_failure'] = 'There was an error fetching the new captcha.';
-$l['question_fetch_failure'] = 'There was an error fetching the new question.';
-
-$l['timezone_gmt_minus_1200'] = "(GMT -12:00) Howland and Baker Islands";
-$l['timezone_gmt_minus_1100'] = "(GMT -11:00) Nome, Midway Island";
-$l['timezone_gmt_minus_1000'] = "(GMT -10:00) Hawaii, Papeete";
-$l['timezone_gmt_minus_950'] = "(GMT -9:30) Marquesas Islands";
-$l['timezone_gmt_minus_900'] = "(GMT -9:00) Alaska";
-$l['timezone_gmt_minus_800'] = "(GMT -8:00) Pacific Time";
-$l['timezone_gmt_minus_700'] = "(GMT -7:00) Mountain Time";
-$l['timezone_gmt_minus_600'] = "(GMT -6:00) Central Time, Mexico City";
-$l['timezone_gmt_minus_500'] = "(GMT -5:00) Eastern Time, Bogota, Lima, Quito";
-$l['timezone_gmt_minus_450'] = "(GMT -4:30) Caracas";
-$l['timezone_gmt_minus_400'] = "(GMT -4:00) Atlantic Time, La Paz, Halifax";
-$l['timezone_gmt_minus_350'] = "(GMT -3:30) Newfoundland";
-$l['timezone_gmt_minus_300'] = "(GMT -3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.";
-$l['timezone_gmt_minus_200'] = "(GMT -2:00) Mid-Atlantic, South Georgia and the South Sandwich Islands";
-$l['timezone_gmt_minus_100'] = "(GMT -1:00) Azores, Cape Verde Islands";
-$l['timezone_gmt'] = "(GMT) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia";
-$l['timezone_gmt_100'] = "(GMT +1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome, Warsaw";
-$l['timezone_gmt_200'] = "(GMT +2:00) Athens, Istanbul, Cairo, Jerusalem, South Africa";
-$l['timezone_gmt_300'] = "(GMT +3:00) Kaliningrad, Minsk, Baghdad, Riyadh, Nairobi";
-$l['timezone_gmt_350'] = "(GMT +3:30) Tehran";
-$l['timezone_gmt_400'] = "(GMT +4:00) Moscow, Abu Dhabi, Baku, Muscat, Tbilisi";
-$l['timezone_gmt_450'] = "(GMT +4:30) Kabul";
-$l['timezone_gmt_500'] = "(GMT +5:00) Islamabad, Karachi, Tashkent";
-$l['timezone_gmt_550'] = "(GMT +5:30) Mumbai, Kolkata, Chennai, New Delhi";
-$l['timezone_gmt_575'] = "(GMT +5:45) Kathmandu";
-$l['timezone_gmt_600'] = "(GMT +6:00) Almaty, Dhakra, Yekaterinburg";
-$l['timezone_gmt_650'] = "(GMT +6:30) Yangon";
-$l['timezone_gmt_700'] = "(GMT +7:00) Bangkok, Hanoi, Jakarta";
-$l['timezone_gmt_800'] = "(GMT +8:00) Beijing, Hong Kong, Perth, Singapore, Taipei, Manila";
-$l['timezone_gmt_850'] = "(GMT +8:30) Pyongyang";
-$l['timezone_gmt_875'] = "(GMT +8:45) Eucla";
-$l['timezone_gmt_900'] = "(GMT +9:00) Osaka, Sapporo, Seoul, Tokyo, Irkutsk";
-$l['timezone_gmt_950'] = "(GMT +9:30) Adelaide, Darwin";
-$l['timezone_gmt_1000'] = "(GMT +10:00) Melbourne, Papua New Guinea, Sydney, Yakutsk";
-$l['timezone_gmt_1050'] = "(GMT +10:30) Lord Howe Island";
-$l['timezone_gmt_1100'] = "(GMT +11:00) Magadan, New Caledonia, Solomon Islands, Vladivostok";
-$l['timezone_gmt_1150'] = "(GMT +11:30) Norfolk Island";
-$l['timezone_gmt_1200'] = "(GMT +12:00) Auckland, Wellington, Fiji, Marshall Islands";
-$l['timezone_gmt_1275'] = "(GMT +12:45) Chatham Islands";
-$l['timezone_gmt_1300'] = "(GMT +13:00) Samoa, Tonga, Tokelau";
-$l['timezone_gmt_1400'] = "(GMT +14:00) Line Islands";
-$l['timezone_gmt_short'] = "GMT {1}({2})";
-
-$l['missing_task'] = "Error: Task file does not exist";
-$l['task_backup_cannot_write_backup'] = "Error: The database backup task cannot write to backups directory.";
-$l['task_backup_ran'] = "The database backup task successfully ran.";
-$l['task_checktables_ran'] = "The check tables task successfully ran with no corrupted tables found.";
-$l['task_checktables_ran_found'] = "Notice: The check tables task successfully ran and repaired the {1} table(s).";
-$l['task_dailycleanup_ran'] = "The daily cleanup task successfully ran.";
-$l['task_hourlycleanup_ran'] = "The hourly cleanup task successfully ran.";
-$l['task_logcleanup_ran'] = "The log cleanup task successfully ran and pruned any old logs.";
-$l['task_promotions_ran'] = "The promotions task successfully ran.";
-$l['task_threadviews_ran'] = "The thread views task successfully ran.";
-$l['task_usercleanup_ran'] = "The user cleanup task successfully ran.";
-$l['task_massmail_ran'] = "The mass mail task successfully ran.";
-$l['task_userpruning_ran'] = "The user pruning task successfully ran.";
-$l['task_delayedmoderation_ran'] = "The delayed moderation task successfully ran.";
-$l['task_massmail_ran_errors'] = "One or more problems occurred sending to \"{1}\":
-{2}";
-$l['task_versioncheck_ran'] = "The version check task successfully ran.";
-$l['task_versioncheck_ran_errors'] = "Could not connect to MyBB for a version check.";
-$l['task_recachestylesheets_ran'] = 'Re-cached {1} stylesheets.';
-
-$l['dismiss_notice'] = "Dismiss this notice";
-
-$l['next'] = "Next";
-$l['previous'] = "Previous";
-$l['delete'] = "Delete";
-
-$l['massmail_username'] = "Username";
-$l['email_addr'] = "Email Address";
-$l['board_name'] = "Board Name";
-$l['board_url'] = "Board URL";
-
-$l['comma'] = ", ";
-
-$l['debug_generated_in'] = "Generated in {1}";
-$l['debug_weight'] = "({1}% PHP / {2}% {3})";
-$l['debug_sql_queries'] = "SQL Queries: {1}";
-$l['debug_server_load'] = "Server Load: {1}";
-$l['debug_memory_usage'] = "Memory Usage: {1}";
-$l['debug_advanced_details'] = "Advanced Details";
-
-$l['error_emailflooding_1_second'] = "Sorry, but you can only send one email every {1} minutes. Please wait another 1 second before attempting to email again.";
-$l['error_emailflooding_seconds'] = "Sorry, but you can only send one email every {1} minutes. Please wait another {2} seconds before attempting to email again.";
-$l['error_emailflooding_1_minute'] = "Sorry, but you can only send one email every {1} minutes. Please wait another 1 minute before attempting to email again.";
-$l['error_emailflooding_minutes'] = "Sorry, but you can only send one email every {1} minutes. Please wait another {2} minutes before attempting to email again.";
-$l['error_invalidfromemail'] = "You did not enter a valid from email address.";
-$l['error_noname'] = "You did not enter a valid name.";
-$l['your_email'] = "Your Email:";
-$l['email_note'] = "Enter your email address here.";
-$l['your_name'] = "Your Name:";
-$l['name_note'] = "Enter your name here.";
-
-$l['january'] = "January";
-$l['february'] = "February";
-$l['march'] = "March";
-$l['april'] = "April";
-$l['may'] = "May";
-$l['june'] = "June";
-$l['july'] = "July";
-$l['august'] = "August";
-$l['september'] = "September";
-$l['october'] = "October";
-$l['november'] = "November";
-$l['december'] = "December";
-
-$l['moderation_forum_attachments'] = "Please note that new attachments in this forum must be approved by a moderator before becoming visible.";
-$l['moderation_forum_posts'] = "Please note that new posts in this forum must be approved by a moderator before becoming visible.";
-$l['moderation_user_posts'] = "Please note that new posts you make must be approved by a moderator before becoming visible.";
-$l['moderation_forum_thread'] = "Please note that new threads in this forum must be approved by a moderator before becoming visible.";
-$l['moderation_forum_edits'] = "Please note that edited posts in this forum must be approved by a moderator before becoming visible.";
-$l['moderation_forum_edits_quick'] = "Please note that edited posts in this forum must be approved by a moderator before becoming visible.";
-$l['awaiting_message_link'] = " Go to the ACP .";
-$l['awaiting_message_single'] = "There is 1 account awaiting activation. Please go to your ACP to activate the user.";
-$l['awaiting_message_plural'] = "There are {1} accounts awaiting activation. Please go to your ACP to activate the users.";
-
-$l['select2_match'] = "One result is available, press enter to select it.";
-$l['select2_matches'] = "{1} results are available, use up and down arrow keys to navigate.";
-$l['select2_nomatches'] = "No matches found";
-$l['select2_inputtooshort_single'] = "Please enter one or more character";
-$l['select2_inputtooshort_plural'] = "Please enter {1} or more characters";
-$l['select2_inputtoolong_single'] = "Please delete one character";
-$l['select2_inputtoolong_plural'] = "Please delete {1} characters";
-$l['select2_selectiontoobig_single'] = "You can only select one item";
-$l['select2_selectiontoobig_plural'] = "You can only select {1} items";
-$l['select2_loadmore'] = "Loading more results…";
-$l['select2_searching'] = "Searching…";
-
-$l['stopforumspam_error_decoding'] = 'Error decoding data from StopForumSpam.com.';
-$l['stopforumspam_error_retrieving'] = 'Error retrieving data from StopForumSpam.com.';
-
-$l['sfs_error_username'] = 'username';
-$l['sfs_error_ip'] = 'IP';
-$l['sfs_error_email'] = 'email';
-$l['sfs_error_or'] = 'or';
-
-$l['boardclosed_reason'] = 'These forums are currently closed for maintenance. Please check back later';
diff --git a/html/forums/inc/languages/english/hello.lang.php b/html/forums/inc/languages/english/hello.lang.php
deleted file mode 100644
index 6e02a9c..0000000
--- a/html/forums/inc/languages/english/hello.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
- You are encouraged to register; once you register you will be able to post messages, set your own preferences, and maintain a profile.
- Some of the features that generally require registration are subscriptions, changing of styles, accessing of your Personal Notepad and emailing forum members.";
-
-// Help Document 2
-$l['d2_name'] = "Updating Profile";
-$l['d2_desc'] = "Changing your data currently on record.";
-$l['d2_document'] = "At some point during your stay, you may decide you need to update some information such as your instant messenger information, your password, or your email address. You may change any of this information from your user control panel. To access this control panel, simply click on the link in the upper right hand corner of most any page entitled \"User CP\". From there, simply choose the appropriate link under the \"Your Profile\" section and change or update any desired items, then proceed to click the submit button located at the bottom of the page for changes to take effect.";
-
-// Help Document 3
-$l['d3_name'] = "Use of Cookies on MyBB";
-$l['d3_desc'] = "MyBB uses cookies to store certain information about your registration.";
-$l['d3_document'] = "MyBB makes use of cookies to store your login information if you are registered, and your last visit if you are not.
- Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk.
- Cookies on this forum also track the specific topics you have read and when you last read them.
- To clear all cookies set by this forum, you can click here .";
-
-// Help Document 4
-$l['d4_name'] = "Logging In and Out";
-$l['d4_desc'] = "How to login and log out.";
-$l['d4_document'] = "When you login, you set a cookie on your machine so that you can browse the forums without having to enter in your username and password each time. Logging out clears that cookie to ensure nobody else can browse the forum as you.
- To login, simply click the login link at the top right hand corner of the forum. To log out, click the log out link in the same place. In the event you cannot log out, clearing cookies on your machine will take the same effect.";
-
-// Help Document 5
-$l['d5_name'] = "Posting a New Thread";
-$l['d5_desc'] = "Starting a new thread in a forum.";
-$l['d5_document'] = "When you go to a forum you are interested in and you wish to create a new thread (or topic), simply choose the button at the top and bottom of the forums entitled \"New Thread\". Please take note that you may not have permission to post a new thread in every forum as your administrator may have restricted posting in that forum to staff or archived the forum entirely.";
-
-// Help Document 6
-$l['d6_name'] = "Posting a Reply";
-$l['d6_desc'] = "Replying to a topic within a forum.";
-$l['d6_document'] = "During the course of your visit, you may encounter a thread to which you would like to make a reply. To do so, simply click the \"New Reply\" button at the bottom or top of the thread. Please take note that your administrator may have restricted posting to certain individuals in that particular forum.
- Additionally, a moderator of a forum may have closed a thread meaning that users cannot reply to it. There is no way for a user to open such a thread without the help of a moderator or administrator.";
-
-// Help Document 7
-$l['d7_name'] = "MyCode";
-$l['d7_desc'] = "Learn how to use MyCode to enhance your posts.";
-$l['d7_document'] = "You can use MyCode, a simplified version of HTML, in your posts to create certain effects.
- [b]This text is bold[/b] This text is bold
-
[i]This text is italicized[/i] This text is italicized
-
[u]This text is underlined[/u] This text is underlined
-
[s]This text is struck out[/s] This text is struck out
-
[url]http://www.example.com/[/url] http://www.example.com/
-
[url=http://www.example.com/]Example.com[/url] Example.com
-
[email]example@example.com[/email] example@example.com
-
[email=example@example.com]E-mail Me![/email] E-mail Me!
-
[email=example@example.com?subject=spam]E-mail with subject[/email] E-mail with subject
-
[quote]Quoted text will be here[/quote] Quoted text will be here
-
[code]Text with preserved formatting[/code] Text with preserved formatting
-
[img]http://www.php.net/images/php.gif[/img]
-
[img=50x50]http://www.php.net/images/php.gif[/img]
-
[color=red]This text is red[/color] This text is red
-
[size=3]This text is size 3[/size] This text is size 3
-
[font=Tahoma]This font is Tahoma[/font] This font is Tahoma
-
[align=center]This is centered[/align]
This is centered
-[align=right]This is right-aligned[/align]
This is right-aligned
- [list] [*]List Item #1 [*]List Item #2 [*]List Item #3 [/list]
List item #1 List item #2 List Item #3
-
-You can make an ordered list by using [list=1] for a numbered, and [list=a] for an alphabetical list.
";
diff --git a/html/forums/inc/languages/english/helpsections.lang.php b/html/forums/inc/languages/english/helpsections.lang.php
deleted file mode 100644
index 3ba4237..0000000
--- a/html/forums/inc/languages/english/helpsections.lang.php
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/languages/english/index.lang.php b/html/forums/inc/languages/english/index.lang.php
deleted file mode 100644
index 7fc4b5e..0000000
--- a/html/forums/inc/languages/english/index.lang.php
+++ /dev/null
@@ -1,40 +0,0 @@
-{1}";
-$l['stats_mostonline'] = "The most users online at one time was {1} on {2} at {3}";
-$l['whos_online'] = "Who's Online";
-$l['complete_list'] = "Complete List";
-$l['online_online_plural'] = "users";
-$l['online_online_singular'] = "user";
-$l['online_member_plural'] = "members";
-$l['online_member_singular'] = "member";
-$l['online_anon_plural'] = "are";
-$l['online_anon_singular'] = "is";
-$l['online_guest_plural'] = "guests";
-$l['online_guest_singular'] = "guest";
-$l['online_note'] = "{1} {2} active in the past {3} minutes ({4} {5}, {6} of whom {7} invisible, and {8} {9}).";
-$l['subforums'] = "Sub Forums:";
diff --git a/html/forums/inc/languages/english/mailhandler.lang.php b/html/forums/inc/languages/english/mailhandler.lang.php
deleted file mode 100644
index 638785b..0000000
--- a/html/forums/inc/languages/english/mailhandler.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-';
diff --git a/html/forums/inc/languages/english/managegroup.lang.php b/html/forums/inc/languages/english/managegroup.lang.php
deleted file mode 100644
index 2035415..0000000
--- a/html/forums/inc/languages/english/managegroup.lang.php
+++ /dev/null
@@ -1,64 +0,0 @@
-{1} pending join requests for this user group.";
-$l['group_management'] = "Group Management";
-$l['members_of'] = "Members in \"{1}\"";
-$l['user_name'] = "Username";
-$l['contact'] = "Contact";
-$l['reg_date'] = "Registered";
-$l['post_count'] = "Posts";
-$l['remove_selected'] = "Remove Selected Users from Group";
-$l['add_member'] = "Add Member to \"{1}\"";
-$l['add_member_submit'] = "Add Member to Group";
-$l['invite_member'] = "Invite Member to \"{1}\"";
-$l['invite_member_submit'] = "Invite Member to Group";
-$l['join_requests'] = "Join Requests";
-$l['join_requests_title'] = "Join Requests for \"{1}\"";
-$l['leader'] = "(Leader)";
-$l['reason'] ="Reason";
-$l['accept'] = "Accept";
-$l['ignore'] = "Ignore";
-$l['decline'] = "Decline";
-$l['action_requests'] = "Perform Actions";
-$l['join_requests_moderated'] = "The join requests have been moderated. You will now be taken to the request listing.";
-$l['no_requests'] = "There are currently no pending join requests for this group.";
-$l['no_users'] = "There are no users in this group.";
-$l['user_added'] = "The user has been added to the user group.";
-$l['users_removed'] = "The selected users have been removed from the user group.";
-$l['group_no_members'] = "There are currently no members in this group. To return to the group management page, click here .";
-$l['group_public_moderated'] = "This user group is a public user group that anyone can join. All join requests must be moderated by a group leader.";
-$l['group_public_not_moderated'] = "This user group is a public user group that anyone can join freely.";
-$l['group_public_invite'] = "This user group is a public user group that requires an invitation from a group leader in order to join.";
-$l['group_private'] = "This user group is a private user group. Only users added by the group leader can be part of this group.";
-$l['group_default'] = "This user group is a core user group.";
-$l['group_leaders'] = "Group Leaders";
-$l['no_users_selected'] = "Sorry, but no users seemed to be selected for removal. Please go back and select the users you want to remove from this group.";
-
-$l['error_alreadyingroup'] = "The user specified is already part of the user group.";
-$l['error_alreadyinvited'] = "The user specified has already been invited.";
-
-$l['user_invited'] = "The user has been invited to join the user group.";
-$l['invite_pm_subject'] = "You have been invited to join \"{1}\"";
-$l['invite_pm_message'] = "You have received an invitation to join the user group \"{1}\".
-
-To join, please proceed to your [url={2}/usercp.php?action=usergroups]Group Memberships[/url] page and click 'Accept Invite'.
-
-This invitation does not expire.";
-$l['invite_pm_message_expires'] = "You have received an invitation to join the user group \"{1}\".
-
-To join, please proceed to your [url={2}/usercp.php?action=usergroups]Group Memberships[/url] page and click 'Accept Invite'.
-
-This invite will expire {3} days from now.";
-
diff --git a/html/forums/inc/languages/english/member.lang.php b/html/forums/inc/languages/english/member.lang.php
deleted file mode 100644
index c08cbca..0000000
--- a/html/forums/inc/languages/english/member.lang.php
+++ /dev/null
@@ -1,256 +0,0 @@
-Complex Password:";
-$l['confirm_email'] = "Confirm Email:";
-$l['optional_fields'] = "Optional Fields";
-$l['website_url'] = "Your Website URL:";
-$l['birthdate'] = "Birthdate:";
-$l['additional_info'] = "Additional Information";
-$l['required_info'] = "Required Information";
-$l['i_agree'] = "I Agree";
-$l['account_details'] = "Account Details";
-$l['account_prefs'] = "Account Preferences:";
-$l['invisible_mode'] = "Hide me from the Who's Online list.";
-$l['allow_notices'] = "Receive emails from the Administrators.";
-$l['hide_email'] = "Hide your email from other members.";
-$l['email_notify'] = "Automatically subscribe to threads you post in.";
-$l['receive_pms'] = "Receive private messages from other users.";
-$l['pm_notice'] = "Alert me with a notice when I receive a Private Message.";
-$l['email_notify_newpm'] = "Notify me by email when I receive a new Private Message.";
-$l['time_offset'] = "Time Zone (DST correction excluded):";
-$l['time_offset_desc'] = "If you live in a time zone which differs to what this board is set at, you can select it from the list below.";
-$l['dst_correction'] = "Daylight Saving Time correction:";
-$l['dst_correction_auto'] = "Automatically detect DST settings";
-$l['dst_correction_enabled'] = "Always use DST correction";
-$l['dst_correction_disabled'] = "Never use DST correction";
-$l['redirect_registered_coppa_activate'] = "Thank you for registering on {1}, {2}. Your account has successfully been created, however, as the owner of this account is under the age of 13, parental permission needs to be sought before this account can be used. A parent or legal guardian will need to download, fill in and submit to us a completed copy of our COPPA Compliance & Permission form . Once we receive a completed copy of this form, the account will be activated.";
-$l['coppa_compliance'] = "COPPA Compliance";
-$l['coppa_desc'] = "In order to register on these forums, we require you to verify your age to comply with COPPA . Please enter your date of birth below. If you are under the age of 13, parental permission must be obtained prior to registration. A parent or legal guardian will need to download, fill in and submit to us a completed copy of our COPPA Compliance & Permission form .";
-$l['hide_dob'] = "You can choose to hide your date of birth and age by editing your profile after registering.";
-$l['signature'] = "Signature:";
-$l['continue_registration'] = "Continue with Registration";
-$l['birthdayprivacy'] = "Date of Birth Privacy:";
-$l['birthdayprivacyall'] = "Display Age and Date of Birth";
-$l['birthdayprivacynone'] = "Hide Age and Date of Birth";
-$l['birthdayprivacyage'] = "Display Only Age";
-$l['leave_this_field_empty'] = "Leave this field empty:";
-$l['error_need_to_be_thirteen'] = "You need to be of thirteen years or older to register on this forum.";
-$l['coppa_registration'] = "COPPA Registration Form";
-$l['coppa_form_instructions'] = "Please print this form, fill it in and either fax it to the number below or mail it to the provided mailing address.";
-$l['fax_number'] = "Fax Number:";
-$l['mailing_address'] = "Mailing Address:";
-$l['account_information'] = "Account Information";
-$l['parent_details'] = "Parent / Guardian Details";
-$l['full_name'] = "Full Name:";
-$l['relation'] = "Relation:";
-$l['phone_no'] = "Phone #:";
-$l['coppa_parent_agreement'] = "I understand that the information I have provided is truthful, that any information may be changed in the future by entering the supplied password and this user account can be removed by request.";
-
-$l['coppa_agreement_1'] = "Users under the age of 13 must receive permission from their parent or legal guardian in order to register on {1}.";
-$l['coppa_agreement_2'] = "A parent or legal guardian will need to download, fill in and submit to us a completed copy of our COPPA Compliance & Permission form before membership will be granted.";
-$l['coppa_agreement_3'] = "If you'd like to, you can begin the registration process now, however the account will be inaccessible until the above compliance form is received.";
-
-$l['error_invalid_birthday'] = 'The birthday you entered is invalid. Please enter a valid birthday.';
-$l['error_awaitingcoppa'] = "You cannot login using this account as it is still awaiting COPPA validation from a parent or guardian. A parent or legal guardian will need to download, fill in and submit to us a completed copy of our COPPA Compliance & Permission form . Once we receive a completed copy of this form, the account will be activated.";
-
-$l['lang_select'] = "Language Settings:";
-$l['lang_select_desc'] = "If you live in a country that speaks a language other than the forums default, you may be able to select an installed, read-able language pack below.";
-$l['lang_select_default'] = "Use Default";
-
-$l['submit_registration'] = "Submit Registration!";
-$l['confirm_password'] = "Confirm Password:";
-$l['referrer'] = "Referrer:";
-$l['referrer_desc'] = "If you were referred to these forums by another member you can enter their name below. If not, simply leave this field blank.";
-$l['resend_activation'] = "Resend Account Activation";
-$l['request_activation'] = "Request Activation Code";
-$l['ppp'] = "Posts Per Page:";
-$l['ppp_desc'] = "Allows you to select the amount of posts to be shown per page in a thread.";
-$l['tpp'] = "Threads Per Page:";
-$l['tpp_desc'] = "Allows you to select the amount of threads to be shown per page in the thread listing.";
-$l['reset_password'] = "Reset Password";
-$l['send_password'] = "Send New Password!";
-$l['registration_errors'] = "The following errors occurred with your registration:";
-$l['timeonline'] = "Time Spent Online:";
-$l['timeonline_hidden'] = "(Hidden)";
-$l['registrations_disabled'] = "Sorry, but you cannot register at this time because the administrator has disabled new account registrations.";
-$l['error_username_length'] = "Your username is invalid. Usernames have to be within {1} to {2} characters.";
-$l['error_stop_forum_spam_spammer'] = 'Sorry, your {1} matches that of a known spammer. If you feel this is a mistake, please contact an administrator.';
-$l['error_stop_forum_spam_fetching'] = 'Sorry, something went wrong verifying your account against a spammer database. Most likely the database couldn\'t be accessed. Please try again later.';
-
-$l['none_registered'] = "None Registered";
-$l['not_specified'] = "Not Specified";
-$l['membdayage'] = "({1} years old)";
-$l['mod_options'] = "Moderator Options";
-$l['edit_in_mcp'] = "Edit this user in Mod CP";
-$l['ban_in_mcp'] = "Ban this user in Mod CP";
-$l['purgespammer'] = "Purge Spammer";
-$l['edit_usernotes'] = "Edit user notes in Mod CP";
-$l['no_usernotes'] = "There are currently no notes on this user";
-$l['view_all_notes'] = "View all notes";
-$l['view_notes_for'] = "View notes for {1}";
-$l['registration_ip'] = "Registration IP:";
-$l['last_known_ip'] = "Last Known IP:";
-$l['reputation'] = "Reputation:";
-$l['reputation_vote'] = "Rate";
-$l['reputation_details'] = "Details";
-$l['already_logged_in'] = "Notice: You are already currently logged in as {1}.";
-$l['admin_edit_in_acp'] = "Edit this user in Admin CP";
-$l['admin_ban_in_acp'] = "Ban this user in Admin CP";
-$l['admin_options'] = "Administrator Options";
-
-$l['redirect_registered_activation'] = "Thank you for registering on {1}, {2}.To complete your registration, please check your email for account activation instructions. Until you activate your account you may not be able to post on these forums";
-$l['redirect_emailupdated'] = "Your email has been successfully changed. You will now be taken back to the main page.";
-$l['redirect_accountactivated'] = "Your account has successfully been activated. You will now be taken back to the main page.";
-$l['redirect_accountactivated_admin'] = "Your email has successfully validated. Your registration must now be activated by an administrator. Until then, you may not be able to post on these forums. You will now be taken back to the main page.";
-$l['redirect_registered'] = "Thank you for registering on {1}, {2}. You will now be taken back to the main page.";
-$l['redirect_registered_admin_activate'] = "Thank you for registering on {1}, {2}. Your registration must be activated by an administrator. Until then, you may not be able to post on these forums.";
-$l['redirect_loggedout'] = "You have successfully been logged out. You will now be taken back to the forum index.";
-$l['redirect_alreadyloggedout'] = "You were already logged out or have not logged in yet. You will now be taken back to the forum index.";
-$l['redirect_lostpwsent'] = "Thank you, all accounts pertaining to that email address have now been sent an email with details on how to reset the passwords. You will now be taken to the forums' index.";
-$l['redirect_activationresent'] = "Your activation e-mail has been resent.";
-$l['redirect_passwordreset'] = "Thank you, the password for your account has been reset. The new randomly generated password has been emailed to the email address in your account.";
-$l['redirect_memberrated'] = "The member has successfully been rated.";
-$l['redirect_registered_passwordsent'] = "A random password has been generated and sent to your email address. Before you can login on these forums, you will need to check your email for this password.";
-$l['redirect_validated'] = "Thank you, your account has been validated. You will now be taken to the forums.";
-
-$l['error_activated_by_admin'] = "You cannot resend your account activation email as all registrations must be approved by an Administrator.";
-$l['error_alreadyregistered'] = "Sorry, but our system shows that you have already registered on these forums and the registration of multiple accounts has been disabled.";
-$l['error_alreadyregisteredtime'] = "We cannot process your registration because there has already been {1} new registration(s) from your ip address in the past {2} hours. Please try again later.";
-$l['error_badlostpwcode'] = "You seem to have entered an invalid password reset code. Please re-read the email you were sent or contact the forum administrators for more help.";
-$l['error_badactivationcode'] = "You have entered an invalid account activation code. To resend all activation emails to the email address on file, please click here .";
-$l['error_alreadyactivated'] = "It appears your account is already activated or does not require email verification.";
-$l['error_alreadyvalidated'] = "Your email have already been validated.";
-$l['error_nothreadurl'] = "Your message does not contain the URL of the thread. Please use the \"send to friend\" feature for it's intended purpose.";
-$l['error_bannedusername'] = "You have entered a username that is banned from registration. Please choose another username.";
-$l['error_notloggedout'] = "Your user ID could not be verified to log you out. This may have been because a malicious Javascript was attempting to log you out automatically. If you intended to log out, please click the Log Out button at the top menu.";
-$l['error_regimageinvalid'] = "The image verification code that you entered was incorrect. Please enter the code exactly how it appears in the image.";
-$l['error_regimagerequired'] = "Please fill out the image verification code to continue the login process. Please enter the code exactly how it appears in the image.";
-$l['error_spam_deny'] = "Our systems detect that you may be a spammer and therefore you have been denied registration. If you feel this is a mistake, please contact the Administrator.";
-$l['error_spam_deny_time'] = "Our systems detect that you may be a spammer and therefore you have been denied registration. Registration must take a minimum time of {1} seconds to prevent automated signups, you registered in {2} seconds. If you feel this is a mistake, please contact the Administrator.";
-
-$l['js_validator_no_username'] = "You must enter a username";
-$l['js_validator_invalid_email'] = "You need to enter a valid email address";
-$l['js_validator_email_match'] = "You need to enter the same email address again";
-$l['js_validator_no_image_text'] = "You need to enter the text in the image above";
-$l['js_validator_no_security_question'] = "You need to enter the answer to the question above";
-$l['js_validator_password_matches'] = "The passwords you enter must match";
-$l['js_validator_password_complexity'] = "Checking password complexity";
-$l['js_validator_password_length'] = "Your password must be {1} or more characters long";
-$l['js_validator_not_empty'] = "You must select or enter a value for this field";
-$l['js_validator_checking_username'] = "Checking if username is available";
-$l['js_validator_username_length'] = "Usernames must be between {1} and {2} characters long";
-$l['js_validator_checking_referrer'] = "Checking if referrer username exists.";
-$l['js_validator_captcha_valid'] = "Checking whether or not you entered the correct image verification code.";
-
-$l['security_question'] = "Security Question";
-$l['question_note'] = "Please answer the question provided. This process is used to prevent automated processes.";
-$l['error_question_wrong'] = "The answer you provided for the security question is wrong. Please try again.";
-
-$l['subscription_method'] = "Default Thread Subscription Mode:";
-$l['no_auto_subscribe'] = "Do not subscribe";
-$l['no_subscribe'] = "No notification";
-$l['instant_email_subscribe'] = "Instant email notification";
-$l['instant_pm_subscribe'] = "Instant PM notification";
-
-$l['remove_from_buddy_list'] = "Remove from Buddy List";
-$l['add_to_buddy_list'] = "Add to Buddy List";
-$l['remove_from_ignore_list'] = "Remove from Ignore List";
-$l['add_to_ignore_list'] = "Add to Ignore List";
-$l['report_user'] = "Report User";
-
-$l['newregistration_subject'] = "New registration at {1}";
-$l['newregistration_message'] = "{1},
-
-There is a new user at {2} who is pending admin activation.
-
-Username: {3}
-
-Thank you,
-{2} Staff";
diff --git a/html/forums/inc/languages/english/memberlist.lang.php b/html/forums/inc/languages/english/memberlist.lang.php
deleted file mode 100644
index f294e49..0000000
--- a/html/forums/inc/languages/english/memberlist.lang.php
+++ /dev/null
@@ -1,79 +0,0 @@
-There were no members found with the search criteria you entered.
Please enter a different search term and try again.
";
-
-$l['a'] = 'A';
-$l['b'] = 'B';
-$l['c'] = 'C';
-$l['d'] = 'D';
-$l['e'] = 'E';
-$l['f'] = 'F';
-$l['g'] = 'G';
-$l['h'] = 'H';
-$l['i'] = 'I';
-$l['j'] = 'J';
-$l['k'] = 'K';
-$l['l'] = 'L';
-$l['m'] = 'M';
-$l['n'] = 'N';
-$l['o'] = 'O';
-$l['p'] = 'P';
-$l['q'] = 'Q';
-$l['r'] = 'R';
-$l['s'] = 'S';
-$l['t'] = 'T';
-$l['u'] = 'U';
-$l['v'] = 'V';
-$l['w'] = 'W';
-$l['x'] = 'X';
-$l['y'] = 'Y';
-$l['z'] = 'Z';
-
diff --git a/html/forums/inc/languages/english/messages.lang.php b/html/forums/inc/languages/english/messages.lang.php
deleted file mode 100644
index 8aa97af..0000000
--- a/html/forums/inc/languages/english/messages.lang.php
+++ /dev/null
@@ -1,505 +0,0 @@
- Alternatively, return to the forum .";
-$l['redirect_emailsent'] = "Your e-mail message has been sent successfully.";
-$l['redirect_loggedin'] = "You have successfully been logged in. You will now be taken back to where you came from.";
-
-$l['error_invalidpworusername'] = "You have entered an invalid username/password combination. If you have forgotten your password please retrieve a new one .";
-$l['error_invalidpworusername1'] = "You have entered an invalid email/password combination. If you have forgotten your password please retrieve a new one .";
-$l['error_invalidpworusername2'] = "You have entered an invalid username/password or email/password combination. If you have forgotten your password please retrieve a new one .";
-$l['error_incompletefields'] = "It appears you have left one or more required fields blank. Please go back and enter the required fields.";
-$l['error_alreadyuploaded'] = "This post already contains an attachment with the same name. Please rename the file and upload it again. Alternatively you may click \"Update Attachment\".";
-$l['error_alreadyuploaded_perm'] = "This post already contains an attachment with the same name. Please either remove the existing file or rename the file and upload it again.";
-$l['error_nomessage'] = "Sorry, we cannot proceed because you did not enter a valid message. Please go back and do so.";
-$l['error_invalidemail'] = "You did not enter a valid email address.";
-$l['error_nomember'] = "The member you specified is either invalid or doesn't exist.";
-$l['error_maxposts'] = "I'm sorry, but your daily post limit has been exceeded. Please wait till tomorrow to post further or contact your administrator. The maximum amount of posts you may make in a day is {1}";
-$l['error_nohostname'] = "No hostname could be found for the IP you entered.";
-$l['error_invalidthread'] = "The specified thread does not exist.";
-$l['error_invalidpost'] = "The specified post does not exist.";
-$l['error_invalidannouncement'] = "The specified announcement does not exist.";
-$l['error_invalidattachment'] = "The specified attachment does not exist.";
-$l['error_invalidforum'] = "Invalid forum";
-$l['error_closedinvalidforum'] = "You may not post in this forum because either the forum is closed, it is a redirect to another webpage, or it is a category.";
-$l['error_attachtype'] = "The type of file that you attached is not allowed. Please remove the attachment or choose a different type.";
-$l['error_attachsize'] = "The file you attached is too large. The maximum size for that type of file is {1} kilobytes.";
-$l['error_uploadempty'] = "The file specified is empty.";
-$l['error_uploadsize'] = "The size of the uploaded file is too large.";
-$l['error_uploadfailed'] = "The file upload failed. Please choose a valid file and try again. ";
-$l['error_uploadfailed_detail'] = "Error details: ";
-$l['error_uploadfailed_php1'] = "PHP returned: Uploaded file exceeded upload_max_filesize directive in php.ini. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_php2'] = "The uploaded file exceeded the maximum file size specified.";
-$l['error_uploadfailed_php3'] = "The uploaded file was only partially uploaded.";
-$l['error_uploadfailed_php4'] = "No file was uploaded.";
-$l['error_uploadfailed_php6'] = "PHP returned: Missing a temporary folder. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_php7'] = "PHP returned: Failed to write the file to disk. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_phpx'] = "PHP returned error code: {1}. Please contact your forum administrator with this error.";
-$l['error_uploadfailed_nothingtomove'] = "An invalid file was specified, so the uploaded file could not be moved to its destination.";
-$l['error_uploadfailed_movefailed'] = "There was a problem moving the uploaded file to its destination.";
-$l['error_uploadfailed_lost'] = "The attachment could not be found on the server.";
-$l['error_emailmismatch'] = "The email addresses you entered do not match. Please go back and try again";
-$l['error_nopassword'] = "You did not enter a valid password.";
-$l['error_usernametaken'] = "The username you have chosen is already registered. If you have previously registered on these forums, please login .";
-$l['error_nousername'] = "You did not enter a username.";
-$l['error_invalidusername'] = "The username you have entered appears to be invalid.";
-$l['error_invalidpassword'] = "The password you entered is incorrect. If you have forgotten your password, click here . Otherwise, go back and try again.";
-$l['error_postflooding'] = "We are sorry but we cannot process your post. The administrator has specified you are only allowed to post once every {1} seconds.";
-$l['error_nopermission_guest_1'] = "You are either not logged in or do not have permission to view this page. This could be because one of the following reasons:";
-$l['error_nopermission_guest_2'] = "You are not logged in or registered. Please use the form at the bottom of this page to login.";
-$l['error_nopermission_guest_3'] = "You do not have permission to access this page. Are you trying to access administrative pages or a resource that you shouldn't be? Check in the forum rules that you are allowed to perform this action.";
-$l['error_nopermission_guest_4'] = "Your account may have been disabled by an administrator, or it may be awaiting account activation.";
-$l['error_nopermission_guest_5'] = "You have accessed this page directly rather than using appropriate forms or links.";
-$l['login'] = "Login";
-$l['need_reg'] = "Need to register?";
-$l['forgot_password'] = "Forgotten your password?";
-$l['error_nopermission_user_1'] = "You do not have permission to access this page. This could be because of one of the following reasons:";
-$l['error_nopermission_user_ajax'] = "You do not have permission to access this page.";
-$l['error_nopermission_user_2'] = "Your account has either been suspended or you have been banned from accessing this resource.";
-$l['error_nopermission_user_3'] = "You do not have permission to access this page. Are you trying to access administrative pages or a resource that you shouldn't be? Check in the forum rules that you are allowed to perform this action.";
-$l['error_nopermission_user_4'] = "Your account may still be awaiting activation or moderation.";
-$l['error_nopermission_user_5'] = "You have accessed this page directly rather than using appropriate forms or link.";
-$l['error_nopermission_user_resendactivation'] = "Resend Activation Code";
-$l['error_nopermission_user_username'] = "You are currently logged in with the username: '{1}'";
-$l['logged_in_user'] = "Logged In User";
-$l['error_too_many_images'] = "Too Many Images.";
-$l['error_too_many_images2'] = "We are sorry, but we cannot process your post because it contains too many images. Please remove some images from your post to continue.";
-$l['error_too_many_images3'] = "Note: The maximum amount of images per post is";
-$l['error_attach_file'] = "Error Attaching File";
-$l['please_correct_errors'] = "Please correct the following errors before continuing:";
-$l['error_reachedattachquota'] = "Sorry, but you cannot attach this file because you have reached your attachment quota of {1}";
-$l['error_maxattachpost'] = "Sorry but you cannot attach this file because you have reached the maximum number of attachments allowed per post of {1}";
-$l['error_invaliduser'] = "The specified user is invalid or does not exist.";
-$l['error_invalidaction'] = "Invalid action";
-$l['error_messagelength'] = "Sorry, your message is too long and cannot be posted. Please try shortening your message and try again.";
-$l['error_message_too_short'] = "Sorry, your message is too short and cannot be posted.";
-$l['failed_login_wait'] = "You have failed to login within the required number of attempts. You must now wait {1}h {2}m {3}s before you can login again.";
-$l['failed_login_again'] = " You have {1} more login attempts.";
-$l['error_max_emails_day'] = "You cannot use the 'Send Thread to a Friend' or the 'Email User' features because you've already used up your allocated quota of sending {1} messages in the past 24 hours.";
-$l['attachments_disabled'] = "You cannot use the attachment system as it has been disabled by the Administrator.";
-
-$l['emailsubject_lostpw'] = "Password Reset at {1}";
-$l['emailsubject_passwordreset'] = "New password at {1}";
-$l['emailsubject_subscription'] = "New Reply to {1}";
-$l['emailsubject_randompassword'] = "Your Password for {1}";
-$l['emailsubject_activateaccount'] = "Account Activation at {1}";
-$l['emailsubject_forumsubscription'] = "New Thread in {1}";
-$l['emailsubject_reportpost'] = "Reported post at {1}";
-$l['emailsubject_reportprofile'] = "Reported user at {1}";
-$l['emailsubject_reportreputation'] = "Reported reputation at {1}";
-$l['emailsubject_reachedpmquota'] = "Private Messaging Quota Reached at {1}";
-$l['emailsubject_changeemail'] = "Change of Email at {1}";
-$l['emailsubject_newpm'] = "New Private Message at {1} - {2}";
-$l['emailsubject_newjoinrequest'] = "New Join Request at {1}";
-$l['emailsubject_sendtofriend'] = "Interesting discussion at {1}";
-$l['emailsubject_changepassword'] = "Change of Password at {1}";
-$l['emailbit_viewthread'] = "... (visit the thread to read more..)";
-
-$l['email_lostpw'] = "{1},
-
-To complete the phase of resetting your account password at {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=resetpassword&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=resetpassword
-
-You will need to enter the following:
-Username: {1}
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-$l['email_lostpw1'] = "{1},
-
-To complete the phase of resetting your account password at {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=resetpassword&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=resetpassword
-
-You will need to enter the following:
-Your email address
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-$l['email_lostpw2'] = "{1},
-
-To complete the phase of resetting your account password at {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=resetpassword&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=resetpassword
-
-You will need to enter the following:
-Username: {1} (Or your email address)
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-
-$l['email_reportpost'] = "{1} from {2} has reported the following post:
-
-{3}
-{4}/{5}
-
-The reason this user gave for reporting this post:
-{6}
-
-This message has been sent to all moderators of this forum, or all administrators and super moderators if there are no moderators.
-
-Please check this post out as soon as possible.";
-
-$l['email_reportprofile'] = "{1} from {2} has reported the following user:
-
-{3}
-{4}/{5}
-
-The reason this user gave for reporting this user:
-{6}
-
-This message has been sent to all moderators of this forum, or all administrators and super moderators if there are no moderators.
-
-Please check this user out as soon as possible.";
-
-$l['email_reportreputation'] = "{1} from {2} has reported the following reputation:
-
-{3}
-{4}/{5}
-
-The reason this user gave for reporting this reputation:
-{6}
-
-This message has been sent to all moderators of this forum, or all administrators and super moderators if there are no moderators.
-
-Please check this reputation out as soon as possible.";
-
-$l['email_report_comment_extra'] = "{1}: {2}";
-
-$l['email_passwordreset'] = "{1},
-
-Your password at {2} has been reset.
-
-Your new password is: {3}
-
-You will need this password to login to the forums, once you login you should change it by going to your User Control Panel.
-
-Thank you,
-{2} Staff";
-
-$l['email_randompassword'] = "{1},
-
-Thank you for registering on {2}. Below is your username and the randomly generated password. To login to {2}, you will need these details.
-
-Username: {3}
-Password: {4}
-
-It is recommended you change your password immediately after you login. You can do this by going to your User CP then clicking Change Password on the left menu.
-
-Thank you,
-{2} Staff";
-
-$l['email_randompassword1'] = "{1},
-
-Thank you for registering on {2}. Below is your username and the randomly generated password. To login to {2}, you will need these details.
-
-Your email address
-Password: {4}
-
-It is recommended you change your password immediately after you login. You can do this by going to your User CP then clicking Change Password on the left menu.
-
-Thank you,
-{2} Staff";
-
-$l['email_randompassword2'] = "{1},
-
-Thank you for registering on {2}. Below is your username and the randomly generated password. To login to {2}, you will need these details.
-
-Username: {3} (Or your email address)
-Password: {4}
-
-It is recommended you change your password immediately after you login. You can do this by going to your User CP then clicking Change Password on the left menu.
-
-Thank you,
-{2} Staff";
-
-$l['email_sendtofriend'] = "Hello,
-
-{1} from {2} thought you may be interested in reading the following web page:
-
-{3}
-
-{1} included the following message:
-------------------------------------------
-{4}
-------------------------------------------
-
-Thank you,
-{2} Staff
-";
-
-$l['email_forumsubscription'] = "{1},
-
-{2} has just started a new thread in {3}. This is a forum you have subscribed to at {4}.
-
-The thread is titled {5}
-
-Here is an excerpt of the message:
---
-{6}
---
-
-To view the thread, you can go to the following URL:
-{7}/{8}
-
-There may also be other new threads and replies but you will not receive anymore notifications until you visit the board again.
-
-Thank you,
-{4} Staff
-
-------------------------------------------
-Unsubscription Information:
-
-If you would not like to receive any more notifications of new threads in this forum, visit the following URL in your browser:
-{7}/usercp2.php?action=removesubscription&type=forum&fid={9}&my_post_key={10}
-
-------------------------------------------";
-
-$l['email_activateaccount'] = "{1},
-
-To complete the registration process on {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=activate&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=activate
-
-You will need to enter the following:
-Username: {1}
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-
-$l['email_activateaccount1'] = "{1},
-
-To complete the registration process on {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=activate&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=activate
-
-You will need to enter the following:
-Your email address
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-
-$l['email_activateaccount2'] = "{1},
-
-To complete the registration process on {2}, you will need to go to the URL below in your web browser.
-
-{3}/member.php?action=activate&uid={4}&code={5}
-
-If the above link does not work correctly, go to
-
-{3}/member.php?action=activate
-
-You will need to enter the following:
-Username: {1} (Or your email address)
-Activation Code: {5}
-
-Thank you,
-{2} Staff";
-
-$l['email_subscription'] = "{1},
-
-{2} has just replied to a thread which you have subscribed to at {3}. This thread is titled {4}.
-
-Here is an excerpt of the message:
-------------------------------------------
-{5}
-------------------------------------------
-
-To view the thread, you can go to the following URL:
-{6}/{7}
-
-There may also be other replies to this thread but you will not receive anymore notifications until you visit the board again.
-
-Thank you,
-{3} Staff
-
-------------------------------------------
-Unsubscription Information:
-
-If you would not like to receive any more notifications of replies to this thread, visit the following URL in your browser:
-{6}/usercp2.php?action=removesubscription&tid={8}&my_post_key={9}
-
-------------------------------------------";
-$l['email_reachedpmquota'] = "{1},
-
-This is an automated email from {2} to let you know that your Private Messaging inbox has reached its capacity.
-
-One or more users may have tried to send you private messages and were unsuccessful in doing so because of this.
-
-Please delete some of your private messages you currently have stored, remembering to also delete them from the 'Trash Can'.
-
-Thank you,
-{2} Staff
-{3}";
-$l['email_changeemail'] = "{1},
-
-We have received a request on {2} to change your email address (see details below).
-
-Old Email Address: {3}
-New Email Address: {4}
-
-If these changes are correct, please complete the validation process on {2} by going to the following URL in your web browser.
-
-{5}/member.php?action=activate&uid={8}&code={6}
-
-If the above link does not work correctly, go to
-
-{5}/member.php?action=activate
-
-You will need to enter the following:
-Username: {7}
-Activation Code: {6}
-
-If you choose not to validate your new email address your profile will not be updated and will still contain your existing email address.
-
-Thank you,
-{2} Staff
-{5}";
-
-$l['email_changeemail_noactivation'] = "{1},
-
-We have received a request on {2} to change your email address (see details below).
-
-Old Email Address: {3}
-New Email Address: {4}
-
-This change has been automatically processed. If you did not request this change, please get in touch with an Administrator.
-
-Thank you,
-{2} Staff
-{5}";
-
-$l['email_changepassword'] = "{1},
-
-You are receiving this email because you, or someone with access to your password, recently changed your account password.
-
-Username: {1}
-Email address: {2}
-
-If you did not request this change, please get in touch with an Administrator.
-
-Thank you,
-{3} Staff
-{4}";
-
-$l['email_newpm'] = "{1},
-
-You have received a new private message on {3} from {2}:
-
-------------------------------------------
-{5}
-------------------------------------------
-
-To view, reply or forward this message, you can follow this link:
-
-{4}/private.php
-
-Please note that you will not receive any further notifications of new messages until you visit {3}.
-
-You can disable new message notifications on your account options page:
-
-{4}/usercp.php?action=options
-
-Thank you,
-{3} Staff
-{4}";
-
-$l['email_emailuser'] = "{1},
-
-{2} from {3} has sent you the following message:
-------------------------------------------
-{5}
-------------------------------------------
-
-Thank you,
-{3} Staff
-{4}
-
-------------------------------------------
-Don't want to receive email messages from other members?
-
-If you don't want other members to be able to email you please visit your User Control Panel and enable the option 'Hide your email from other members':
-{4}/usercp.php?action=options
-
-------------------------------------------";
-
-$l['email_groupleader_joinrequest'] = "{1},
-
-{2} has requested to join {3} on {4} (see below).
-
-Reason: {5}
-
-To accept or decline this request, go to
-
-{6}/managegroup.php?gid={7}
-
-Thank you,
-{4} Staff";
-
-$l['email_contact_subject'] = "Contact: {1}";
-$l['email_contact'] = "E-mail: {1}
-Forum profile: {2}
-IP Address: {3}
-Message:
-{4}";
-
-$l['pmsubject_subscription'] = "New Reply to {1}";
-$l['pm_subscription'] = "{1},
-
-{2} has just replied to a thread which you have subscribed to. This thread is titled {3}.
-
-Here is an excerpt of the message:
-------------------------------------------
-{4}
-------------------------------------------
-
-To view the thread, you can go to the following URL:
-[url]{5}/{6}[/url]
-
-There may also be other replies to this thread but you will not receive anymore notifications until you visit the thread again.
-
-------------------------------------------
-Unsubscription Information:
-
-If you would not like to receive any more notifications of replies to this thread, visit the following URL in your browser:
-[url]{5}/usercp2.php?action=removesubscription&tid={7}&my_post_key={8}[/url]
-
-------------------------------------------";
-
-$l['email_broken_task_subject'] = "MyBB task error on {1}";
-$l['email_broken_task'] = "Your copy of MyBB running on {1} ({2}) has experienced an error with the task system.
-
-The task file for {3} is missing.
-
-This task has been disabled until issue is resolved.";
diff --git a/html/forums/inc/languages/english/misc.lang.php b/html/forums/inc/languages/english/misc.lang.php
deleted file mode 100644
index 9b9980e..0000000
--- a/html/forums/inc/languages/english/misc.lang.php
+++ /dev/null
@@ -1,98 +0,0 @@
-You have no online buddies";
-$l['offline'] = "Offline";
-$l['offline_none'] = "You have no offline buddies ";
-$l['delete_buddy'] = "X";
-$l['pm_buddy'] = "Send Private Message";
-$l['last_active'] = "Last Active: {1}";
-$l['close'] = "Close";
-$l['no_buddies'] = "Your buddy list is currently empty. Use your User CP or visit a user profile to add users to your buddy list. ";
-
-$l['help_docs'] = "Help Documents";
-
-$l['search_help_documents'] = "Search Help Documents";
-$l['search_by_name'] = "Search by Name";
-$l['search_by_document'] = "Search by Document";
-$l['enter_keywords'] = "Enter Keywords";
-$l['search'] = "Search";
-$l['redirect_searchresults'] = "Thank you, your search has been submitted and you will now be taken to the results list.";
-$l['search_results'] = "Search Results";
-$l['help_doc_results'] = "Help Document Results";
-$l['document'] = "Document";
-$l['error_nosearchresults'] = "Sorry, but no results were returned using the query information you provided. Please redefine your search terms and try again.";
-$l['no_help_results'] = "Sorry, but no results were returned using the query information you provided.";
-$l['error_helpsearchdisabled'] = "The ability to search the help documents has been disabled by the Administrator.";
-
-$l['smilies_listing'] = "Smilies Listing";
-$l['name'] = "Name";
-$l['abbreviation'] = "Abbreviation";
-$l['click_to_add'] = "Click a smilie to insert it into your message";
-$l['close_window'] = "close window";
-$l['no_smilies'] = "There are currently no smilies available.";
-
-$l['who_posted'] = "Who Posted?";
-$l['total_posts'] = "Total Posts:";
-$l['user'] = "User";
-$l['num_posts'] = "# Posts";
-
-$l['forum_rules'] = "{1} - Rules";
-
-$l['error_invalid_limit'] = "The feed item limit you entered is invalid. Please specify a valid limit.";
-
-$l['syndication'] = "Latest Thread Syndication";
-$l['syndication_generated_url'] = "Your Generated Syndication URL:";
-$l['syndication_note'] = "Below you can generate links to specific RSS syndication feeds. Links can be generated for all forums, per forum, or for a specific number of forums. You will then be presented with a link which you can copy in to an RSS reader. What is RSS? ";
-$l['syndication_forum'] = "Forum to Syndicate:";
-$l['syndication_forum_desc'] = "Please select a forum from the right. Use the CTRL key to select multiple forums.";
-$l['syndication_version'] = "Feed Version:";
-$l['syndication_version_desc'] = "Please select the version of the feeds you wish to generate.";
-$l['syndication_version_atom1'] = "Atom 1.0";
-$l['syndication_version_rss2'] = "RSS 2.00 (Default)";
-$l['syndication_generate'] = "Generate Syndication URL";
-$l['syndication_limit'] = "Limit:";
-$l['syndication_limit_desc'] = "The amount of threads to download at one time. 50 at once is maximum limit.";
-$l['syndication_threads_time'] = "threads at a time";
-$l['syndicate_all_forums'] = "Syndicate All Forums";
-
-$l['redirect_markforumread'] = "The selected forum has been marked as read.";
-$l['redirect_markforumsread'] = "All the forums have been marked as read.";
-$l['redirect_forumpasscleared'] = "The stored password for this forum has been cleared.";
-$l['redirect_cookiescleared'] = "All cookies have been cleared.";
-
-$l['error_invalidforum'] = "Invalid forum";
-$l['error_invalidhelpdoc'] = "The specified help document does not appear to exist.";
-$l['error_invalidimtype'] = "This user does not have this type of instant messenger account specified in their profile.";
-$l['error_invalidsearch'] = "An invalid search was specified. Please go back and try again.";
-$l['error_no_search_support'] = "This database engine does not support searching.";
-$l['error_searchflooding'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another {2} seconds before attempting to search again.";
-$l['error_searchflooding_1'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another 1 second before attempting to search again.";
-
-$l['dst_settings_updated'] = "Your daylight saving time settings have automatically been adjusted. You will now be taken back to the forum index.";
diff --git a/html/forums/inc/languages/english/modcp.lang.php b/html/forums/inc/languages/english/modcp.lang.php
deleted file mode 100644
index 99e5675..0000000
--- a/html/forums/inc/languages/english/modcp.lang.php
+++ /dev/null
@@ -1,329 +0,0 @@
-Post by {2}";
-$l['report_info_post_thread'] = "In {2} ";
-$l['report_info_profile'] = "Profile of {1}";
-$l['report_info_reputation'] = "Reputation from {2}";
-$l['report_info_rep_profile'] = "On {1}'s profile ";
-$l['report_info_lastreporter'] = "{1} by {2}";
-
-$l['moderator_notes'] = "Moderator Notes";
-$l['notes_public_all'] = "These notes are public to all moderators.";
-$l['save_notes'] = "Save Notes";
-$l['bans_ending_soon'] = "Bans Ending Soon";
-$l['latest_5_modactions'] = "5 Latest Moderator Actions";
-$l['awaiting_moderation'] = "Awaiting Moderation";
-$l['type'] = "Type";
-$l['number_awaiting'] = "Number Awaiting";
-$l['latest'] = "Latest";
-$l['ipsearch'] = "IP Search";
-$l['ipsearch_results'] = "IP Search Results for '{1}'";
-$l['ipaddress_search'] = "IP Address Search";
-$l['ipaddress_misc_info'] = "Misc. Information for '{1}'";
-$l['ipaddress_host_name'] = "Host Name:";
-$l['ipaddress_location'] = "GeoIP Location:";
-$l['search_users'] = "Search Users";
-$l['search_posts'] = "Search Posts";
-$l['ip_address'] = "IP Address:";
-$l['result'] = "Result";
-$l['ipresult_regip'] = "Registration IP:";
-$l['ipresult_lastip'] = "Last Known IP:";
-$l['ipresult_post'] = "Post:";
-$l['subject'] = "Subject";
-$l['username'] = "Username";
-$l['ipaddress'] = "IP Address";
-$l['options'] = "Options:";
-$l['find'] = "Find";
-$l['modlogs'] = "Moderator Logs";
-$l['action'] = "Action";
-$l['all_moderators'] = "All Moderators";
-$l['ip'] = "IP Address";
-$l['info_on_ip'] = "Information on this IP Address";
-$l['search_ip_sfs'] = "Search this IP on Stop Forum Spam";
-$l['information'] = "Information";
-$l['filter_modlogs'] = "Filter Moderator Logs";
-$l['forum'] = "Forum";
-$l['post'] = "Post";
-$l['from_moderator'] = "From Moderator:";
-$l['na_deleted'] = "N/A - Been Deleted";
-$l['sort_by'] = "Sort by:";
-$l['forum_name'] = "Forum Name";
-$l['thread_subject'] = "Thread Subject";
-$l['in'] = "in";
-$l['order'] = "order";
-$l['asc'] = "Ascending";
-$l['desc'] = "Descending";
-$l['per_page'] = "Results Per Page:";
-$l['filter_logs'] = "Filter Logs";
-$l['error_no_log_results'] = "Sorry, there were no results found with the criteria you selected.";
-$l['find_users'] = "Search for Users";
-$l['users'] = "Users";
-$l['regdate'] = "Registration Date";
-$l['lastvisit'] = "Last Visit";
-$l['postnum'] = "Post Count";
-$l['username_contains'] = "Username contains:";
-$l['no_user_results'] = "No users were found with the specified search criteria.";
-$l['edit_profile'] = "Edit Profile of {1}";
-$l['birthday'] = "Date of Birth:";
-$l['title'] = "User Title:";
-$l['profile_required'] = "Required Fields";
-$l['remove_avatar'] = "Remove user's avatar?";
-$l['profile_optional'] = "Optional Fields";
-$l['website_url'] = "Website URL:";
-$l['birthdate'] = "Birthdate:";
-$l['icq_number'] = "ICQ Number:";
-$l['aim_screenname'] = "AIM Screen Name:";
-$l['yahoo_id'] = "Yahoo ID:";
-$l['skype_id'] = "Skype ID:";
-$l['google_id'] = "Google Hangouts ID:";
-$l['away_notice'] = "This option will allow you to select whether you are away or not.";
-$l['additional_information'] = "Additional Information";
-$l['update_profile'] = "Update Profile";
-$l['custom_usertitle'] = "Custom User Title";
-$l['new_custom_usertitle'] = "New Custom User Title: (leave blank to use existing)";
-$l['custom_usertitle_note'] = "Here you can assign a custom user title which will overwrite the one based on users display group.";
-$l['default_usertitle'] = "Default User Title:";
-$l['current_custom_usertitle'] = "Current Custom User Title:";
-$l['revert_usertitle'] = "Revert to group default";
-$l['additional_contact_details'] = "Additional Contact Details";
-$l['current_username'] = "Username:";
-$l['away_information'] = "Away Information";
-$l['away_status'] = "Away Status:";
-$l['away_status_desc'] = "Allows you to leave an away message if you are going away for a while.";
-$l['im_away'] = "I'm Away";
-$l['im_here'] = "I'm Here";
-$l['away_reason'] = "Away Reason:";
-$l['away_reason_desc'] = "Allows you to enter a small description of why you are away (max 200 characters).";
-$l['return_date'] = "Return Date:";
-$l['return_date_desc'] = "If you know when you will be back, you can enter your return date here.";
-$l['error_modcp_return_date_past'] = "You cannot return in the past!";
-$l['usergroup'] = "Primary Group";
-$l['redirect_user_updated'] = "The users profile has successfully been updated.";
-$l['posts_awaiting_moderation'] = "Posts Awaiting Moderation";
-$l['threads_awaiting_moderation'] = "Threads Awaiting Moderation";
-$l['attachments_awaiting_moderation'] = "Attachments Awaiting Moderation";
-$l['mod_queue'] = "Moderation Queue";
-$l['approve'] = "Approve";
-$l['ignore'] = "Ignore";
-$l['perform_actions'] = "Perform Actions";
-$l['author'] = "Author";
-$l['threads'] = "Threads";
-$l['posts'] = "Posts";
-$l['filename'] = "Filename";
-$l['thread_post'] = "Thread / Post";
-$l['permanent'] = "Permanent";
-$l['ban_error'] = "Error";
-$l['ban_banned'] = "Banned Users";
-$l['ban_user'] = "Ban a User";
-$l['reason'] = "Reason";
-$l['ban_username'] = "Username:";
-$l['ban_reason'] = "Reason:";
-$l['ban_length'] = "Length";
-$l['ban_remaining'] = "remaining";
-$l['ban_ending_imminently'] = "Ban Ending Imminently";
-$l['ban_bannedby'] = "Banned By";
-$l['ban_movegroup'] = "Move to Banned Group:";
-$l['ban_liftafter'] = "Lift Ban After:";
-$l['no_banned'] = "There are currently no banned users.";
-$l['no_banned_group'] = "There are currently no banned groups.";
-$l['redirect_banuser'] = "The user has successfully been banned.";
-$l['redirect_banuser_updated'] = "The user's ban has successfully been updated.";
-$l['invalid_username'] = "The username you entered was invalid. Please ensure you enter a valid username.";
-$l['error_useralreadybanned'] = "This user is already banned. You cannot ban a user more than once.";
-$l['error_cannotbanuser'] = "You cannot ban this user because they have higher permissions than you. Please contact your administrator if you wish to ban this user.";
-$l['error_cannotbanself'] = "You cannot ban yourself. Please enter another username.";
-$l['error_no_perm_to_ban'] = "You do not have permission to ban this user.";
-$l['error_nobanreason'] = "You did not enter a reason for this ban. Please enter a valid reason below.";
-$l['error_nobangroup'] = "You did not select a valid group to move this user to.";
-$l['edit_ban'] = "Edit Ban";
-$l['lift_ban'] = "Lift Ban";
-$l['ban'] = "Ban";
-$l['error_invalidban'] = "You have selected an invalid ban.";
-$l['redirect_banlifted'] = "The ban has successfully been lifted.";
-$l['mark_all_ignored'] = "Mark all as ignored";
-$l['mark_all_deletion'] = "Mark all for deletion";
-$l['mark_all_approved'] = "Mark all as approved";
-$l['meta_forum'] = "Forum:";
-$l['meta_thread'] = "Thread:";
-$l['mod_queue_empty'] = "All of the moderation queues are currently empty.";
-$l['mod_queue_threads_empty'] = "The thread moderation queue is currently empty.";
-$l['mod_queue_posts_empty'] = "The posts moderation queue is currently empty.";
-$l['mod_queue_attachments_empty'] = "The attachment moderation queue is currently empty.";
-$l['redirect_threadsmoderated'] = "The selected threads have been moderated.";
-$l['redirect_postsmoderated'] = "The selected posts have been moderated.";
-$l['redirect_attachmentsmoderated'] = "The selected attachments have been moderated.";
-$l['multi_approve_posts'] = "Selected Posts Approved";
-$l['multi_delete_posts'] = "Selected Posts Deleted Permanently";
-$l['multi_soft_delete_posts'] = "Selected Posts Soft Deleted";
-$l['multi_approve_threads'] = "Selected Threads Approved";
-$l['multi_delete_threads'] = "Selected Threads Deleted Permanently";
-$l['multi_soft_delete_threads'] = "Selected Threads Soft Deleted";
-$l['edited_user'] = "Edited User's Profile";
-$l['edited_user_info'] = "User: {1} ";
-$l['edited_user_ban'] = "Edited User Ban";
-$l['banned_user'] = "Banned User";
-$l['lifted_ban'] = "Lifted User Ban";
-$l['no_bans_ending'] = "There are no bans ending soon.";
-
-$l['warning_logs'] = "Warning Logs";
-$l['warned_user'] = "Warned User";
-$l['warning'] = "Warning";
-$l['date_issued'] = "Date Issued";
-$l['expires'] = "Expires";
-$l['expiry_date'] = "Expiry Date";
-$l['issued_date'] = "Issued Date";
-$l['issued_by'] = "Issued By";
-$l['details'] = "Details";
-$l['filter_warning_logs'] = "Filter Warning Logs";
-$l['filter_warned_user'] = "Warned user:";
-$l['filter_issued_by'] = "Warning issued by:";
-$l['filter_reason'] = "Reason contains:";
-$l['view'] = "View";
-$l['no_warning_logs'] = "There are no warning logs to view.";
-$l['revoked'] = "Revoked ";
-$l['signature'] = "Signature";
-$l['suspend_signature'] = "Suspend this user's signature ";
-$l['suspend_length'] = "Suspension length:";
-$l['mod_notes'] = "Moderator Notes";
-$l['moderation'] = "Moderator Options";
-$l['moderate_posts'] = "Moderate this user's posts";
-$l['suspend_posts'] = "Suspend this user's posting privileges";
-$l['modpost_length'] = "Moderate for:";
-$l['suspost_length'] = "Suspend for:";
-
-$l['moderateposts_for'] = "Moderated until {1}. Untick this option to remove, or extend below.";
-$l['suspendposting_for'] = "Suspended until {1}. Untick this option to remove, or extend below.";
-$l['suspendsignature_for'] = "Suspended until {1}. Untick this option to remove, or extend below.";
-$l['suspendposting_perm'] = "Suspended permanently. Untick this option to remove, or change below.";
-$l['moderateposts_perm'] = "Moderated permanently. Untick this option to remove, or change below.";
-$l['suspendsignature_perm'] = "Suspended permanently. Untick this option to remove, or change below.";
-$l['suspendsignature_error'] = "You selected to suspend this user's signature, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['moderateposting_error'] = "You selected to moderate this user's posts, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['suspendposting_error'] = "You selected to suspend this user's posts, but didn't enter a valid time period. Please enter a valid time to continue or untick the option to cancel.";
-$l['suspendmoderate_error'] = "You've selected to suspend and moderate the user's posts. Please select only one type of moderation.";
-
-$l['expire_hours'] = "hour(s)";
-$l['expire_days'] = "day(s)";
-$l['expire_weeks'] = "week(s)";
-$l['expire_months'] = "month(s)";
-$l['expire_permanent'] = "Permanent";
-
-$l['manage_announcement'] = "Manage Announcements";
-$l['forum_announcements'] = "Forum Announcements";
-$l['announcement'] = "Announcement";
-$l['controls'] = "Controls";
-$l['expired_announcement'] = "Expired Announcement";
-$l['active_announcement'] = "Active Announcement";
-$l['active'] = "Active";
-$l['expired'] = "Expired";
-$l['edit'] = "Edit";
-$l['add_announcement'] = "Add Announcement";
-$l['edit_announcement'] = "Edit Announcement";
-$l['no_forum_announcements'] = "There are currently no forum announcements on your board.";
-$l['no_global_announcements'] = "There are currently no global announcements on your board.";
-$l['add_global_announcement'] = "Add Global Announcement";
-$l['global_announcements'] = "Global Announcements";
-$l['title'] = "Title";
-$l['start_date'] = "Start Date";
-$l['time'] = "Time:";
-$l['end_date'] = "End Date";
-$l['never'] = "Never";
-$l['allow_html'] = "Allow HTML";
-$l['allow_mycode'] = "Allow MyCode";
-$l['allow_smilies'] = "Allow Smilies";
-$l['reset'] = "Reset";
-$l['january'] = "January";
-$l['february'] = "February";
-$l['march'] = "March";
-$l['april'] = "April";
-$l['may'] = "May";
-$l['june'] = "June";
-$l['july'] = "July";
-$l['august'] = "August";
-$l['september'] = "September";
-$l['october'] = "October";
-$l['november'] = "November";
-$l['december'] = "December";
-$l['delete_announcement'] = "Delete Announcement";
-$l['confirm_delete_announcement'] = "Are you sure you want to delete this announcement?";
-$l['redirect_add_announcement'] = "The announcement has been created.";
-$l['redirect_edit_announcement'] = "The announcement has been edited.";
-$l['redirect_delete_announcement'] = "The announcement has been deleted.";
-$l['error_missing_title'] = "You did not enter a title.";
-$l['error_missing_message'] = "You did not enter a message.";
-$l['error_missing_forum'] = "You did not select a forum.";
-$l['error_invalid_start_date'] = "The starting date for the announcement is invalid.";
-$l['error_invalid_end_date'] = "The ending date for the announcement is invalid.";
-$l['error_end_before_start'] = "The ending date must be after the start date.";
-$l['error_invalid_announcement'] = "The specified announcement is invalid.";
-
-$l['announcement_added'] = "Announcement Added";
-$l['announcement_edited'] = "Announcement Edited";
-$l['announcement_deleted'] = "Announcement Deleted";
-
-$l['preview'] = 'Preview';
-
-$l['you_cannot_view_mod_logs'] = "You do not have sufficient permission to view the Moderator Logs.";
-$l['you_cannot_view_reported_posts'] = "You do not have sufficient permission to view Reported Posts.";
-$l['you_cannot_manage_announcements'] = "You do not have sufficient permission to manage Announcements.";
-$l['you_cannot_moderate_threads'] = "You do not have sufficient permission to moderate threads.";
-$l['you_cannot_moderate_posts'] = "You do not have sufficient permission to moderate posts.";
-$l['you_cannot_moderate_attachments'] = "You do not have sufficient permission to moderate attachments.";
-$l['you_cannot_use_mod_queue'] = "You do not have sufficient permission to use the Mod Queue.";
-
-$l['post'] = 'Post';
diff --git a/html/forums/inc/languages/english/moderation.lang.php b/html/forums/inc/languages/english/moderation.lang.php
deleted file mode 100644
index 34b2a9b..0000000
--- a/html/forums/inc/languages/english/moderation.lang.php
+++ /dev/null
@@ -1,221 +0,0 @@
-The thread on the right will be deleted and all posts will be merged in to this one.";
-$l['merge_posts'] = "Merge Posts";
-$l['merge_posts_note'] ="All selected posts will be merged in to the first selected post.";
-$l['move_copy_thread'] = "Move / Copy Thread";
-$l['new_forum'] = "New Forum:";
-$l['method'] = "Method";
-$l['method_move'] = "Move thread";
-$l['method_move_redirect'] = "Move thread and leave redirect in existing forum for days:";
-$l['redirect_expire_note'] = "(leave blank for 'infinite')";
-$l['method_copy'] = "Copy thread to the new forum";
-$l['split_thread_subject'] = "[split]";
-$l['split_thread'] = "Split Thread";
-$l['move_posts'] = "Move Posts";
-$l['thread_to_move_to'] = "Thread to move the posts to:";
-$l['move_post_note'] = "Copy the URL of the thread to move these posts to into the textbox on the right.";
-$l['new_thread_info'] = "New Thread Information";
-$l['posts_to_split'] = "Posts to Split";
-$l['thread_notes_editor'] = "Thread Notes Editor";
-$l['below_notes'] = "Below you can edit the notes for this thread.";
-$l['update_notes'] = "Update Thread Notes";
-$l['mod_logs'] = "Moderator Logs (showing last 20 actions)";
-$l['mod_username'] = "Username";
-$l['mod_date'] = "Date";
-$l['mod_actions'] = "Action";
-$l['mod_information'] = "Information";
-$l['read'] = "Read:";
-$l['thread'] = "Thread:";
-$l['post'] = "Post:";
-$l['forum'] = "Forum:";
-$l['confirm_execute_tool'] = "Execute Tool";
-$l['confirm_execute_tool_desc'] = "Are you sure you wish to execute the {1} custom moderation tool? Once a tool is executed it may not be able to revert the applied changes.";
-$l['delete_threads'] = "Delete Threads Permanently";
-$l['confirm_delete_threads'] = "Are you sure you wish to delete the selected threads? Once a thread has been deleted it cannot be restored and any posts, attachments or polls within that thread are also deleted.";
-$l['move_threads'] = "Move Threads";
-$l['confirm_delete_posts'] = "Are you sure you wish to delete the selected posts from the thread? Once they have been deleted they cannot be restored. If there are no posts left in the thread, the thread will also be deleted.";
-$l['post_separator'] = "Post Separator";
-$l['new_line'] = "New Line";
-$l['horizontal_rule'] = "Horizontal Rule";
-$l['resolve_fail'] = "N/A (Unable to resolve)";
-$l['time'] = "Time:";
-
-$l['opened'] = "Opened";
-$l['closed'] = "Closed";
-$l['stuck'] = "Stuck";
-$l['unstuck'] = "Unstuck";
-$l['mod_process'] = "Thread {1}";
-$l['redirects_removed'] = "Thread Redirects Removed";
-$l['thread_deleted'] = "Thread Deleted Permanently: {1}";
-$l['poll_deleted'] = "Poll Deleted: {1}";
-$l['thread_approved'] = "Thread Approved: {1}";
-$l['thread_unapproved'] = "Thread Unapproved: {1}";
-$l['thread_restored'] = "Thread Restored: {1}";
-$l['thread_soft_deleted'] = "Thread Soft Deleted: {1}";
-$l['deleted_selective_posts'] = "Deleted Selective Posts ({1})";
-$l['merged_selective_posts'] = "Merged Selective Posts";
-$l['split_selective_posts'] = "Split posts (PIDs: {1}) to thread (TID: {2})";
-$l['move_selective_posts'] = "Moved posts (PIDs: {1}) to thread (TID: {2})";
-$l['removed_subscriptions'] = "Removed All Subscriptions";
-$l['thread_moved'] = "Thread Moved";
-$l['thread_copied'] = "Thread Copied";
-$l['thread_merged'] = "Threads Merged";
-$l['thread_split'] = "Thread Split";
-$l['thread_notes_edited'] = "Thread Notes Edited";
-$l['multi_deleted_threads'] = "Threads Deleted Permanently";
-$l['multi_opened_threads'] = "Threads Opened";
-$l['multi_closed_threads'] = "Threads Closed";
-$l['multi_approved_threads'] = "Threads Approved";
-$l['multi_unapproved_threads'] = "Threads Unapproved";
-$l['multi_restored_threads'] = "Threads Restored";
-$l['multi_soft_deleted_threads'] = "Threads Soft Deleted";
-$l['multi_approve_posts'] = "Selected Posts Approved";
-$l['multi_unapprove_posts'] = "Selected Posts Unapproved";
-$l['multi_restore_posts'] = "Selected Posts Restored";
-$l['multi_soft_delete_posts'] = "Selected Posts Soft Deleted";
-$l['multi_stuck_threads'] = "Threads Stuck";
-$l['multi_unstuck_threads'] = "Threads Unstuck";
-$l['multi_moved_threads'] = "Threads Moved";
-$l['multi_copied_threads'] = "Threads Copied";
-$l['custom_tool'] = "Custom Moderator Tool: {1}";
-
-$l['delayed_moderation'] = "Delayed Moderation";
-$l['delayed_moderation_desc'] = "Here you can delay a moderation action for a selected number of days.";
-$l['threads'] = "Threads:";
-$l['threads_selected'] = "{1} thread(s) selected";
-$l['run_moderation_time'] = "Run moderation time:";
-$l['days'] = "day(s)";
-$l['moderation_action'] = "Moderation Action:";
-$l['open_close_thread'] = "Open/Close Thread";
-$l['remove_redirects'] = "Remove Redirects";
-$l['remove_subscriptions'] = "Remove Subscriptions";
-$l['approve_unapprove_thread'] = "Approve/Unapprove Thread";
-$l['softdelete_restore_thread'] = "Soft Delete/Restore Thread";
-$l['stick_unstick_thread'] = "Stick/Unstick Thread";
-$l['save_delayed_moderation'] = "Save Delayed Moderation";
-$l['custom'] = "custom";
-$l['delayed_mod_queue'] = "Delayed Moderation Queue";
-$l['days_to_perform_action'] = "Days to Perform Action";
-$l['leave_redirect'] = "Lead Redirect:";
-$l['multiple_threads'] = "Multiple Threads";
-$l['actions'] = "Actions";
-$l['cancel'] = "Cancel";
-$l['leave_redirect_for'] = "Leave redirect for:";
-$l['redirect_forever'] = "Forever";
-$l['view_notes_for'] = "Viewing Notes for {1}";
-
-$l['purgespammer'] = "Purge Spammer";
-$l['purgespammer_purge'] = "Purge spammer {1}";
-$l['purgespammer_purge_desc'] = "This will delete user's whole content (posts, private messages, events, etc.) and {1} them.";
-$l['purgespammer_ban'] = "ban";
-$l['purgespammer_delete'] = "delete";
-$l['purgespammer_submit'] = "Purge Spammer";
-$l['purgespammer_success'] = "The user has been purged.";
-$l['purgespammer_invalid_user'] = "You have specified an invalid user.";
-$l['purgespammer_modlog'] = "Purged Spammer";
-
-$l['error_invalidpm'] = "Invalid PM";
-$l['error_nomergeposts'] = "You need to select one or more posts to be able to merge posts together.";
-$l['error_cantsplitonepost'] = "You cannot split a thread that contains only one post.";
-$l['error_badmergeurl'] = "The URL for the thread to be merged seems to be invalid or empty. Please copy the exact URL into the textbox. Please go back and try again.";
-$l['error_badmovepostsurl'] = "The URL for the thread to move to seems to be invalid or empty. Please copy the exact URL into the textbox. Please go back and try again.";
-$l['error_inline_nothreadsselected'] = "Sorry, but you did not select any threads to perform inline moderation on, or your previous moderation session has expired (Automatically after 1 hour of inactivity). Please select some threads and try again.";
-$l['error_inline_nopostsselected'] = "Sorry, but you did not select any posts to perform inline moderation on, or your previous moderation session has expired (Automatically after 1 hour of inactivity). Please select some posts and try again.";
-$l['error_movetocategory'] = "This tool is trying to move the thread into a category. Please alter the tool and select a valid forum.";
-$l['error_cantsplitall'] = "You cannot split all of the posts out of this thread! If you did, what would be left in the thread?";
-$l['error_cantmoveall'] = "You cannot move all of the posts out of this thread! If you did, what would be left in the thread?";
-$l['error_nosplitposts'] = "You cannot split this thread as you did not select any posts to split from this thread.";
-$l['error_movetosameforum'] = "You cannot move this thread into the forum it is currently situated in. Please select a different forum.";
-$l['error_mergewithself'] = "Threads cannot be merged with themselves. Please go back and enter a valid URL.";
-$l['error_movetoself'] = "Posts cannot be moved to the thread they are in. Please go back and enter a valid URL.";
-$l['error_delayedmoderation_unsupported_type'] = "Sorry, but you did not select a valid type for this delayed moderation action.";
-$l['error_delayedmoderation_unsupported_method'] = "Sorry, but you did not select a valid move method for this delayed moderation action.";
-$l['error_delayedmoderation_invalid_date_day'] = "Sorry, but you did not select a valid delay date day for this delayed moderation action.";
-$l['error_delayedmoderation_invalid_date_month'] = "Sorry, but you did not select a valid delay date month for this delayed moderation action.";
-$l['error_delayedmoderation_invalid_date_year'] = "Sorry, but you did not select a valid delay date year for this delayed moderation action.";
-
-$l['redirect_pollnotdeleted'] = "The poll was not deleted because you did not check the \"Delete\" checkbox.";
-$l['redirect_polldeleted'] = "Thank you, the poll has successfully been removed from the thread. You will now be taken back to the thread.";
-$l['redirect_mergeposts'] = "The selected posts have now been merged together. You will now be returned to the thread.";
-$l['redirect_openthread'] = "Thank you, the thread has successfully been opened. You will now be returned to the thread.";
-$l['redirect_closethread'] = "Thank you, the thread has successfully been closed. You will now be returned to the thread.";
-$l['redirect_stickthread'] = "Thank you, the thread has successfully been stuck. You will now be returned to the thread.";
-$l['redirect_unstickthread'] = "Thank you, the thread has successfully been unstuck. You will now be returned to the thread.";
-$l['redirect_threaddeleted'] = "Thank you, the thread has been deleted permanently. You will now be returned to the forum.";
-$l['redirect_threadmoved'] = "The thread has been moved or copied to the selected forum successfully. You will now be returned to it.";
-$l['redirect_redirectsremoved'] = "All move redirects to this thread have now been removed. You will now be returned to the thread.";
-$l['redirect_threadapproved'] = "The thread has been approved successfully.";
-$l['redirect_threadunapproved'] = "The thread has been unapproved successfully.";
-$l['redirect_threadrestored'] = "The thread has been restored successfully.";
-$l['redirect_threadsoftdeleted'] = "The thread has been soft deleted successfully.";
-$l['redirect_threadsplit'] = "The thread has been split successfully. You will now be taken to the new thread.";
-$l['redirect_moveposts'] = "The posts have been moved successfully. You will now be taken to the new thread the posts are in.";
-$l['redirect_threadnotesupdated'] = "Thank you, the notes for this thread have successfully been updated. You will now be returned to the thread.";
-$l['redirect_threadsmerged'] = "Thank you, the two threads have successfully been merged together. You will now be taken to the new thread.";
-$l['redirect_inline_threadsdeleted'] = "The selected threads have been deleted permanently. You will now be returned to your previous location.";
-$l['redirect_inline_threadsopened'] = "The selected threads have been opened. You will now be returned to your previous location.";
-$l['redirect_inline_threadsclosed'] = "The selected threads have been closed. You will now be returned to your previous location.";
-$l['redirect_inline_threadsstuck'] = "The selected threads have been stuck. You will now be returned to your previous location.";
-$l['redirect_inline_threadsunstuck'] = "The selected threads have been unstuck. You will now be returned to your previous location.";
-$l['redirect_inline_threadsmoved'] = "The selected threads have been moved. You will now be taken to the new forum the threads are in.";
-$l['redirect_inline_threadsapproved'] = "The selected threads have been approved. You will now be returned to your previous location.";
-$l['redirect_inline_threadsunapproved'] = "The selected threads have been unapproved. You will now be returned to your previous location.";
-$l['redirect_inline_threadsrestored'] = "The selected threads have been restored. You will now be returned to your previous location.";
-$l['redirect_inline_threadssoftdeleted'] = "The selected threads have been soft deleted. You will now be returned to your previous location.";
-$l['redirect_inline_postsmerged'] = "The selected posts have been merged together. You will now be returned to your previous location.";
-$l['redirect_inline_postsapproved'] = "The selected posts have been approved. You will now be returned to your previous location.";
-$l['redirect_inline_postsunapproved'] = "The selected posts have been unapproved. You will now be returned to your previous location.";
-$l['redirect_inline_postsrestored'] = "The selected posts have been restored. You will now be returned to your previous location.";
-$l['redirect_inline_postssoftdeleted'] = "The selected posts have been soft deleted. You will now be returned to your previous location.";
-$l['redirect_postsdeleted'] = "The selected posts have been deleted permanently. You will now be returned to your previous location.";
-$l['redirect_removed_subscriptions'] = "All subscriptions for this thread have been removed successfully. You will now be returned to the thread.";
-$l['redirect_customtool_thread'] = "\"{1}\" moderation tool executed successfully. You will now be returned to the thread.";
-$l['redirect_customtool_forum'] = "\"{1}\" moderation tool executed successfully. You will now be returned to the forum.";
-$l['redirect_customtool_search'] = "\"{1}\" moderation tool executed successfully. You will now be returned to the search.";
-$l['redirect_delayed_moderation_thread'] = "The selected moderation tool has been saved and delayed till {1}. You will now be returned to the thread.";
-$l['redirect_delayed_moderation_forum'] = "The selected moderation tool has been saved and delayed till {1}. You will now be returned to the forum.";
-$l['redirect_delayed_moderation_search'] = "The selected moderation tool has been saved and delayed till {1}. You will now be returned to the search.";
-$l['redirect_delayed_moderation_cancelled'] = "The selected delayed moderation action has been canceled. You will now be returned to the delayed moderation page.";
diff --git a/html/forums/inc/languages/english/newreply.lang.php b/html/forums/inc/languages/english/newreply.lang.php
deleted file mode 100644
index 1cde563..0000000
--- a/html/forums/inc/languages/english/newreply.lang.php
+++ /dev/null
@@ -1,53 +0,0 @@
-Signature: include your signature. (registered users only)";
-$l['options_emailnotify'] = "Email Notification: receive an email whenever there is a new reply. (registered users only)";
-$l['options_disablesmilies'] = "Disable Smilies: disable smilies from showing in this post.";
-$l['post_reply'] = "Post Reply";
-$l['preview_post'] = "Preview Post";
-$l['mod_options'] ="Moderator Options:";
-$l['close_thread'] = "Close Thread : prevent further posting in this thread.";
-$l['stick_thread'] = "Stick Thread: stick this thread to the top of the forum.";
-$l['forum_rules'] = "{1} - Rules";
-$l['thread_review'] = "Thread Review (Newest First)";
-$l['thread_review_more'] = "This thread has more than {1} replies. Read the whole thread. ";
-$l['posted_by'] = "Posted by";
-$l['draft_saved'] = "The new post has successfully been saved as a draft. You will now be taken to your draft listing.";
-$l['error_post_already_submitted'] = "You have already posted this reply to the specified thread. Please visit the thread to see your reply.";
-$l['multiquote_external_one'] = "You have selected one post outside of this thread.";
-$l['multiquote_external'] = "You have selected {1} posts outside of this thread.";
-$l['multiquote_external_one_deselect'] = "deselect this post";
-$l['multiquote_external_deselect'] = "deselect these posts";
-$l['multiquote_external_one_quote'] = "Quote this post too";
-$l['multiquote_external_quote'] = "Quote these posts too";
-
-$l['redirect_newreply'] = "Thank you, your reply has been posted.";
-$l['redirect_newreply_moderation'] = "The administrator has specified that all new posts require moderation. You will now be returned to the thread.";
-$l['redirect_newreply_post'] = " You will now be taken to your post.";
-$l['redirect_newreplyerror'] = "Sorry, but your reply has been rejected for lack of content. You will now be returned to the thread.";
-$l['redirect_threadclosed'] = "You cannot post replies in this thread because it has been closed by a moderator.";
-$l['error_post_noperms'] = "You don't have permission to edit this draft.";
-
-
-$l['error_stop_forum_spam_spammer'] = 'Sorry, your {1} matches that of a known spammer. If you feel this is a mistake, please contact an administrator';
-$l['error_stop_forum_spam_fetching'] = 'Sorry, something went wrong verifying your reply against a spammer database. Most likely the database couldn\'t be accessed. Please try again later.';
-
-$l['error_suspendedposting'] = "Your posting privileges are currently suspended {1}.
-
-Suspension Date: {2}";
-$l['error_suspendedposting_temporal'] = "until {1}";
-$l['error_suspendedposting_permanent'] = "permanently";
-
diff --git a/html/forums/inc/languages/english/newthread.lang.php b/html/forums/inc/languages/english/newthread.lang.php
deleted file mode 100644
index d42990b..0000000
--- a/html/forums/inc/languages/english/newthread.lang.php
+++ /dev/null
@@ -1,54 +0,0 @@
-Signature: include your signature. (registered users only)";
-$l['options_emailnotify'] = "Email Notification: receive an email whenever there is a new reply. (registered users only)";
-$l['options_disablesmilies'] = "Disable Smilies: disable smilies from showing in this post.";
-$l['post_thread'] = "Post Thread";
-$l['preview_post'] = "Preview Post";
-$l['poll'] = "Poll:";
-$l['poll_desc'] = "Optionally you may attach a poll to this thread.";
-$l['poll_check'] = "I want to post a poll";
-$l['num_options'] = "Number of options:";
-$l['max_options'] = "(Maximum: {1})";
-$l['mod_options'] ="Moderator Options:";
-$l['close_thread'] = "Close Thread : prevent further posting in this thread.";
-$l['stick_thread'] = "Stick Thread: stick this thread to the top of the forum.";
-$l['draft_saved'] = "The new thread has successfully been saved as a draft. You will now be taken to your draft listing.";
-$l['error_post_already_submitted'] = "You have already posted this thread in this forum. Please visit the forum to see your thread.";
-$l['no_prefix'] = "No Prefix";
-$l['forum_rules'] = "{1} - Rules";
-
-$l['multiquote_external_one'] = "You have selected one post from another thread.";
-$l['multiquote_external'] = "You have selected {1} posts from other threads.";
-$l['multiquote_external_one_deselect'] = "deselect this post";
-$l['multiquote_external_deselect'] = "deselect these posts";
-$l['multiquote_external_one_quote'] = "Quote this post too";
-$l['multiquote_external_quote'] = "Quote these posts too";
-
-$l['redirect_newthread'] = "Thank you, your thread has been posted.";
-$l['redirect_newthread_poll'] = " You will now be taken to the poll options and configuration page.";
-$l['redirect_newthread_moderation'] = " The administrator has specified that all new threads require moderation. You will now be returned to the thread listing.";
-$l['redirect_newthread_unviewable'] = " You do not have permission to view threads in this forum. You will now be returned to the forum.";
-$l['redirect_newthread_thread'] = " You will now be taken to the new thread.";
-$l['invalidthread'] = "The specified draft does not exist or you don't have permission to view it.";
-
-$l['error_stop_forum_spam_spammer'] = 'Sorry, your {1} matches that of a known spammer. If you feel this is a mistake, please contact an administrator';
-$l['error_stop_forum_spam_fetching'] = 'Sorry, something went wrong verifying your thread against a spammer database. Most likely the database couldn\'t be accessed. Please try again later.';
-
-$l['error_suspendedposting'] = "Your posting privileges are currently suspended {1}.
-
-Suspension Date: {2}";
-$l['error_suspendedposting_temporal'] = "until {1}";
-$l['error_suspendedposting_permanent'] = "permanently";
-
diff --git a/html/forums/inc/languages/english/online.lang.php b/html/forums/inc/languages/english/online.lang.php
deleted file mode 100644
index c47e32d..0000000
--- a/html/forums/inc/languages/english/online.lang.php
+++ /dev/null
@@ -1,134 +0,0 @@
-{2}";
-$l['viewing_announcements2'] = "Viewing Announcement";
-$l['viewing_attachment'] = "Viewing Attachment";
-$l['viewing_attachment2'] = "Viewing Attachment in Thread {2} ";
-$l['viewing_calendar'] = "Viewing Calendar ";
-$l['viewing_event'] = "Viewing Event";
-$l['viewing_event2'] = "Viewing Event {2} ";
-$l['adding_event'] = "Adding Event ";
-$l['editing_event'] = "Editing Event";
-$l['viewing_contact_us'] = "Viewing Contact Us ";
-$l['editing_post'] = "Editing Post";
-$l['viewing_forum'] = "Viewing Forum";
-$l['viewing_forum2'] = "Viewing Forum {2} ";
-$l['forum_redirect_to'] = "Being Redirected To {2} ";
-$l['viewing_index'] = "{1} Main Index ";
-$l['activating_account'] = "Activating Account";
-$l['viewing_profile'] = "Viewing Profile";
-$l['viewing_profile2'] = "Viewing Profile of {2} ";
-$l['registering'] = "Registering ";
-$l['logging_in'] = "Logging In ";
-$l['logging_in_plain'] = "Logging In";
-$l['logging_out'] = "Logging Out";
-$l['emailing_user'] = "Emailing a User";
-$l['rating_user'] = "Rating User";
-$l['viewing_memberlist'] = "Viewing Member List ";
-$l['viewing_whoposted'] = "Viewing Who Posted";
-$l['viewing_whoposted2'] = "Viewing Who Posted in Thread {2} ";
-$l['marking_read'] = "Marking Forums as Read ";
-$l['viewing_helpdocs'] = "Viewing Help Documents ";
-$l['viewing_buddylist'] = 'Viewing Buddy List ';
-$l['viewing_smilies'] = "Viewing Smilie List ";
-$l['viewing_syndication'] = "Viewing RSS Syndication Page";
-$l['replying_thread'] = "Replying to Thread";
-$l['replying_thread2'] = "Replying to Thread {2} ";
-$l['posting_thread'] = "Posting New Thread";
-$l['posting_thread2'] = "Posting New Thread in {2} ";
-$l['viewing_wol'] = "Viewing Who's Online ";
-$l['viewing_woltoday'] = "Viewing Who Was Online Today ";
-$l['creating_poll'] = "Creating New Poll";
-$l['editing_poll'] = "Editing a Poll";
-$l['viewing_pollresults'] = "Viewing Poll Results";
-$l['voting_poll'] = "Voting on a Poll";
-$l['using_modtools'] = "Using Moderator Tools";
-$l['sending_pm'] = "Sending Private Message";
-$l['reading_pm'] = "Reading Private Message";
-$l['editing_pmfolders'] = "Editing PM Folders";
-$l['using_pmsystem'] = "Using PM System";
-$l['reporting_post'] = "Reporting a Post";
-$l['searching_forum'] = "Searching {1}";
-$l['reading_thread'] = "Reading Thread";
-$l['reading_thread2'] = "Reading Thread {2} {3}";
-$l['viewing_team'] = "Viewing Forum Team";
-$l['viewing_stats'] = "Viewing Forum Statistics";
-$l['updating_profile'] = "Updating Profile ";
-$l['updating_options'] = "Updating Options ";
-$l['editing_signature'] = "Editing Signature ";
-$l['changing_avatar'] = "Changing Avatar ";
-$l['viewing_subscriptions'] = "Viewing Thread Subscriptions ";
-$l['editing_pad'] = 'Editing Personal Pad ';
-$l['editing_password'] = "Editing Password ";
-$l['user_cp'] = "Viewing User Control Panel ";
-$l['viewing_portal'] = "Viewing Portal Page";
-$l['viewing_noperms'] = "Viewing No Permissions Page";
-$l['unknown_location'] = "Unknown Location ";
-$l['giving_reputation'] = "Giving Reputation to {2} ";
-$l['viewing_reputation_report'] = "Viewing {2}'s Reputation ";
-$l['viewing_reputation_report2'] = "Viewing Reputation";
-$l['member_resendactivation'] = "Resending Account Activation Email";
-$l['member_lostpw'] = "Retrieving Lost Password ";
-$l['sending_thread'] = "Sending a thread to a friend";
-$l['guest'] = "Guest";
-$l['page'] = "Page";
-$l['users_online'] = "Who's Online";
-$l['on_username'] = "Username";
-$l['time'] = "Time";
-$l['location'] = "Location";
-$l['online_today'] = "Who Was Online Today";
-$l['refresh_page'] = "Refresh this Page";
-$l['online_online_plural'] = "users";
-$l['online_online_singular'] = "user";
-$l['online_member_plural'] = "members";
-$l['online_member_singular'] = "member";
-$l['online_anon_plural'] = "are";
-$l['online_anon_singular'] = "is";
-$l['online_guest_plural'] = "guests";
-$l['online_guest_singular'] = "guest";
-$l['online_count'] = "{1} {2} active in the past {3} minutes ({4} {5}, {6} of whom {7} invisible, and {8} {9}).";
-$l['ip'] = "IP:";
-$l['resolves_to'] = "Host Name:";
-$l['if_resolvable'] = "(if resolvable)";
-$l['admin_options'] = "Admin Options";
-$l['search_regip_users'] = "Search for users who have registered with this IP";
-$l['search_postip_users'] = "Search for users who have posted with this IP";
-$l['lookup'] = "[Lookup]";
-$l['member_online_today'] = "1 Member Was Online Today";
-$l['members_were_online_today'] = "{1} Members Were Online Today";
-$l['member_online_hidden'] = " ({1} member was invisible)";
-$l['members_online_hidden'] = " ({1} members were invisible)";
-$l['rating_thread'] = "Rating thread";
-$l['viewing_imcenter'] = "Viewing IM Center";
-$l['managing_favorites'] = "Managing Favorite Threads";
-$l['managing_subscriptions'] = "Managing Subscribed Threads";
-$l['managing_group'] = "Managing a User Group";
-$l['viewing_modcp'] = "Viewing Moderator CP";
-$l['viewing_modlogs'] = "Viewing Moderator Logs";
-$l['managing_announcements'] = "Managing Announcements";
-$l['search_for_user'] = "Searching for users";
-$l['managing_warninglogs'] = "Managing Warning Logs";
-$l['searching_ips'] = "Searching IPs";
-$l['viewing_reports'] = "Viewing Reported Posts";
-$l['adding_announcement'] = "Adding an Announcement";
-$l['deleting_announcement'] = "Deleting an Announcement";
-$l['editing_announcement'] = "Editing an Announcement";
-$l['managing_modqueue'] = "Managing Moderation Queue";
-$l['editing_user_profiles'] = "Editing User Profiles";
-$l['managing_bans'] = "Managing Bans";
-$l['revoking_warning'] = "Revoking a warning";
-$l['warning_user'] = "Warning a user";
-$l['viewing_warning'] = "Viewing a warning";
-$l['managing_warnings'] = "Managing warnings";
-$l['changing_dst'] = "Changing DST Switch";
-$l['printing_thread'] = "Printing a Thread";
-$l['printing_thread2'] = "Printing Thread {2} ";
-$l['managing_buddyignorelist'] = "Managing Buddy/Ignore List";
diff --git a/html/forums/inc/languages/english/polls.lang.php b/html/forums/inc/languages/english/polls.lang.php
deleted file mode 100644
index 945ec39..0000000
--- a/html/forums/inc/languages/english/polls.lang.php
+++ /dev/null
@@ -1,60 +0,0 @@
-Note: Once this poll has been deleted there is no way of restoring it.";
-$l['question'] = "Question:";
-$l['num_options'] = "Number of Options:";
-$l['max_options'] = "Maximum:";
-$l['poll_options'] = "Poll Options:";
-$l['update_options'] = "Update Options";
-$l['poll_options_note'] = "Poll options should be short and to the point.";
-$l['options'] = "Options:";
-$l['option_multiple'] = "Allow multiple choice: Users have the ability to vote on more than one option.";
-$l['option_multiple_maxoptions'] = "Maximum number of options per user (0 for no limit):";
-$l['option_public'] = "Public Poll: Give users the ability to see which user voted on which option(s).";
-$l['option_closed'] = "Poll is Closed: If checked the poll will be closed from voting.";
-$l['poll_timeout'] = "Poll Timeout:";
-$l['timeout_note'] = "The number of day(s) which people can vote on this poll. (Set to 0 to if this poll should not timeout.)";
-$l['days_after'] = "days after:";
-$l['update_poll'] = "Update Poll";
-$l['option'] = "Option";
-$l['votes'] = "Votes:";
-$l['post_new_poll'] = "Post New Poll";
-$l['days'] = "days";
-$l['poll_results'] = "Poll Results";
-$l['poll_total'] = "Total:";
-$l['poll_votes'] = "vote(s)";
-
-$l['redirect_pollposted'] = "Your poll has been posted. You will now be returned to the thread.";
-$l['redirect_pollpostedmoderated'] = "Your poll has been posted, but your thread is still pending moderation. You will be returned to the forum.";
-$l['redirect_pollupdated'] = "The poll has been updated. You will now be returned to the thread.";
-$l['redirect_votethanks'] = "Thank you for voting. You will now be returned to the thread.";
-$l['redirect_unvoted'] = "Your vote(s) in this thread have been removed. You will now be returned to the thread.";
-$l['redirect_polldeleted'] = "Thank you, the poll has successfully been removed from the thread. You will now be taken back to the thread.";
-
-$l['error_polloptiontoolong'] = "One or more poll options you entered are longer than the acceptable limit. Please go back and shorten them.";
-$l['error_polloptionsequence'] = "One or more poll options you entered contain a sequence which should not be used in them: ||~|~|| . Please go back and remove it.";
-$l['error_noquestionoptions'] = "You either did not enter a question for your poll or do not have enough options. The minimum number of options a poll can have is 2. Please go back and correct this error.";
-$l['error_pollalready'] = "Thread already has poll!";
-$l['error_nopolloptions'] = "The specified poll option is invalid or does not exist.";
-$l['error_maxpolloptions'] = "You have voted for too many options. You are only allowed to vote for {1} options. Please go back and try again.";
-$l['error_alreadyvoted'] = "You have already voted in this poll.";
-$l['error_notvoted'] = "You haven't voted in this poll.";
-$l['error_invalidpoll'] = "The specified poll is invalid or does not exist.";
-$l['error_pollclosed'] = "You cannot vote in a poll that has been closed.";
-$l['poll_time_limit'] = "Sorry but you cannot add a poll to your thread. The Administrator has set it so that polls can only be added within {1} hours of posting.";
-
-$l['poll_deleted'] = "Deleted Poll";
-$l['poll_edited'] = "Edited Poll";
diff --git a/html/forums/inc/languages/english/portal.lang.php b/html/forums/inc/languages/english/portal.lang.php
deleted file mode 100644
index 477ed39..0000000
--- a/html/forums/inc/languages/english/portal.lang.php
+++ /dev/null
@@ -1,52 +0,0 @@
-{2} unread message(s).";
-$l['pms_unread'] = "Unread Messages";
-$l['pms_total'] = "Total Messages";
-$l['search_forums'] = "Search Forums";
-$l['advanced_search'] = "Advanced Search";
-$l['forum_stats'] = "Forum Statistics";
-$l['num_members'] = "Members:";
-$l['latest_member'] = "Latest member:";
-$l['num_threads'] = "Forum threads:";
-$l['num_posts'] = "Forum posts:";
-$l['full_stats'] = "Full Statistics";
-$l['welcome'] = "Welcome, {1}";
-$l['guest'] = "Guest";
-$l['guest_welcome_registration'] = "You have to register before you can post on our site.";
-$l['username'] = "Username";
-$l['password'] = "Password";
-$l['login'] = "Login!";
-$l['member_welcome_lastvisit'] = "Last visit:";
-$l['since_then'] = "Since then, there have been:";
-$l['new_announcements'] = "{1} new announcements";
-$l['new_announcement'] = "1 new announcement";
-$l['new_threads'] = "{1} new threads";
-$l['new_thread'] = "1 new thread";
-$l['new_posts'] = "{1} new posts";
-$l['new_post'] = "1 new post";
-$l['view_new'] = "View New Posts";
-$l['view_todays'] = "View Today's Posts";
-$l['online'] = "Online Users";
-$l['online_user'] = "There is currently 1 user online";
-$l['online_users'] = "There are currently {1} online users.";
-$l['online_counts'] = "{1} Member(s) | {2} Guest(s)";
-$l['print_this_item'] = "Print this item";
-$l['send_to_friend'] = "Send this item to a friend";
-$l['latest_announcements'] = "Latest Announcements";
-$l['portal_disabled'] = "You cannot use the portal functionality as it has been disabled by the Administrator.";
diff --git a/html/forums/inc/languages/english/printthread.lang.php b/html/forums/inc/languages/english/printthread.lang.php
deleted file mode 100644
index d6a9017..0000000
--- a/html/forums/inc/languages/english/printthread.lang.php
+++ /dev/null
@@ -1,11 +0,0 @@
-Note: Once these messages are deleted there is no way to recover them. ";
-$l['num_messages'] = "Message Count";
-$l['empty_q'] = "Empty Folder?";
-$l['keep_unread'] = "Keep Unread Messages";
-$l['pm_folders'] = "Private Messaging Folders";
-$l['existing_folders'] = "Existing Folders";
-$l['edit_folder_note'] = "You can change the names of your current private messaging folders here. To delete a folder, delete the name of the folder. Some folders cannot be removed.Note: Deleting a folder will also delete any messages in it. ";
-$l['new_folders'] = "Add New Folders";
-$l['add_folders_note'] = "Here you can create additional message folders. You do not have to fill in all of the text boxes.";
-$l['update_folders'] = "Update Folders";
-$l['cannot_be_removed'] = "Cannot be removed";
-$l['reached_warning'] = "Warning. You have reached your message limit.";
-$l['reached_warning2'] = "To be able to receive messages you will need to delete old messages.";
-$l['deny_receipt'] = "[Deny Receipt]";
-$l['viewing_pm'] = "Viewing PM:";
-$l['reply'] = "Reply";
-$l['reply_to_all'] = "Reply to All";
-$l['forward'] = "Forward";
-$l['compose_pm'] = "Compose a Private Message";
-$l['compose_to'] = "Recipients:";
-$l['compose_bcc'] = "BCC:";
-$l['compose_bcc_show'] = "BCC";
-$l['compose_bcc_show_title'] = "Show the BCC input box allowing you to blind carbon copy messages to other users.";
-$l['separate_names'] = "Separate multiple user names with a comma.";
-$l['max_recipients'] = " You may send this message to a maximum of {1} people.";
-$l['compose_subject'] = "Subject:";
-$l['compose_message'] = "Message:";
-$l['compose_options'] = "Options:";
-$l['message_icon'] = "Message Icon:";
-$l['options_sig'] = "Signature: include your signature in this message.";
-$l['options_disable_smilies'] = "Disable Smilies: disable smilies from showing in this message.";
-$l['options_save_copy'] = "Save a Copy: save a copy of this message in your Sent Items folder.";
-$l['options_read_receipt'] = "Request Read Receipt: receive a message when this message is read.";
-$l['send_message'] = "Send Message";
-$l['save_draft'] = "Save as Draft";
-$l['preview'] = "Preview";
-$l['select_buddy'] = "Or Select a Buddy:";
-$l['pm_tracking'] = "Private Message Tracking";
-$l['read_messages'] = "Read Messages";
-$l['unread_messages'] = "Unread Messages";
-$l['q'] = "?";
-$l['dateread'] = "Date Read";
-$l['stop_tracking'] = "Stop Tracking";
-$l['datesent'] = "Date Sent";
-$l['cancel'] = "Cancel";
-$l['export_date_sent'] = "Date";
-$l['export_folder'] = "Folder";
-$l['export_subject'] = "Subject";
-$l['export_to'] = "To";
-$l['export_from'] ="From";
-$l['export_message'] = "Message";
-$l['not_sent'] = "N/A (not sent)";
-$l['at'] = "at";
-$l['nomessages'] = "There are no private messages in this folder.";
-$l['details'] = "Details";
-$l['message'] = "Message";
-$l['buddy_list'] = "Buddy List";
-$l['multiple_recipients'] = "Multiple recipients ";
-$l['bcc'] = "BCC:";
-$l['reply_title'] = "Reply to this private message";
-$l['forward_title'] = "Forward this private message to another user";
-$l['delete_title'] = "Delete this private message";
-$l['you_replied_on'] = "You replied to this message on {1}";
-$l['you_forwarded_on'] = "You forwarded this message on {1}";
-$l['you_replied'] = "You replied to this message {1}";
-$l['you_forwarded'] = "You forwarded this message {1}";
-$l['select_from_buddies'] = "Select from Buddies";
-$l['no_readmessages'] = "You currently do not have any read messages being tracked.";
-$l['no_unreadmessages'] = "You currently do not have any unread messages being tracked.";
-$l['stop_tracking_all'] = "Stop Tracking all messages";
-
-$l['enter_keywords'] = "Enter Keywords";
-$l['advanced_search'] = "Advanced Search";
-$l['search_pms'] = "Search PMs";
-$l['advanced_private_message_search'] = "Advanced Private Message Search";
-$l['search_criteria'] = "Search Criteria";
-$l['keywords'] = "Keywords";
-$l['search_in_subject'] = "Search in Subject";
-$l['search_in_message'] = "Search in Message";
-$l['message_status'] = "Message Status";
-$l['message_status_new'] = "New";
-$l['message_status_replied_to'] = "Replied to";
-$l['message_status_forwarded'] = "Forwarded";
-$l['message_status_read'] = "Read";
-$l['folder'] = "Folder";
-$l['search_options'] = "Search Options";
-$l['sort_by'] = "Sort By";
-$l['sort_by_subject'] = "Sort By: Subject";
-$l['sort_by_sender'] = "Sort By: Sender";
-$l['sort_by_date'] = "Sort By: Date";
-$l['ascending_order'] = "Ascending Order";
-$l['descending_order'] = "Descending Order";
-$l['search_private_messages'] = "Search Private Messages";
-$l['check_all'] = "Check All";
-
-$l['error_nopmsarchive'] = "Sorry, but there are no private messages matching the criteria you specified.";
-$l['error_invalidpmfoldername'] = "Sorry, but a folder name you have entered contains characters which are not allowed.";
-$l['error_emptypmfoldername'] = "Sorry, but a folder name you have entered does not contain any text. Please enter a name for the folder, or completely blank the name to delete the folder.";
-$l['error_invalidpmrecipient'] = "The recipient you entered is either invalid or doesn't exist. Please go back and enter a correct one.";
-$l['error_invalidpm'] = "Invalid PM";
-$l['error_pmrecipientreachedquota'] = "You cannot send a private message to {1} because he/she has reached their private messaging quota. They cannot be sent any message until their messages have been cleared out. An email has been sent to the user about this. Please try sending your message at a later stage.";
-$l['error_recipientpmturnedoff'] = "{1} has chosen not to receive private messages or may not be allowed to do so. Therefore you may not send your private message to this user.";
-$l['error_pmsturnedoff'] = "You currently have private messages disabled in your profile. To be able to use the private messaging system this setting must be enabled.";
-$l['error_recipientignoring'] = "We are sorry but we cannot process your private message to {1}. You do not have permission to perform this action.";
-$l['error_pm_already_submitted'] = "You have already submitted the same private message to the same recipient within the last 5 hours.";
-$l['error_nopms'] = "You must have one or more private messages in order to access this function.";
-
-$l['error_minsearchlength'] = "One or more of your search terms were shorter than the minimum length. The minimum search term length is {1} characters. If you're trying to search for an entire phrase, enclose it within double quotes. For example \"The quick brown fox jumps over the lazy dog\".";
-$l['error_nosearchresults'] = "Sorry, but no results were returned using the query information you provided. Please redefine your search terms and try again.";
-$l['error_no_search_support'] = "This database engine does not support searching.";
-$l['error_nosearchterms'] = "You did not enter any search terms. At a minimum, you must enter either some search terms or a username to search by.";
-$l['error_searchflooding_1'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another 1 second before attempting to search again.";
-$l['error_searchflooding'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another {2} seconds before attempting to search again.";
-$l['error_invalidsearch'] = "An invalid search was specified. Please go back and try again.";
-
-$l['redirect_pmsaved'] = "The private message has been saved in your Drafts folder.";
-$l['redirect_pmstrackingstopped'] = "Tracking of the selected PMs has been stopped.";
-$l['redirect_pmstrackingcanceled'] = "The selected unread PMs have been deleted from the recipient's inbox.";
-$l['redirect_allpmstrackingstopped'] = "Tracking of all read PMs has been stopped.";
-$l['redirect_pmsmoved'] = "The selected private messages have been moved.";
-$l['redirect_pmsdeleted'] = "The selected private messages have been deleted.";
-$l['redirect_pmsent'] = "Thank you, your private message has successfully been sent. You will now be returned to your private message inbox.";
-$l['redirect_pmfoldersupdated'] = "Thank you, your private messaging folders have successfully been updated. You will now be returned to your private message Inbox.";
-$l['redirect_pmfoldersemptied'] = "The selected private messaging folders have successfully been emptied. You will now be taken back to your Private Messaging Inbox.";
-$l['redirect_searchresults'] = "Thank you, your search has been submitted and you will now be taken to the results list.";
-
-$l['quick_reply'] = "Quick Reply";
-$l['message_note'] = "Type your reply to this message here.";
-$l['send_reply'] = "Send Reply";
-$l['quickreply_signature'] = "Signature";
-$l['quickreply_disable_smilies'] = "Disable Smilies";
-$l['quickreply_save_copy'] = "Save a Copy";
-$l['quickreply_read_receipt'] = "Request Read Receipt ";
-
diff --git a/html/forums/inc/languages/english/ratethread.lang.php b/html/forums/inc/languages/english/ratethread.lang.php
deleted file mode 100644
index 275d261..0000000
--- a/html/forums/inc/languages/english/ratethread.lang.php
+++ /dev/null
@@ -1,20 +0,0 @@
-A member of the forum team will check your report soon.";
-
-$l['error_report_length'] = "Please provide a detailed reason for your report.";
-$l['error_invalid_report'] = "This content either does not exist or is not able to be reported.";
-$l['error_invalid_report_reason'] = "The selected reason is invalid.";
-$l['error_comment_required'] = "An additional comment is required for the selected reason.";
-$l['error_report_duplicate'] = "This content has already been reported by another member. You may also report this content below.";
-$l['report_reason_other_description'] = "Please provide more information about why you are reporting this content.";
diff --git a/html/forums/inc/languages/english/reputation.lang.php b/html/forums/inc/languages/english/reputation.lang.php
deleted file mode 100644
index a85e8d7..0000000
--- a/html/forums/inc/languages/english/reputation.lang.php
+++ /dev/null
@@ -1,82 +0,0 @@
-";
-$l['neg_rep_disabled'] = "* - Negative reputation is currently disabled ";
-$l['pos_rep_disabled'] = "* - Positive reputation is currently disabled ";
-$l['neu_rep_disabled'] = "* - Neutral reputation is currently disabled ";
-$l['no_comment_needed'] = "You're adding reputation because of this user's post, which is linked in their profile. A comment isn't needed, but if you want to leave one, please enter it below. ";
-$l['no_comment'] = "[No comment]";
-$l['vote_added'] = "Rating Added";
-$l['vote_updated'] = "Rating Updated";
-$l['vote_deleted'] = "Rating Deleted";
-$l['vote_added_message'] = "Your reputation rating has successfully been added for this user.";
-$l['vote_updated_message'] = "Your reputation rating has successfully been updated for this user.";
-$l['vote_deleted_message'] = "The reputation rating has been deleted from this user.";
-$l['update_reputation_vote'] = "Update your reputation rating for {1}";
-$l['positive'] = "Positive";
-$l['negative'] = "Negative";
-$l['neutral'] = "Neutral";
-$l['user_comments'] = "Your comments on {1}:";
-$l['add_vote'] = "Add Rating";
-$l['update_vote'] = "Update Rating";
-$l['delete_vote'] = "Delete";
-$l['report_vote'] = "Report";
-$l['power_positive'] = "Positive ({1})";
-$l['power_neutral'] = "Neutral";
-$l['power_negative'] = "Negative ({1})";
-$l['show_all'] = "Show: All Votes";
-$l['show_positive'] = "Show: Positive Ratings";
-$l['show_neutral'] = "Show: Neutral Ratings";
-$l['show_negative'] = "Show: Negative Ratings";
-$l['sort_updated'] = "Sort by: Last Updated";
-$l['sort_username'] = "Sort by: Username";
-$l['last_updated'] = "Last updated {1}";
-$l['postrep_given'] = "Rating given for {2}'s post {3} ";
-$l['postrep_given_nolink'] = "Rating given for {1}'s post ";
-$l['postrep_given_thread'] = "in {2} ";
-$l['no_reputation_votes'] = "This user currently does not have any reputation ratings with the specified criteria below.";
-$l['delete_reputation_confirm'] = "Are you sure you wish to delete this reputation Rating?";
-$l['delete_reputation_log'] = "Deleted reputation rating by {1} (UID: {2})";
-$l['reputations_disabled_group'] = "The reputation system is disabled for users of this user group.";
-$l['rate_user'] = "Rate User";
diff --git a/html/forums/inc/languages/english/search.lang.php b/html/forums/inc/languages/english/search.lang.php
deleted file mode 100644
index e060e2f..0000000
--- a/html/forums/inc/languages/english/search.lang.php
+++ /dev/null
@@ -1,112 +0,0 @@
-{1} results on this page are selected.";
-$l['all_selected'] = "All {1} results in this search are selected.";
-$l['select_all'] = "Select all {1} results in this search.";
-$l['clear_selection'] = "Clear Selection.";
-
-$l['results'] = "results";
-$l['mod_options'] = "Moderator Options";
-$l['display_all'] = "Display all";
-$l['display_only_approved'] = "Display only approved";
-$l['display_only_unapproved'] = "Display only unapproved";
-$l['display_only_softdeleted'] = "Display only soft deleted";
-
-$l['redirect_searchresults'] = "Thank you, your search has been submitted and you will now be taken to the results list.";
-
-$l['error_minsearchlength'] = "One or more of your search terms were shorter than the minimum length. The minimum search term length is {1} characters. If you're trying to search for an entire phrase, enclose it within double quotes. For example \"The quick brown fox jumps over the lazy dog\".";
-$l['error_nosearchresults'] = "Sorry, but no results were returned using the query information you provided. Please redefine your search terms and try again.";
-$l['error_no_search_support'] = "This database engine does not support searching.";
-$l['error_nosearchterms'] = "You did not enter any search terms. At a minimum, you must enter either some search terms or a username to search by.";
-$l['error_searchflooding_1'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another 1 second before attempting to search again.";
-$l['error_searchflooding'] = "Sorry, but you can only perform one search every {1} seconds. Please wait another {2} seconds before attempting to search again.";
-$l['error_invalidsearch'] = "An invalid search was specified. Please go back and try again.";
diff --git a/html/forums/inc/languages/english/sendthread.lang.php b/html/forums/inc/languages/english/sendthread.lang.php
deleted file mode 100644
index 6846518..0000000
--- a/html/forums/inc/languages/english/sendthread.lang.php
+++ /dev/null
@@ -1,17 +0,0 @@
-Note: This is a public poll, other users will be able to see what you voted for.";
-$l['total'] = "Total";
-$l['vote'] = "Vote!";
-$l['total_votes'] = "{1} vote(s)";
-$l['you_voted'] = "* You voted for this item.";
-$l['poll_closed'] = "This poll is closed.";
-$l['poll_closes'] = "This poll will close on: {1}";
-$l['already_voted'] = "You have already voted in this poll.";
-$l['undo_vote'] = "Undo vote";
-$l['quick_reply'] = "Quick Reply";
-$l['message_note'] = "Type your reply to this message here.";
-$l['signature'] = "Signature";
-$l['email_notify'] = "Email Notification";
-$l['disable_smilies'] = "Disable Smilies";
-$l['post_reply'] = "Post Reply";
-$l['post_reply_img'] = "Post Reply";
-$l['new_reply'] = "New Reply";
-$l['search_button'] = 'Search';
-$l['post_thread'] = "Post Thread";
-$l['preview_post'] = "Preview Post";
-$l['rating_average'] = "{1} Vote(s) - {2} Average";
-$l['rate_thread'] = "Rate This Thread:";
-$l['thread_rating'] = "Thread Rating:";
-$l['similar_threads'] = "Possibly Related Threads...";
-$l['thread'] = "Thread";
-$l['replies'] = "Replies";
-$l['views'] = "Views";
-$l['lastpost'] = "Last Post";
-$l['messages_in_thread'] = "Messages In This Thread";
-$l['users_browsing_thread'] = "Users browsing this thread:";
-$l['users_browsing_thread_guests'] = "{1} Guest(s)";
-$l['users_browsing_thread_invis'] = "{1} Invisible User(s)";
-$l['users_browsing_thread_reading'] = "Reading...";
-$l['inline_soft_delete_posts'] = "Soft Delete Posts";
-$l['inline_restore_posts'] = "Restore Posts";
-$l['inline_delete_posts'] = "Delete Posts Permanently";
-$l['inline_merge_posts'] = "Merge Posts";
-$l['inline_split_posts'] = "Split Posts";
-$l['inline_move_posts'] = "Move Posts";
-$l['inline_approve_posts'] = "Approve Posts";
-$l['inline_unapprove_posts'] = "Unapprove Posts";
-$l['inline_post_moderation'] = "Inline Post Moderation:";
-$l['inline_go'] = "Go";
-$l['clear'] = "Clear";
-$l['thread_closed'] = "Thread Closed";
-$l['no_subject'] = "No subject";
-$l['error_nonextnewest'] = "There are no threads that are newer than the one you were previously viewing.";
-$l['error_nonextoldest'] = "There are no threads that are older than the one you were previously viewing.";
-$l['quickreply_multiquote_selected'] = "You have selected one or more posts to quote.";
-$l['quickreply_multiquote_now'] = "Quote these posts now";
-$l['or'] ="or";
-$l['quickreply_multiquote_deselect'] = "deselect them";
-$l['search_thread'] = "Search Thread";
-$l['enter_keywords'] = "Enter Keywords";
-$l['view_thread_notes'] = "Thread Notes";
-$l['view_all_notes'] = "View All Notes";
-
-$l['save_changes'] = 'Save Changes';
-$l['cancel_edit'] = 'Cancel Edit';
-$l['quick_edit_update_error'] = 'There was an error editing your reply:';
-$l['quick_reply_post_error'] = 'There was an error posting your reply:';
-$l['quick_delete_error'] = 'There was an error deleting your reply:';
-$l['quick_delete_success'] = 'The post was deleted successfully.';
-$l['quick_delete_thread_success'] = 'The thread was deleted successfully.';
-$l['quick_restore_error'] = 'There was an error restoring your reply:';
-$l['quick_restore_success'] = 'The post was restored successfully.';
-
diff --git a/html/forums/inc/languages/english/stats.lang.php b/html/forums/inc/languages/english/stats.lang.php
deleted file mode 100644
index 4a27064..0000000
--- a/html/forums/inc/languages/english/stats.lang.php
+++ /dev/null
@@ -1,37 +0,0 @@
-{1} ({2} posts)";
-$l['popular_forum'] = "Most popular forum: {1} ({2} posts, {3} threads)";
-$l['most_popular'] = "Most Popular...";
-$l['most_replied_threads'] = "Most Replied To Threads";
-$l['most_viewed_threads'] = "Most Viewed Threads";
-$l['not_enough_info_stats'] = "Sorry, but there is not enough information on this board to generate statistics. Before statistics can be generated this board needs to contain at least 1 member and 1 thread.";
-$l['replies'] = "replies";
-$l['views'] = "views";
-$l['top_referrer'] = "Top referrer: {1} ({2} referrals)";
-
diff --git a/html/forums/inc/languages/english/syndication.lang.php b/html/forums/inc/languages/english/syndication.lang.php
deleted file mode 100644
index dc78f8a..0000000
--- a/html/forums/inc/languages/english/syndication.lang.php
+++ /dev/null
@@ -1,13 +0,0 @@
-The main page has information on your account.";
-$l['account_summary'] = "Your Account Summary";
-$l['username'] = "Username:";
-$l['user_id'] = "User ID:";
-$l['title'] = "User Title:";
-$l['postnum'] = "Posts:";
-$l['posts_day'] = "({1} per day | {2} percent of total posts)";
-$l['additional_contact_details'] = "Additional Contact Information";
-$l['email'] = "Email:";
-$l['reputation'] = "Reputation:";
-$l['website'] = "Website:";
-$l['usergroup'] = "User Group:";
-$l['birthday'] = "Date of Birth:";
-$l['birthdayprivacy'] = "Date of Birth Privacy:";
-$l['birthdayprivacyall'] = "Display Age and Date of Birth";
-$l['birthdayprivacynone'] = "Hide Age and Date of Birth";
-$l['birthdayprivacyage'] = "Display Only Age";
-$l['avatar'] = "Avatar:";
-$l['avatar_mine'] = "This is your Avatar";
-$l['change_avatar'] = "Change Avatar";
-$l['avatar_url'] = "Avatar URL:";
-$l['avatar_url_note'] = "Enter the URL of an avatar on the internet.";
-$l['avatar_url_gravatar'] = "To use a Gravatar enter your Gravatar email.";
-$l['avatar_upload'] = "Upload Avatar:";
-$l['avatar_upload_note'] = "Choose an avatar on your local computer to upload.";
-$l['no_avatar'] = "No Avatar";
-$l['no_avatar_note'] = "Select this option if you don't want an avatar.";
-$l['change_username'] = "Change Username";
-$l['new_username'] = "New Username:";
-$l['update_username'] = "Update Username";
-$l['edit_lists'] = "Edit Buddy and Ignore Lists";
-$l['edit_buddy_list'] = "Edit Buddy List";
-$l['edit_ignore_list'] = "Edit Ignore List";
-$l['users_added_to_ignore_list'] = "The selected user(s) have been added to your ignore list";
-$l['users_added_to_buddy_list'] = "The selected user(s) have been added to your buddy list";
-$l['removed_from_ignore_list'] = "{1} has been removed from your ignore list";
-$l['removed_from_buddy_list'] = "{1} has been removed from your buddy list";
-$l['cant_add_self_to_ignore_list'] = "You cannot add yourself to your ignore list.";
-$l['cant_add_self_to_buddy_list'] = "You cannot add yourself to your buddy list.";
-$l['users_already_on_ignore_list'] = "One or more users you added are already on your ignore list.";
-$l['users_already_on_ignore_list_alt'] = "One or more users you added is on your buddy list. Please remove them as a buddy before ignoring them.";
-$l['users_already_on_buddy_list'] = "One or more users you added are already on your buddy list.";
-$l['users_already_on_buddy_list_alt'] = "One or more users you added is on your ignore list. Please remove them from the list before adding them as a buddy.";
-$l['invalid_user_selected'] = "One or more of the selected users were not found.";
-$l['ignore_list_empty'] = "Your ignore list is currently empty. To add one or more users to your ignore list, please use the field above.";
-$l['buddy_list_empty'] = "Your buddy list is currently empty. To add one or more users to your buddy list, please use the field above.";
-$l['confirm_remove_buddy'] = "Remove this user from your buddy list?";
-$l['confirm_remove_ignored'] = "Remove this user from your ignore list?";
-$l['adding_buddy'] = "Adding Buddy..";
-$l['adding_ignored'] = "Adding to Ignored..";
-$l['add_buddies'] = "Add Users to your Buddy List";
-$l['add_buddies_desc'] = "To add one or more users to your buddy list, enter their usernames below. Separate multiple usernames with a comma.";
-$l['username_or_usernames'] = "Username(s):";
-$l['add_to_buddies'] = "Add to Buddies";
-$l['current_buddies'] = "You currently have {1} user(s) on your buddy list";
-$l['add_ignored_users'] = "Add Users to your Ignore List";
-$l['add_ignored_users_desc'] = "To ignore posts and private messages from specific users, enter their username below. You can separate multiple names with a comma.";
-$l['ignore_users'] = "Ignore User(s)";
-$l['current_ignored_users'] = "You currently have {1} user(s) on ignore";
-$l['online'] = "Online";
-$l['offline'] = "Offline";
-$l['remove_from_list'] = "Remove from list";
-$l['edit_sig'] = "Edit Signature";
-$l['edit_sig_note'] = "Here you can enter a short message which will be automatically appended to the bottom of your posts.";
-$l['edit_sig_note2'] = "Smilies are {1}. MyCode is {2}. [img] tags are {3}. HTML is {4}. Max. length is {5} characters.";
-$l['edit_sig_error_title'] = "An error has occurred:";
-$l['edit_sig_no_permission'] = "You do not have permission to edit your signature.";
-$l['characters_remaining'] = "characters remaining";
-$l['enable_sig_posts'] = "Enable my signature in all of my existing posts.";
-$l['disable_sig_posts'] = "Disable my signature in all of my existing posts.";
-$l['leave_sig_settings'] = "No action.";
-$l['update_sig'] = "Update Signature";
-$l['preview'] = "Preview Signature";
-$l['current_sig'] = "Your Current Signature";
-$l['sig_preview'] = "Signature Preview";
-
-$l['sig_suspended'] = "Your ability to add a signature has been suspended.";
-$l['sig_suspended_posts'] = "You must have at least {1} posts before adding a signature.";
-
-$l['change_email'] = "Change Email Address";
-$l['please_enter_confirm_new_email'] = "Please Enter and Confirm Your New Email Address";
-$l['new_email'] = "New Email Address:";
-$l['confirm_email'] = "Confirm Email Address:";
-$l['update_email'] = "Update Email Address";
-$l['thread'] = "Thread";
-$l['author'] = "Author";
-$l['replies'] = "Replies";
-$l['views'] = "Views";
-$l['lastpost'] = "Last Post";
-$l['post_reply'] = "Post Reply";
-$l['forum_subscriptions'] = "Forum Subscriptions";
-$l['posts'] = "Posts";
-$l['forum'] = "Forum";
-$l['threads'] = "Threads";
-$l['unsubscribe'] = "Unsubscribe";
-$l['new_thread'] = "New Thread";
-$l['personal_notepad'] = "Personal Notepad";
-$l['update_notepad'] = "Update Notepad";
-$l['edit_options'] = "Edit Options";
-$l['login_cookies_privacy'] = "Privacy";
-$l['invisible_mode'] = "Hide me from the Who's Online list.";
-$l['invisible_mode_desc'] = "Selecting yes will hide you from the online users list.";
-$l['messaging_notification'] = "Messaging and Notification";
-$l['allow_notices'] = "Receive emails from the Administrators.";
-$l['allow_notices_desc'] = "Selecting yes will allow Administrators to send you notices and board newsletters.";
-$l['allow_emails'] = "Hide your email from other members.";
-$l['allow_emails_desc'] = "Selecting yes will allow other members to send you emails through this board.";
-$l['email_notify'] = "Automatically subscribe to threads you post in.";
-$l['email_notify_desc'] = "Selecting yes will automatically subscribe you to threads when you make a post in them.";
-$l['receive_pms'] = "Receive private messages from other users.";
-$l['receive_pms_desc'] = "Enables you to send and receive Private Messages.";
-$l['receive_from_buddy'] = "Only receive private messages from users on my Buddy List . This setting has no effect unless there is at least one buddy on the list.";
-$l['pm_notice'] = "Alert me with a notice when I receive a Private Message.";
-$l['pm_notify'] = "Notify me by email when I receive a new Private Message.";
-$l['show_codebuttons'] = "Show the MyCode formatting options on the posting pages.";
-$l['source_editor'] = "Put the editor in source mode by default";
-$l['show_redirect'] = "Show friendly redirect pages.";
-$l['thread_view_options'] = "Thread View Options";
-$l['thread_mode'] = "Thread View Mode:";
-$l['thread_mode_desc'] = "The style of threads shown to you. Selecting 'Use Default' will use the boards default mode.";
-$l['use_default'] = "Use Default";
-$l['threaded'] = "Threaded";
-$l['linear'] = "Linear";
-$l['show_classic_postbit'] = "Display posts in classic mode.";
-$l['show_images'] = "Display images in posts.";
-$l['show_videos'] = "Display videos in posts.";
-$l['show_sigs'] = "Display users' signatures in their posts.";
-$l['show_sigs_desc'] = "Do you want to view user's signatures in their posts?";
-$l['show_avatars'] = "Display users' avatars in their posts.";
-$l['show_avatars_desc'] = "Do you want to view user's avatars in their posts?";
-$l['show_quick_reply'] = "Show the quick reply box on the view thread page.";
-$l['show_quick_reply_desc'] = "The quick reply box enables you to make a 'quick reply' to threads using the reply box provided at the end of a thread";
-$l['forum_display_options'] = "Forum Display Options";
-$l['thread_view'] = "Default Thread View:";
-$l['thread_view_lastday'] = "Show threads from last day";
-$l['thread_view_5days'] = "Show threads from last 5 days";
-$l['thread_view_10days'] = "Show threads from last 10 days";
-$l['thread_view_20days'] = "Show threads from last 20 days";
-$l['thread_view_50days'] = "Show threads from last 50 days";
-$l['thread_view_75days'] = "Show threads from last 75 days";
-$l['thread_view_100days'] = "Show threads from last 100 days";
-$l['thread_view_year'] = "Show threads from the last year";
-$l['thread_view_all'] = "Show all threads";
-$l['date_time_options'] = "Date and Time Options";
-$l['date_format'] = "Date Format:";
-$l['date_format_desc'] = "The format that dates will be shown in.";
-$l['time_format'] = "Time Format:";
-$l['time_format_desc'] = "The format that times will be shown in.";
-$l['time_offset'] = "Time Zone (DST correction excluded):";
-$l['time_offset_desc'] = "If you live in a time zone which differs to what this board is set at, you can select it from the list below.";
-$l['gmt'] = "GMT";
-$l['dst_correction'] = "Daylight Saving Time correction:";
-$l['dst_correction_auto'] = "Automatically detect DST settings";
-$l['dst_correction_enabled'] = "Always use DST correction";
-$l['dst_correction_disabled'] = "Never use DST correction";
-$l['board_language'] = "Board Language";
-$l['other_options'] = "Other Options";
-$l['style'] = "Board Style:";
-$l['style_desc'] = "If you don't like the default style of this board you can change how you view it here.";
-$l['update_options'] = "Update Options";
-$l['tpp_option'] = "Show {1} threads per page";
-$l['ppp_option'] = "Show {1} posts per page";
-$l['ppp'] = "Posts Per Page:";
-$l['ppp_desc'] = "Allows you to select the amount of posts to be shown per page in a thread.";
-$l['tpp'] = "Threads Per Page:";
-$l['tpp_desc'] = "Allows you to select the amount of threads to be shown per page in the thread listing.";
-$l['change_password'] = "Change Password";
-$l['current_password'] = "Current Password:";
-$l['password_confirmation'] = "Password Confirmation";
-$l['please_enter_confirm_new_password'] = "Please Enter and Confirm Your New Password";
-$l['new_password'] = "New Password:";
-$l['confirm_password'] = "Confirm Password:";
-$l['update_password'] = "Update Password";
-$l['edit_profile'] = "Edit Profile";
-$l['profile_required'] = "Required Fields";
-$l['change_email_notice'] = "To change your email address please click here ";
-$l['profile_optional'] = "Optional Fields";
-$l['website_url'] = "Your Website URL:";
-$l['birthdate'] = "Birthdate:";
-$l['contact_field_icq'] = "ICQ Number:";
-$l['contact_field_aim'] = "AIM Screen Name:";
-$l['contact_field_yahoo'] = "Yahoo ID:";
-$l['contact_field_skype'] = "Skype ID:";
-$l['contact_field_google'] = "Google Hangouts ID:";
-$l['additional_information'] = "Additional Information";
-$l['update_profile'] = "Update Profile";
-$l['away_information'] = "Away Information";
-$l['away_status'] = "Away Status:";
-$l['away_status_desc'] = "Allows you to leave an away message if you are going away for a while.";
-$l['im_away'] = "I'm Away";
-$l['im_here'] = "I'm Here";
-$l['away_reason'] = "Away Reason:";
-$l['away_reason_desc'] = "Allows you to enter a small description of why you are away (max 200 characters).";
-$l['return_date'] = "Return Date:";
-$l['return_date_desc'] = "If you know when you will be back, you can enter your return date here.";
-$l['subscriptions'] = "Thread Subscriptions";
-$l['remove_all_subscriptions'] = "Remove All Subscriptions";
-$l['no_thread_subscriptions'] = "You're currently not subscribed to any threads.To subscribe to a thread:
Navigate to the thread you wish to subscribe to. Click the 'Subscribe to this thread' link towards the bottom of the page. ";
-$l['no_forum_subscriptions'] = "You're currently not subscribed to any forums.To subscribe to a forum:
Navigate to the forum you wish to subscribe to. Click the 'Subscribe to this forum' link just above, towards the right side of, the list of threads in that forum. ";
-$l['no_drafts'] = "You do not currently have any draft threads or posts.To save a draft thread or post:
Proceed to the normal posting pages for the action you wish to perform (post a new thread or reply to an existing one). Fill in as much or as little as you want on the posting page. Click the 'Save as Draft' button below the posting area. ";
-$l['drafts'] = "Saved Drafts";
-$l['drafts_count'] = "Saved Drafts ({1})";
-$l['draft_saved'] = "Saved";
-$l['edit_draft'] = "Edit Draft";
-$l['draft_title'] = "Draft Title";
-$l['delete_drafts'] = "Delete Selected Drafts";
-$l['draft_options'] = "Draft Options";
-$l['selected_drafts_deleted'] = "The selected drafts have been deleted. You will be now taken back to the drafts listing.";
-$l['no_drafts_selected'] = "You did not select any drafts to delete";
-$l['group_memberships'] = "Group Memberships";
-$l['not_member_of_group'] = "Sorry, you cannot perform that action because you are currently not a member of that group.";
-$l['cannot_set_displaygroup'] = "This group cannot be set as a display group.";
-$l['display_group_changed'] = "Your display group has been updated. You will be now taken back to the group memberships page.";
-$l['usergroups_memberof'] = "Groups You're a Member Of";
-$l['usertitle'] = "User Title";
-$l['usergroup_leave'] = "Leave Group";
-$l['usergroup_leave_primary'] = "(You cannot leave your primary group)";
-$l['usergroup_leave_leader'] = "(You are a leader of this group)";
-$l['usergroup_joins_moderated'] = "A group leader is required to moderate joins to this group.";
-$l['usergroup_joins_invite'] = "A group leader must invite you to join this group.";
-$l['usergroup_cannot_leave'] = "(You cannot leave this user group)";
-$l['usergroup_joins_anyone'] = "Anyone is free to join this group.";
-$l['usergroup_leaders'] = "Group led by:";
-$l['usergroups_joinable'] = "Groups You Can Join";
-$l['join_conditions'] = "Join Conditions";
-$l['join_group'] = "Join Group";
-$l['join_group_applied'] = "You applied to join this group: {1}";
-$l['pending_invitation'] = "You have been invited to this group: Accept Invite ";
-$l['usergroups_leader'] = "Groups You Lead";
-$l['usergroup_members'] = "Group Members";
-$l['join_requests'] = "Pending Join Requests";
-$l['request_join_usergroup'] = "Request Group Membership";
-$l['join_group_moderate_note'] = "All joins to this group must first be approved by a moderator.";
-$l['user_group'] = "Group:";
-$l['usergroups_usergroup'] = "User Group";
-$l['join_reason'] = "Reason:";
-$l['send_join_request'] = "Send Join Request";
-$l['cannot_join_group'] = "Sorry, but you cannot join this group as it is not a publicly join-able group.";
-$l['cannot_join_invite_group'] = "In order to join this group, you must be invited by a group leader.";
-$l['no_pending_invitation'] = "You do not have any pending invitation to this group.";
-$l['already_accepted_invite'] = "You have already accepted an invite to join this group.";
-$l['already_member_of_group'] = "You cannot join a group of which you are already a member of.";
-$l['already_sent_join_request'] = "You have already sent a request to join this group and it is yet to be moderated.";
-$l['group_join_requestsent'] = "Your join request has been successfully sent. Once your membership is approved you will be automatically joined to this user group. You will be now taken to the group memberships page.";
-$l['joined_group'] = "You have successfully joined the specified group. You will be now taken back to the group management page.";
-$l['cannot_leave_primary_group'] = "Sorry, but you cannot leave your primary group.";
-$l['left_group'] = "You have successfully left the specified group. You will be now taken back to the group management page.";
-$l['avatar_note'] = "An avatar is a small identifying image shown under the author's name whenever they make a post.";
-$l['avatar_note_dimensions'] = "The maximum dimensions for avatars are: {1}x{2} pixels.";
-$l['avatar_note_size'] = "The maximum file size for avatars is {1}.";
-$l['custom_avatar'] = "Custom Avatar";
-$l['remove_avatar'] = "Remove Avatar";
-$l['attachments_manager'] ="Attachments Manager";
-$l['attachments_attachment'] ="Attachment";
-$l['attachments_post'] = "Post";
-$l['delete_attachments'] = "Delete Selected Attachments";
-$l['attachment_size_downloads'] = "({1}, {2} Downloads)";
-$l['attachment_thread'] = "Thread:";
-$l['no_attachments'] = "You currently do not have any files attached to your posts.";
-$l['date_uploaded'] ="Posted";
-$l['no_attachments_selected'] = "You did not select any attachments to delete.";
-$l['attachments_deleted'] = "The selected attachments have been successfully deleted. You will be now redirected to the attachments manager.";
-$l['attachments_usage_quota'] = "- Using {1} of {2} ({3}) in {4} Attachments";
-$l['attachments_usage'] = "- {1} in {2} Attachments";
-$l['attachments_stats'] = "Your Attachment Statistics";
-$l['attachstats_attachs'] = "Number of Attachments";
-$l['attachstats_spaceused'] = "Space Used";
-$l['attachstats_quota'] = "Attachment Quota";
-$l['attachstats_totaldl'] = "Total Downloads";
-$l['attachstats_bandwidth'] = "Approximate Bandwidth Usage";
-$l['error_avatartoobig'] = "Sorry, but we cannot change your avatar as the new avatar you specified is too big. The maximum dimensions are {1}x{2} (width x height)";
-$l['error_invalidavatarurl'] = "The URL you entered for your avatar does not appear to be valid. Please ensure you enter a valid URL.";
-$l['error_remote_avatar_not_allowed'] = "Remote avatar URLs have been disabled by the forum administrator.";
-$l['custom_usertitle'] = "Custom User Title";
-$l['new_custom_usertitle'] = "New Custom User Title: (leave blank to use existing)";
-$l['custom_usertitle_note'] = "Here you can assign yourself a custom user title which will overwrite the one based on your display group.";
-$l['default_usertitle'] = "Default User Title:";
-$l['current_custom_usertitle'] = "Current Custom User Title:";
-$l['revert_usertitle'] = "Revert to group default";
-$l['primary_usergroup'] = "Primary User Group:";
-$l['display_group'] = "Display Group";
-$l['set_as_display_group'] = "Set as Display Group";
-$l['registration_date'] ="Registration Date:";
-$l['view_members'] = "View Members";
-$l['view_requests'] = "Join Requests";
-$l['cannot_leave_group'] = "You cannot leave this group because it is not a publicly join-able group.";
-$l['details'] = "Details";
-$l['members_referred'] = "Members Referred:";
-$l['referral_link'] = " To refer a member to this board, direct them to {1}/member.php?action=register&referrer={2}";
-$l['redirect_subscriptionsremoved'] = "Your thread subscriptions list has been cleared. You will be now returned to the thread subscriptions list.";
-$l['redirect_forumsubscriptionsremoved'] = "Your forum subscriptions list has now been cleared. You will be now returned to where you came from.";
-$l['redirect_subscriptionadded'] = "The selected thread has been added to your subscriptions list. You will be now returned to the location you came from.";
-$l['redirect_optionsupdated'] = "You have successfully updated your options. You will be now returned to the edit options page.";
-$l['redirect_subscriptionremoved'] = "The selected thread has been removed from your subscriptions list. You will be now returned to the thread subscriptions list.";
-$l['redirect_sigupdated'] = "Your signature has been successfully updated. You will be now returned to the signature settings.";
-$l['redirect_notepadupdated'] = "Your personal notepad has been updated. You will be now returned to the User CP.";
-$l['redirect_profileupdated'] = "Your profile has been successfully updated. You will be now returned to the profile settings.";
-$l['redirect_forumsubscriptionadded'] = "The selected forum has been added to your forum subscriptions list. You will be now returned to where you came from.";
-$l['redirect_forumsubscriptionremoved'] = "The selected forum has been removed from your forum subscriptions list. You will be now returned to where you came from.";
-$l['redirect_namechanged'] = "Your name has been successfully changed. You will be now returned to the username settings.";
-$l['redirect_emailupdated'] = "Your email address has been successfully updated. You will be now returned to the email settings.";
-$l['redirect_passwordupdated'] = "Your password has been successfully updated. You will be now returned to the password settings.";
-$l['redirect_changeemail_activation'] = "Your email address has been successfully updated. For your new email address to become active, we require that you complete a validation process.Please check the new email address you specified for further instructions on how to complete the account activation process.
";
-$l['redirect_avatarupdated'] = "Your avatar has been successfully changed. You will be now returned to the avatar settings.";
-$l['error_noavatar'] = "You did not choose an avatar. Please go back and do so now. If you don't want an avatar, select the \"No avatar\" option.";
-$l['error_avatartype'] = "Invalid file type. An uploaded avatar must be in GIF, JPEG, BMP or PNG format.";
-$l['error_alreadyingroup'] = "The user specified is already a part of the user group.";
-$l['error_usercp_return_date_past'] = "You cannot return in the past!";
-$l['error_avatarresizefailed'] = "Your avatar was unable to be resized so that it is within the required dimensions.";
-$l['error_avataruserresize'] = "You can also try checking the 'attempt to resize my avatar' check box and uploading the same image again.";
-$l['avatar_auto_resize_note'] = "If your avatar is too large, it will automatically be resized.";
-$l['avatar_auto_resize_option'] = "Try to resize my avatar if it is too large.";
-$l['subscribe_to_thread'] = "Subscribe to Thread: {1}";
-$l['notification_method'] = "Notification Method:";
-$l['no_notification'] = "No Notification";
-$l['no_notification_desc'] = "You will not receive any automatic notifications of replies to this thread.";
-$l['email_notification'] = "Instant Email Notification";
-$l['email_notification_desc'] = "You will receive instant notification via email of any replies made to this thread.";
-$l['pm_notification'] = "Instant PM Notification";
-$l['pm_notification_desc'] = "You will receive instant notification via PM of any replies made to this thread.";
-$l['do_subscribe'] = "Subscribe to Thread";
-$l['subscription_method'] = "Default Thread Subscription Mode:";
-$l['no_auto_subscribe'] = "Do not subscribe";
-$l['no_subscribe'] = "No notification";
-$l['instant_email_subscribe'] = "Instant email notification";
-$l['instant_pm_subscribe'] = "Instant PM notification";
-$l['with_selected'] = "With Selected:";
-$l['delete_subscriptions'] = "Delete subscriptions";
-$l['update_no_notification'] = "Change to no notification";
-$l['update_email_notification'] = "Change to email notification";
-$l['update_pm_notification'] = "Change to PM notification";
-$l['no_subscriptions_selected'] = "You did not select any subscriptions to perform the selected action on.";
-$l['redirect_subscriptions_updated'] = "The selected subscriptions have been updated. You will be now returned to the thread subscriptions list.";
-$l['latest_threads'] = "Your Latest Threads";
-$l['find_all_threads'] = "Find All of Your Threads";
-$l['new_thread_subscriptions'] = "Thread Subscriptions With New Posts";
-$l['view_all_subscriptions'] = "View All Subscriptions";
-$l['latest_warnings'] = "Latest Warnings Received";
-$l['current_warning_level'] = "Current warning level: {1}% ({2}/{3})";
-$l['warning'] = "Warning";
-$l['date_issued'] = "Date Issued";
-$l['expiry_date'] = "Expiry Date";
-$l['issued_by'] = "Issued By";
-$l['warning_for_post'] = "for post: ";
-$l['warning_revoked'] = "Revoked";
-$l['already_expired'] = "Expired";
-$l['warning_points'] = "({1} points)";
-$l['new_posts_thread'] = "New Posts";
-$l['new_hot_thread'] = "Hot Thread (New)";
-$l['posts_by_you'] = "Contains Posts by You";
-$l['no_new_thread'] = "No New Posts";
-$l['hot_thread'] = "Hot Thread (No New)";
-$l['locked_thread'] = "Locked Thread";
-$l['icon_dot'] = "Contains posts by you. "; // The spaces for the icon labels are strategically placed so that there should be no extra space at the beginning or end of the resulting label and that spaces separate each 'status' ;)
-$l['icon_no_new'] = "No new posts.";
-$l['icon_new'] = "New posts.";
-$l['icon_hot'] = " Hot thread.";
-$l['icon_lock'] = " Locked thread.";
-
-$l['buddylist_error'] = 'There was an error fetching the buddy list. ';
-
-$l['buddyrequests_sent'] = 'Buddy Requests Sent';
-$l['buddyrequests_received'] = 'Buddy Requests Received';
-$l['from'] = 'From';
-$l['to'] = 'To';
-$l['date'] = 'Date';
-$l['options'] = 'Options';
-$l['accept'] = 'Accept';
-$l['decline'] = 'Decline';
-$l['cancel'] = 'Cancel';
-$l['no_requests'] = 'No requests found.';
-$l['buddyrequests_pm'] = 'Receive PM notifications for new buddy requests.';
-$l['buddyrequests_auto'] = 'Automatically accept buddy requests (if the above checkbox is ticked, a PM is sent informing of the new buddy connection)';
-$l['buddyrequest_received'] = 'Buddy request received';
-$l['buddyrequest_new_buddy'] = 'You have a new buddy';
-$l['buddyrequest_new_buddy_message'] = "Hi,\n\nI have been automatically added to your buddy list.";
-$l['buddyrequest_accepted_request'] = 'I have accepted your buddy request';
-$l['buddyrequest_accepted_request_message'] = "Hi,\n\nI have accepted your buddy request.";
-$l['buddyrequest_received_message'] = "I have just sent you a buddy request.\nYou can view your pending requests from User Control Panel -> Buddy/Ignore List.";
-$l['users_already_sent_request'] = "You have already sent a buddy request to one of the users you added.";
-$l['users_already_rec_request'] = "You have a pending buddy request from one of the users you added.";
-$l['users_already_sent_request_alt'] = "You have sent a buddy request to one of the users you added. Please cancel the buddy request before adding the user to the ignore list.";
-$l['users_already_rec_request_alt'] = "You have a pending buddy request from one of the users you added. Please decline the buddy request before adding the user to the ignore list.";
-$l['invalid_request'] = 'You have selected an invalid buddy request.';
-$l['buddyrequest_cancelled'] = 'The selected buddy request has been cancelled.';
-$l['buddyrequest_accepted'] = 'The selected buddy request has been accepted.';
-$l['buddyrequest_declined'] = 'The selected buddy request has been declined.';
-$l['user_doesnt_exist'] = 'The end user no longer exists.';
-$l['buddyrequests_sent_success'] = 'Buddy requests sent successfully.';
diff --git a/html/forums/inc/languages/english/usercpnav.lang.php b/html/forums/inc/languages/english/usercpnav.lang.php
deleted file mode 100644
index f7b61d0..0000000
--- a/html/forums/inc/languages/english/usercpnav.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-Saved Drafts ({1})";
-$l['ucp_nav_notepad'] = "Personal Pad";
-$l['ucp_nav_view_profile'] = "View Profile";
-$l['ucp_nav_home'] = "User CP Home";
-$l['ucp_nav_usergroups'] = "Group Memberships";
-$l['ucp_nav_attachments'] = "Manage Attachments";
diff --git a/html/forums/inc/languages/english/warnings.lang.php b/html/forums/inc/languages/english/warnings.lang.php
deleted file mode 100644
index a638a01..0000000
--- a/html/forums/inc/languages/english/warnings.lang.php
+++ /dev/null
@@ -1,88 +0,0 @@
-Anonymous PM: send this private message as an anonymous user.";
-$l['expiration_never'] = "permanently";
-$l['expiration_hours'] = "hours";
-$l['expiration_days'] = "days";
-$l['expiration_weeks'] = "weeks";
-$l['expiration_months'] = "months";
-$l['redirect_warned_banned'] = " The user has also been moved to the {1} group {2}.";
-$l['redirect_warned_suspended'] = " This users posting privileges have been suspended {1}.";
-$l['redirect_warned_moderate'] = " All posts by this user will now be moderated {1}.";
-$l['redirect_warned_pmerror'] = " Please note that the PM was not sent.";
-$l['redirect_warned'] = "The warning level of {1} has been increased to {2}%.{3} You will now be taken back to where you came from.";
-$l['error_warning_system_disabled'] = "You cannot use the warning system as it has been disabled by the board administrator.";
-$l['error_cant_warn_group'] = "You do not have permission to warn users of this group.";
-$l['error_invalid_user'] = "Selected user doesn't exist.";
-$l['details'] = "Details";
-$l['view'] = "View";
-$l['current_warning_level'] = "Current warning level: {1}% ({2}/{3})";
-$l['warning_details'] = "Warning Details";
-$l['revoke_warning'] = "Revoke this Warning";
-$l['revoke_warning_desc'] = "To revoke this warning please enter a reason below. This will not remove any bans or suspensions imposed by this warning.";
-$l['warning_is_revoked'] = "This Warning has been revoked";
-$l['revoked_by'] = "Revoked By";
-$l['date_revoked'] = "Date Revoked";
-$l['warning_already_revoked'] = "This warning has already been revoked.";
-$l['no_revoke_reason'] = "You did not enter a reason as to why you want to revoke this warning.";
-$l['redirect_warning_revoked'] = "This warning has successfully been revoked and the users warning points decreased. You will now be taken back to the warning.";
-$l['result'] = "Result:";
-$l['result_banned'] = "User will be moved to banned group ({1}) {2}";
-$l['result_suspended'] = "Posting privileges will be suspended {1}";
-$l['result_moderated'] = "Posts will be moderated {1}";
-$l['result_period'] = "for {1} {2}";
-$l['result_period_perm'] = "permanently";
-$l['hour_or_hours'] = "Hour(s)";
-$l['day_or_days'] = "Day(s)";
-$l['week_or_weeks'] = "Week(s)";
-$l['month_or_months'] = "Month(s)";
-$l['expires'] = "Expires:";
-$l['new_warning_level'] = "New warning level:";
-$l['error_cant_warn_user'] = "You do not have permission to warn this user.";
-$l['existing_post_warnings'] = "Existing Warnings for this Post";
diff --git a/html/forums/inc/languages/english/xmlhttp.lang.php b/html/forums/inc/languages/english/xmlhttp.lang.php
deleted file mode 100644
index 278895a..0000000
--- a/html/forums/inc/languages/english/xmlhttp.lang.php
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/mailhandlers/index.html b/html/forums/inc/mailhandlers/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/inc/mailhandlers/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/mailhandlers/php.php b/html/forums/inc/mailhandlers/php.php
deleted file mode 100644
index 43dccc0..0000000
--- a/html/forums/inc/mailhandlers/php.php
+++ /dev/null
@@ -1,86 +0,0 @@
- Please make sure IN_MYBB is defined.");
-}
-
-/**
- * PHP mail handler class.
- */
-class PhpMail extends MailHandler
-{
- /**
- * Additional parameters to pass to PHPs mail() function.
- *
- * @var string
- */
- public $additional_parameters = '';
-
- /**
- * Sends the email.
- *
- * @return bool whether or not the email got sent or not.
- */
- function send()
- {
- global $lang, $mybb;
-
- // For some reason sendmail/qmail doesn't like \r\n
- $this->sendmail = @ini_get('sendmail_path');
- if($this->sendmail)
- {
- $this->headers = str_replace("\r\n", "\n", $this->headers);
- $this->message = str_replace("\r\n", "\n", $this->message);
- $this->delimiter = "\n";
- }
-
- // Some mail providers ignore email's with incorrect return-to path's so try and fix that here
- $this->sendmail_from = @ini_get('sendmail_from');
- if($this->sendmail_from != $mybb->settings['adminemail'])
- {
- @ini_set("sendmail_from", $mybb->settings['adminemail']);
- }
-
- $dir = "/{$mybb->config['admin_dir']}/";
- $pos = strrpos($_SERVER['PHP_SELF'], $dir);
- if(defined('IN_ADMINCP') && $pos !== false)
- {
- $temp_script_path = $_SERVER['PHP_SELF'];
- $_SERVER['PHP_SELF'] = substr($_SERVER['PHP_SELF'], $pos + strlen($dir) - 1);
- }
-
- // If safe mode is on, don't send the additional parameters as we're not allowed to
- if($mybb->safemode)
- {
- $sent = @mail($this->to, $this->subject, $this->message, trim($this->headers));
- }
- else
- {
- $sent = @mail($this->to, $this->subject, $this->message, trim($this->headers), $this->additional_parameters);
- }
- $function_used = 'mail()';
-
- if(defined('IN_ADMINCP') && $pos !== false)
- {
- $_SERVER['PHP_SELF'] = $temp_script_path;
- }
-
- if(!$sent)
- {
- $this->fatal_error("MyBB was unable to send the email using the PHP {$function_used} function.");
- return false;
- }
-
- return true;
- }
-}
diff --git a/html/forums/inc/mailhandlers/smtp.php b/html/forums/inc/mailhandlers/smtp.php
deleted file mode 100644
index 9afe44c..0000000
--- a/html/forums/inc/mailhandlers/smtp.php
+++ /dev/null
@@ -1,538 +0,0 @@
- Please make sure IN_MYBB is defined.");
-}
-
-/**
- * SMTP mail handler class.
- */
-
-if(!defined('MYBB_SSL'))
-{
- define('MYBB_SSL', 1);
-}
-
-if(!defined('MYBB_TLS'))
-{
- define('MYBB_TLS', 2);
-}
-
-class SmtpMail extends MailHandler
-{
- /**
- * The SMTP connection.
- *
- * @var resource
- */
- public $connection;
-
- /**
- * SMTP username.
- *
- * @var string
- */
- public $username = '';
-
- /**
- * SMTP password.
- *
- * @var string
- */
- public $password = '';
-
- /**
- * Hello string sent to the smtp server with either HELO or EHLO.
- *
- * @var string
- */
- public $helo = 'localhost';
-
- /**
- * User authenticated or not.
- *
- * @var boolean
- */
- public $authenticated = false;
-
- /**
- * How long before timeout.
- *
- * @var integer
- */
- public $timeout = 5;
-
- /**
- * SMTP status.
- *
- * @var integer
- */
- public $status = 0;
-
- /**
- * SMTP default port.
- *
- * @var integer
- */
- public $port = 25;
-
- /**
- * SMTP default secure port.
- *
- * @var integer
- */
- public $secure_port = 465;
-
- /**
- * SMTP host.
- *
- * @var string
- */
- public $host = '';
-
- /**
- * The last received error message from the SMTP server.
- *
- * @var string
- */
- public $last_error = '';
-
- /**
- * Are we keeping the connection to the SMTP server alive?
- *
- * @var boolean
- */
- public $keep_alive = false;
-
- /**
- * Whether to use TLS encryption.
- *
- * @var boolean
- */
- public $use_tls = false;
-
- function __construct()
- {
- global $mybb;
-
- $protocol = '';
- switch($mybb->settings['secure_smtp'])
- {
- case MYBB_SSL:
- $protocol = 'ssl://';
- break;
- case MYBB_TLS:
- $this->use_tls = true;
- break;
- }
-
- if(empty($mybb->settings['smtp_host']))
- {
- $this->host = @ini_get('SMTP');
- }
- else
- {
- $this->host = $mybb->settings['smtp_host'];
- }
-
- $local = array('127.0.0.1', '::1', 'localhost');
- if(!in_array($this->host, $local))
- {
- if(function_exists('gethostname') && gethostname() !== false)
- {
- $this->helo = gethostname();
- }
- elseif(function_exists('php_uname'))
- {
- $helo = php_uname('n');
- if(!empty($helo))
- {
- $this->helo = $helo;
- }
- }
- elseif(!empty($_SERVER['SERVER_NAME']))
- {
- $this->helo = $_SERVER['SERVER_NAME'];
- }
- }
-
- $this->host = $protocol . $this->host;
-
- if(empty($mybb->settings['smtp_port']) && !empty($protocol) && !@ini_get('smtp_port'))
- {
- $this->port = $this->secure_port;
- }
- else if(empty($mybb->settings['smtp_port']) && @ini_get('smtp_port'))
- {
- $this->port = @ini_get('smtp_port');
- }
- else if(!empty($mybb->settings['smtp_port']))
- {
- $this->port = $mybb->settings['smtp_port'];
- }
-
- $this->password = $mybb->settings['smtp_pass'];
- $this->username = $mybb->settings['smtp_user'];
- }
-
- /**
- * Sends the email.
- *
- * @return bool whether or not the email got sent or not.
- */
- function send()
- {
- global $lang, $mybb;
-
- if(!$this->connected())
- {
- if(!$this->connect())
- {
- $this->close();
- }
- }
-
- if($this->connected())
- {
- if(!$this->send_data('MAIL FROM:<'.$this->from.'>', '250'))
- {
- $this->fatal_error("The mail server does not understand the MAIL FROM command. Reason: ".$this->get_error());
- return false;
- }
-
- // Loop through recipients
- $emails = explode(',', $this->to);
- foreach($emails as $to)
- {
- $to = trim($to);
- if(!$this->send_data('RCPT TO:<'.$to.'>', '250'))
- {
- $this->fatal_error("The mail server does not understand the RCPT TO command. Reason: ".$this->get_error());
- return false;
- }
- }
-
- if($this->send_data('DATA', '354'))
- {
- $this->send_data('Date: ' . gmdate('r'));
- $this->send_data('To: ' . $this->to);
-
- $this->send_data('Subject: ' . $this->subject);
-
- // Only send additional headers if we've got any
- if(trim($this->headers))
- {
- $this->send_data(trim($this->headers));
- }
-
- $this->send_data("");
-
- // Queue the actual message
- $this->message = str_replace("\n.", "\n..", $this->message);
- $this->send_data($this->message);
- }
- else
- {
- $this->fatal_error("The mail server did not understand the DATA command");
- return false;
- }
-
- $this->send_data('.', '250');
-
- if(!$this->keep_alive)
- {
- $this->close();
- }
- return true;
- }
- else
- {
- return false;
- }
- }
-
- /**
- * Connect to the SMTP server.
- *
- * @return boolean True if connection was successful
- */
- function connect()
- {
- global $lang, $mybb;
-
- $this->connection = @fsockopen($this->host, $this->port, $error_number, $error_string, $this->timeout);
-
- // DIRECTORY_SEPARATOR checks if running windows
- if(function_exists('stream_set_timeout') && DIRECTORY_SEPARATOR != '\\')
- {
- @stream_set_timeout($this->connection, $this->timeout, 0);
- }
-
- if(is_resource($this->connection))
- {
- $this->status = 1;
- $this->get_data();
- if(!$this->check_status('220'))
- {
- $this->fatal_error("The mail server is not ready, it did not respond with a 220 status message.");
- return false;
- }
-
- if($this->use_tls || (!empty($this->username) && !empty($this->password)))
- {
- $helo = 'EHLO';
- }
- else
- {
- $helo = 'HELO';
- }
-
- $data = $this->send_data("{$helo} {$this->helo}", '250');
- if(!$data)
- {
- $this->fatal_error("The server did not understand the {$helo} command");
- return false;
- }
-
- if($this->use_tls && preg_match("#250( |-)STARTTLS#mi", $data))
- {
- if(!$this->send_data('STARTTLS', '220'))
- {
- $this->fatal_error("The server did not understand the STARTTLS command. Reason: ".$this->get_error());
- return false;
- }
- if(!@stream_socket_enable_crypto($this->connection, true, STREAM_CRYPTO_METHOD_TLS_CLIENT))
- {
- $this->fatal_error("Failed to start TLS encryption");
- return false;
- }
- // Resend EHLO to get updated service list
- $data = $this->send_data("{$helo} {$this->helo}", '250');
- if(!$data)
- {
- $this->fatal_error("The server did not understand the EHLO command");
- return false;
- }
- }
-
- if(!empty($this->username) && !empty($this->password))
- {
- preg_match("#250( |-)AUTH( |=)(.+)$#mi", $data, $matches);
- if(!$this->auth($matches[3]))
- {
- return false;
- }
- }
- return true;
- }
- else
- {
- $this->fatal_error("Unable to connect to the mail server with the given details. Reason: {$error_number}: {$error_string}");
- return false;
- }
- }
-
- /**
- * Authenticate against the SMTP server.
- *
- * @param string $auth_methods A list of authentication methods supported by the server
- * @return boolean True on success
- */
- function auth($auth_methods)
- {
- global $lang, $mybb;
-
- $auth_methods = explode(" ", trim($auth_methods));
-
- if(in_array("LOGIN", $auth_methods))
- {
- if(!$this->send_data("AUTH LOGIN", 334))
- {
- if($this->code == 503)
- {
- return true;
- }
- $this->fatal_error("The SMTP server did not respond correctly to the AUTH LOGIN command");
- return false;
- }
-
- if(!$this->send_data(base64_encode($this->username), '334'))
- {
- $this->fatal_error("The SMTP server rejected the supplied SMTP username. Reason: ".$this->get_error());
- return false;
- }
-
- if(!$this->send_data(base64_encode($this->password), '235'))
- {
- $this->fatal_error("The SMTP server rejected the supplied SMTP password. Reason: ".$this->get_error());
- return false;
- }
- }
- else if(in_array("PLAIN", $auth_methods))
- {
- if(!$this->send_data("AUTH PLAIN", '334'))
- {
- if($this->code == 503)
- {
- return true;
- }
- $this->fatal_error("The SMTP server did not respond correctly to the AUTH PLAIN command");
- return false;
- }
- $auth = base64_encode(chr(0).$this->username.chr(0).$this->password);
- if(!$this->send_data($auth, 235))
- {
- $this->fatal_error("The SMTP server rejected the supplied login username and password. Reason: ".$this->get_error());
- return false;
- }
- }
- else
- {
- $this->fatal_error("The SMTP server does not support any of the AUTH methods that MyBB supports");
- return false;
- }
-
- // Still here, we're authenticated
- return true;
- }
-
- /**
- * Fetch data from the SMTP server.
- *
- * @return string The data from the SMTP server
- */
- function get_data()
- {
- $string = '';
-
- while((($line = fgets($this->connection, 515)) !== false))
- {
- $string .= $line;
- if(substr($line, 3, 1) == ' ')
- {
- break;
- }
- }
- $string = trim($string);
- $this->data = $string;
- $this->code = substr($this->data, 0, 3);
- return $string;
- }
-
- /**
- * Check if we're currently connected to an SMTP server
- *
- * @return boolean true if connected
- */
- function connected()
- {
- if($this->status == 1)
- {
- return true;
- }
- return false;
- }
-
- /**
- * Send data through to the SMTP server.
- *
- * @param string $data The data to be sent
- * @param int|bool $status_num The response code expected back from the server (if we have one)
- * @return boolean True on success
- */
- function send_data($data, $status_num = false)
- {
- if($this->connected())
- {
- if(fwrite($this->connection, $data."\r\n"))
- {
- if($status_num != false)
- {
- $rec = $this->get_data();
- if($this->check_status($status_num))
- {
- return $rec;
- }
- else
- {
- $this->set_error($rec);
- return false;
- }
- }
- return true;
- }
- else
- {
- $this->fatal_error("Unable to send the data to the SMTP server");
- return false;
- }
- }
- return false;
- }
-
- /**
- * Checks if the received status code matches the one we expect.
- *
- * @param int $status_num The status code we expected back from the server
- * @return string|bool
- */
- function check_status($status_num)
- {
- if($this->code == $status_num)
- {
- return $this->data;
- }
- else
- {
- return false;
- }
- }
-
- /**
- * Close the connection to the SMTP server.
- */
- function close()
- {
- if($this->status == 1)
- {
- $this->send_data('QUIT');
- fclose($this->connection);
- $this->status = 0;
- }
- }
-
- /**
- * Get the last error message response from the SMTP server
- *
- * @return string The error message response from the SMTP server
- */
- function get_error()
- {
- if(!$this->last_error)
- {
- $this->last_error = "N/A";
- }
-
- return $this->last_error;
- }
-
- /**
- * Set the last error message response from the SMTP server
- *
- * @param string $error The error message response
- */
- function set_error($error)
- {
- $this->last_error = $error;
- }
-}
diff --git a/html/forums/inc/mybb_group.php b/html/forums/inc/mybb_group.php
deleted file mode 100644
index 41f6c9f..0000000
--- a/html/forums/inc/mybb_group.php
+++ /dev/null
@@ -1,17 +0,0 @@
-add_hook('admin_config_settings_manage', 'hello_settings');
- $plugins->add_hook('admin_config_settings_change', 'hello_settings');
- $plugins->add_hook('admin_config_settings_start', 'hello_settings');
- // We could hook at 'admin_config_settings_begin' only for simplicity sake.
-}
-else
-{
- // Add our hello_index() function to the index_start hook so when that hook is run our function is executed
- $plugins->add_hook('index_start', 'hello_index');
-
- // Add our hello_post() function to the postbit hook so it gets executed on every post
- $plugins->add_hook('postbit', 'hello_post');
-
- // Add our hello_new() function to the misc_start hook so our misc.php?action=hello inserts a new message into the created DB table.
- $plugins->add_hook('misc_start', 'hello_new');
-}
-
-function hello_info()
-{
- global $lang;
- $lang->load('hello');
-
- /**
- * Array of information about the plugin.
- * name: The name of the plugin
- * description: Description of what the plugin does
- * website: The website the plugin is maintained at (Optional)
- * author: The name of the author of the plugin
- * authorsite: The URL to the website of the author (Optional)
- * version: The version number of the plugin
- * compatibility: A CSV list of MyBB versions supported. Ex, '121,123', '12*'. Wildcards supported.
- * codename: An unique code name to be used by updated from the official MyBB Mods community.
- */
- return array(
- 'name' => 'Hello World!',
- 'description' => $lang->hello_desc,
- 'website' => 'https://mybb.com',
- 'author' => 'MyBB Group',
- 'authorsite' => 'https://mybb.com',
- 'version' => '2.0',
- 'compatibility' => '18*',
- 'codename' => 'hello'
- );
-}
-
-/*
- * _activate():
- * Called whenever a plugin is activated via the Admin CP. This should essentially make a plugin
- * 'visible' by adding templates/template changes, language changes etc.
-*/
-function hello_activate()
-{
- global $db, $lang;
- $lang->load('hello');
-
- // Add a new template (hello_index) to our global templates (sid = -1)
- $templatearray = array(
- 'index' => '
-
-
-
-
- {$lang->hello}
-
-
-
-
-
-
-
-
-
-
-
- {$messages}
-
-
-
-
- ',
- 'post' => '{$lang->hello}: {$messages}',
- 'message' => ' - {$message}'
- );
-
- $group = array(
- 'prefix' => $db->escape_string('hello'),
- 'title' => $db->escape_string('Hello World!')
- );
-
- // Update or create template group:
- $query = $db->simple_select('templategroups', 'prefix', "prefix='{$group['prefix']}'");
-
- if($db->fetch_field($query, 'prefix'))
- {
- $db->update_query('templategroups', $group, "prefix='{$group['prefix']}'");
- }
- else
- {
- $db->insert_query('templategroups', $group);
- }
-
- // Query already existing templates.
- $query = $db->simple_select('templates', 'tid,title,template', "sid=-2 AND (title='{$group['prefix']}' OR title LIKE '{$group['prefix']}=_%' ESCAPE '=')");
-
- $templates = $duplicates = array();
-
- while($row = $db->fetch_array($query))
- {
- $title = $row['title'];
- $row['tid'] = (int)$row['tid'];
-
- if(isset($templates[$title]))
- {
- // PluginLibrary had a bug that caused duplicated templates.
- $duplicates[] = $row['tid'];
- $templates[$title]['template'] = false; // force update later
- }
- else
- {
- $templates[$title] = $row;
- }
- }
-
- // Delete duplicated master templates, if they exist.
- if($duplicates)
- {
- $db->delete_query('templates', 'tid IN ('.implode(",", $duplicates).')');
- }
-
- // Update or create templates.
- foreach($templatearray as $name => $code)
- {
- if(strlen($name))
- {
- $name = "hello_{$name}";
- }
- else
- {
- $name = "hello";
- }
-
- $template = array(
- 'title' => $db->escape_string($name),
- 'template' => $db->escape_string($code),
- 'version' => 1,
- 'sid' => -2,
- 'dateline' => TIME_NOW
- );
-
- // Update
- if(isset($templates[$name]))
- {
- if($templates[$name]['template'] !== $code)
- {
- // Update version for custom templates if present
- $db->update_query('templates', array('version' => 0), "title='{$template['title']}'");
-
- // Update master template
- $db->update_query('templates', $template, "tid={$templates[$name]['tid']}");
- }
- }
- // Create
- else
- {
- $db->insert_query('templates', $template);
- }
-
- // Remove this template from the earlier queried list.
- unset($templates[$name]);
- }
-
- // Remove no longer used templates.
- foreach($templates as $name => $row)
- {
- $db->delete_query('templates', "title='{$db->escape_string($name)}'");
- }
-
- // Settings group array details
- $group = array(
- 'name' => 'hello',
- 'title' => $db->escape_string($lang->setting_group_hello),
- 'description' => $db->escape_string($lang->setting_group_hello_desc),
- 'isdefault' => 0
- );
-
- // Check if the group already exists.
- $query = $db->simple_select('settinggroups', 'gid', "name='hello'");
-
- if($gid = (int)$db->fetch_field($query, 'gid'))
- {
- // We already have a group. Update title and description.
- $db->update_query('settinggroups', $group, "gid='{$gid}'");
- }
- else
- {
- // We don't have a group. Create one with proper disporder.
- $query = $db->simple_select('settinggroups', 'MAX(disporder) AS disporder');
- $disporder = (int)$db->fetch_field($query, 'disporder');
-
- $group['disporder'] = ++$disporder;
-
- $gid = (int)$db->insert_query('settinggroups', $group);
- }
-
- // Deprecate all the old entries.
- $db->update_query('settings', array('description' => 'HELLODELETEMARKER'), "gid='{$gid}'");
-
- // add settings
- $settings = array(
- 'display1' => array(
- 'optionscode' => 'yesno',
- 'value' => 1
- ),
- 'display2' => array(
- 'optionscode' => 'yesno',
- 'value' => 1
- ));
-
- $disporder = 0;
-
- // Create and/or update settings.
- foreach($settings as $key => $setting)
- {
- // Prefix all keys with group name.
- $key = "hello_{$key}";
-
- $lang_var_title = "setting_{$key}";
- $lang_var_description = "setting_{$key}_desc";
-
- $setting['title'] = $lang->{$lang_var_title};
- $setting['description'] = $lang->{$lang_var_description};
-
- // Filter valid entries.
- $setting = array_intersect_key($setting,
- array(
- 'title' => 0,
- 'description' => 0,
- 'optionscode' => 0,
- 'value' => 0,
- ));
-
- // Escape input values.
- $setting = array_map(array($db, 'escape_string'), $setting);
-
- // Add missing default values.
- ++$disporder;
-
- $setting = array_merge(
- array('description' => '',
- 'optionscode' => 'yesno',
- 'value' => 0,
- 'disporder' => $disporder),
- $setting);
-
- $setting['name'] = $db->escape_string($key);
- $setting['gid'] = $gid;
-
- // Check if the setting already exists.
- $query = $db->simple_select('settings', 'sid', "gid='{$gid}' AND name='{$setting['name']}'");
-
- if($sid = $db->fetch_field($query, 'sid'))
- {
- // It exists, update it, but keep value intact.
- unset($setting['value']);
- $db->update_query('settings', $setting, "sid='{$sid}'");
- }
- else
- {
- // It doesn't exist, create it.
- $db->insert_query('settings', $setting);
- // Maybe use $db->insert_query_multiple somehow
- }
- }
-
- // Delete deprecated entries.
- $db->delete_query('settings', "gid='{$gid}' AND description='HELLODELETEMARKER'");
-
- // This is required so it updates the settings.php file as well and not only the database - they must be synchronized!
- rebuild_settings();
-
- // Include this file because it is where find_replace_templatesets is defined
- require_once MYBB_ROOT.'inc/adminfunctions_templates.php';
-
- // Edit the index template and add our variable to above {$forums}
- find_replace_templatesets('index', '#'.preg_quote('{$forums}').'#', "{\$hello}\n{\$forums}");
-}
-
-/*
- * _deactivate():
- * Called whenever a plugin is deactivated. This should essentially 'hide' the plugin from view
- * by removing templates/template changes etc. It should not, however, remove any information
- * such as tables, fields etc - that should be handled by an _uninstall routine. When a plugin is
- * uninstalled, this routine will also be called before _uninstall() if the plugin is active.
-*/
-function hello_deactivate()
-{
- require_once MYBB_ROOT.'inc/adminfunctions_templates.php';
-
- // remove template edits
- find_replace_templatesets('index', '#'.preg_quote('{$hello}').'#', '');
-}
-
-/*
- * _install():
- * Called whenever a plugin is installed by clicking the 'Install' button in the plugin manager.
- * If no install routine exists, the install button is not shown and it assumed any work will be
- * performed in the _activate() routine.
-*/
-function hello_install()
-{
- global $db;
-
- // Create our table collation
- $collation = $db->build_create_table_collation();
-
- // Create table if it doesn't exist already
- if(!$db->table_exists('hello_messages'))
- {
- switch($db->type)
- {
- case "pgsql":
- $db->write_query("CREATE TABLE ".TABLE_PREFIX."hello_messages (
- mid serial,
- message varchar(100) NOT NULL default '',
- PRIMARY KEY (mid)
- );");
- break;
- case "sqlite":
- $db->write_query("CREATE TABLE ".TABLE_PREFIX."hello_messages (
- mid INTEGER PRIMARY KEY,
- message varchar(100) NOT NULL default ''
- );");
- break;
- default:
- $db->write_query("CREATE TABLE ".TABLE_PREFIX."hello_messages (
- mid int unsigned NOT NULL auto_increment,
- message varchar(100) NOT NULL default '',
- PRIMARY KEY (mid)
- ) ENGINE=MyISAM{$collation};");
- break;
- }
- }
-}
-
-/*
- * _is_installed():
- * Called on the plugin management page to establish if a plugin is already installed or not.
- * This should return TRUE if the plugin is installed (by checking tables, fields etc) or FALSE
- * if the plugin is not installed.
-*/
-function hello_is_installed()
-{
- global $db;
-
- // If the table exists then it means the plugin is installed because we only drop it on uninstallation
- return $db->table_exists('hello_messages');
-}
-
-/*
- * _uninstall():
- * Called whenever a plugin is to be uninstalled. This should remove ALL traces of the plugin
- * from the installation (tables etc). If it does not exist, uninstall button is not shown.
-*/
-function hello_uninstall()
-{
- global $db, $mybb;
-
- if($mybb->request_method != 'post')
- {
- global $page, $lang;
- $lang->load('hello');
-
- $page->output_confirm_action('index.php?module=config-plugins&action=deactivate&uninstall=1&plugin=hello', $lang->hello_uninstall_message, $lang->hello_uninstall);
- }
-
- // Delete template groups.
- $db->delete_query('templategroups', "prefix='hello'");
-
- // Delete templates belonging to template groups.
- $db->delete_query('templates', "title='hello' OR title LIKE 'hello_%'");
-
- // Delete settings group
- $db->delete_query('settinggroups', "name='hello'");
-
- // Remove the settings
- $db->delete_query('settings', "name IN ('hello_display1','hello_display2')");
-
- // This is required so it updates the settings.php file as well and not only the database - they must be synchronized!
- rebuild_settings();
-
- // Drop tables if desired
- if(!isset($mybb->input['no']))
- {
- $db->drop_table('hello_messages');
- }
-}
-
-/*
- * Loads the settings language strings.
-*/
-function hello_settings()
-{
- global $lang;
-
- // Load our language file
- $lang->load('hello');
-}
-
-/*
- * Displays the list of messages on index and a form to submit new messages - depending on the setting of course.
-*/
-function hello_index()
-{
- global $mybb;
-
- // Only run this function is the setting is set to yes
- if($mybb->settings['hello_display1'] == 0)
- {
- return;
- }
-
- global $db, $lang, $templates, $hello, $theme;
-
- // Load our language file
- $lang->load('hello');
-
- // Retreive all messages from the database
- $messages = '';
- $query = $db->simple_select('hello_messages', 'message', '', array('order_by' => 'mid', 'order_dir' => 'DESC'));
- while($message = $db->fetch_field($query, 'message'))
- {
- // htmlspecialchars_uni is similar to PHP's htmlspecialchars but allows unicode
- $message = htmlspecialchars_uni($message);
- $messages .= eval($templates->render('hello_message'));
- }
-
- // If no messages were found, display that notice.
- if(empty($messages))
- {
- $message = $lang->hello_empty;
- $messages = eval($templates->render('hello_message'));
- }
-
- // Set $hello as our template and use eval() to do it so we can have our variables parsed
- #eval('$hello = "'.$templates->get('hello_index').'";');
- $hello = eval($templates->render('hello_index'));
-}
-
-/*
- * Displays the list of messages under every post - depending on the setting.
- * @param $post Array containing information about the current post. Note: must be received by reference otherwise our changes are not preserved.
-*/
-function hello_post(&$post)
-{
- global $settings;
-
- // Only run this function is the setting is set to yes
- if($settings['hello_display2'] == 0)
- {
- return;
- }
-
- global $lang, $templates;
-
- // Load our language file
- if(!isset($lang->hello))
- {
- $lang->load('hello');
- }
-
- static $messages;
-
- // Only retreive messages from the database if they were not retreived already
- if(!isset($messages))
- {
- global $db;
-
- // Retreive all messages from the database
- $messages = '';
- $query = $db->simple_select('hello_messages', 'message', '', array('order_by' => 'mid', 'order_dir' => 'DESC'));
- while($message = $db->fetch_field($query, 'message'))
- {
- // htmlspecialchars_uni is similar to PHP's htmlspecialchars but allows unicode
- $message = htmlspecialchars_uni($message);
- $messages .= eval($templates->render('hello_message'));
- }
-
- // If no messages were found, display that notice.
- if(empty($messages))
- {
- $message = $lang->hello_empty;
- $messages = eval($templates->render('hello_message'));
- }
- }
-
- // Alter the current post's message
- $post['message'] .= eval($templates->render('hello_post'));
-}
-
-/*
-* This is where new messages get submitted.
-*/
-function hello_new()
-{
- global $mybb;
-
- // If we're not running the 'hello' action as specified in our form, get out of there.
- if($mybb->get_input('action') != 'hello')
- {
- return;
- }
-
- // Only accept POST
- if($mybb->request_method != 'post')
- {
- error_no_permission();
- }
-
- global $lang;
-
- // Correct post key? This is important to prevent CSRF
- verify_post_check($mybb->get_input('my_post_key'));
-
- // Load our language file
- $lang->load('hello');
-
- $message = trim($mybb->get_input('message'));
-
- // Message cannot be empty
- if(!$message || my_strlen($message) > 100)
- {
- error($lang->hello_message_empty);
- }
-
- global $db;
-
- // Escape input data
- $message = $db->escape_string($message);
-
- // Insert into database
- $db->insert_query('hello_messages', array('message' => $message));
-
- // Redirect to index.php with a message
- redirect('index.php', $lang->hello_done);
-}
diff --git a/html/forums/inc/plugins/index.html b/html/forums/inc/plugins/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/inc/plugins/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/settings.php b/html/forums/inc/settings.php
deleted file mode 100644
index e69de29..0000000
diff --git a/html/forums/inc/tasks/backupdb.php b/html/forums/inc/tasks/backupdb.php
deleted file mode 100644
index bd1aabc..0000000
--- a/html/forums/inc/tasks/backupdb.php
+++ /dev/null
@@ -1,147 +0,0 @@
-task_backup_cannot_write_backup);
- }
- else
- {
- $db->set_table_prefix('');
-
- $file = MYBB_ADMIN_DIR.'backups/backup_'.date("_Ymd_His_").random_str(16);
-
- if(function_exists('gzopen'))
- {
- $fp = gzopen($file.'.incomplete.sql.gz', 'w9');
- }
- else
- {
- $fp = fopen($file.'.incomplete.sql', 'w');
- }
-
- $tables = $db->list_tables($config['database']['database'], $config['database']['table_prefix']);
-
- $time = date('dS F Y \a\t H:i', TIME_NOW);
- $contents = "-- MyBB Database Backup\n-- Generated: {$time}\n-- -------------------------------------\n\n";
-
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'tables' => &$tables,
- );
- $plugins->run_hooks('task_backupdb', $args);
- }
-
- foreach($tables as $table)
- {
- $field_list = array();
- $fields_array = $db->show_fields_from($table);
- foreach($fields_array as $field)
- {
- $field_list[] = $field['Field'];
- }
-
- $fields = "`".implode("`,`", $field_list)."`";
-
- $structure = $db->show_create_table($table).";\n";
- $contents .= $structure;
- clear_overflow($fp, $contents);
-
- if($db->engine == 'mysqli')
- {
- $query = mysqli_query($db->read_link, "SELECT * FROM {$db->table_prefix}{$table}", MYSQLI_USE_RESULT);
- }
- else
- {
- $query = $db->simple_select($table);
- }
-
- while($row = $db->fetch_array($query))
- {
- $insert = "INSERT INTO {$table} ($fields) VALUES (";
- $comma = '';
- foreach($field_list as $field)
- {
- if(!isset($row[$field]) || is_null($row[$field]))
- {
- $insert .= $comma."NULL";
- }
- else if($db->engine == 'mysqli')
- {
- $insert .= $comma."'".mysqli_real_escape_string($db->read_link, $row[$field])."'";
- }
- else
- {
- $insert .= $comma."'".$db->escape_string($row[$field])."'";
- }
- $comma = ',';
- }
- $insert .= ");\n";
- $contents .= $insert;
- clear_overflow($fp, $contents);
- }
- $db->free_result($query);
- }
-
- $db->set_table_prefix(TABLE_PREFIX);
-
- if(function_exists('gzopen'))
- {
- gzwrite($fp, $contents);
- gzclose($fp);
- rename($file.'.incomplete.sql.gz', $file.'.sql.gz');
- }
- else
- {
- fwrite($fp, $contents);
- fclose($fp);
- rename($file.'.incomplete.sql', $file.'.sql');
- }
-
- add_task_log($task, $lang->task_backup_ran);
- }
-}
-
-// Allows us to refresh cache to prevent over flowing
-function clear_overflow($fp, &$contents)
-{
- global $mybb;
-
- if(function_exists('gzopen'))
- {
- gzwrite($fp, $contents);
- }
- else
- {
- fwrite($fp, $contents);
- }
-
- $contents = '';
-}
diff --git a/html/forums/inc/tasks/checktables.php b/html/forums/inc/tasks/checktables.php
deleted file mode 100644
index 5f683ce..0000000
--- a/html/forums/inc/tasks/checktables.php
+++ /dev/null
@@ -1,88 +0,0 @@
-type == "sqlite")
- {
- return;
- }
-
- @set_time_limit(0);
-
- $ok = array(
- "The storage engine for the table doesn't support check",
- "Table is already up to date",
- "OK"
- );
-
- $comma = "";
- $tables_list = "";
- $repaired = "";
- $setting_done = false;
-
- $tables = $db->list_tables($mybb->config['database']['database'], $mybb->config['database']['table_prefix']);
- foreach($tables as $key => $table)
- {
- $tables_list .= "{$comma}{$table} ";
- $comma = ",";
- }
-
- if($tables_list)
- {
- $query = $db->query("CHECK TABLE {$tables_list}CHANGED;");
- while($table = $db->fetch_array($query))
- {
- if(!in_array($table['Msg_text'], $ok))
- {
- if($table['Table'] != $mybb->config['database']['database'].".".TABLE_PREFIX."settings" && $setting_done != true)
- {
- $boardclosed = $mybb->settings['boardclosed'];
- $boardclosed_reason = $mybb->settings['boardclosed_reason'];
-
- $db->update_query("settings", array('value' => 1), "name='boardclosed'", 1);
- $db->update_query("settings", array('value' => $db->escape_string($lang->error_database_repair)), "name='boardclosed_reason'", 1);
- rebuild_settings();
-
- $setting_done = true;
- }
-
- $db->query("REPAIR TABLE {$table['Table']}");
- $repaired[] = $table['Table'];
- }
- }
-
- if($setting_done == true)
- {
- $db->update_query("settings", array('value' => (int)$boardclosed), "name='boardclosed'", 1);
- $db->update_query("settings", array('value' => $db->escape_string($boardclosed_reason)), "name='boardclosed_reason'", 1);
-
- rebuild_settings();
- }
-
- }
-
- if(is_object($plugins))
- {
- $plugins->run_hooks('task_checktables', $task);
- }
-
- if(!empty($repaired))
- {
- add_task_log($task, $lang->sprintf($lang->task_checktables_ran_found, implode(', ', $repaired)));
- }
- else
- {
- add_task_log($task, $lang->task_checktables_ran);
- }
-}
diff --git a/html/forums/inc/tasks/dailycleanup.php b/html/forums/inc/tasks/dailycleanup.php
deleted file mode 100644
index 5a7a89b..0000000
--- a/html/forums/inc/tasks/dailycleanup.php
+++ /dev/null
@@ -1,92 +0,0 @@
- TIME_NOW-60*60*24,
- 'threadreadcut' => TIME_NOW-(((int)$mybb->settings['threadreadcut'])*60*60*24),
- 'privatemessages' => TIME_NOW-(60*60*24*7),
- 'deleteinvite' => TIME_NOW-(((int)$mybb->settings['deleteinvites'])*60*60*24),
- 'stoppmtracking' => TIME_NOW-(60*60*24*180)
- );
-
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'time' => &$time
- );
- $plugins->run_hooks('task_dailycleanup_start', $args);
- }
-
- // Clear out sessions older than 24h
- $db->delete_query("sessions", "time < '".(int)$time['sessionstime']."'");
-
- // Delete old read topics
- if($mybb->settings['threadreadcut'] > 0)
- {
- $db->delete_query("threadsread", "dateline < '".(int)$time['threadreadcut']."'");
- $db->delete_query("forumsread", "dateline < '".(int)$time['threadreadcut']."'");
- }
-
- // Check PMs moved to trash over a week ago & delete them
- $query = $db->simple_select("privatemessages", "pmid, uid, folder", "deletetime<='".(int)$time['privatemessages']."' AND folder='4'");
- while($pm = $db->fetch_array($query))
- {
- $user_update[$pm['uid']] = 1;
- $pm_update[] = $pm['pmid'];
- }
-
- // Delete old group invites
- if($mybb->settings['deleteinvites'] > 0)
- {
- $db->delete_query("joinrequests", "dateline < '".(int)$time['deleteinvite']."' AND invite='1'");
- }
-
- // Stop tracking read PMs after 6 months
- $sql_array = array(
- "receipt" => 0
- );
- $db->update_query("privatemessages", $sql_array, "receipt='2' AND folder!='3' AND status!='0' AND readtime < '".(int)$time['stoppmtracking']."'");
-
- if(is_object($plugins))
- {
- $args = array(
- 'user_update' => &$user_update,
- 'pm_update' => &$pm_update
- );
- $plugins->run_hooks('task_dailycleanup_end', $args);
- }
-
- if(!empty($pm_update))
- {
- $db->delete_query("privatemessages", "pmid IN(".implode(',', $pm_update).")");
- }
-
- if(!empty($user_update))
- {
- foreach($user_update as $uid => $data)
- {
- update_pm_count($uid);
- }
- }
-
- $cache->update_most_replied_threads();
- $cache->update_most_viewed_threads();
- $cache->update_birthdays();
- $cache->update_forumsdisplay();
-
- add_task_log($task, $lang->task_dailycleanup_ran);
-}
diff --git a/html/forums/inc/tasks/delayedmoderation.php b/html/forums/inc/tasks/delayedmoderation.php
deleted file mode 100644
index 2d30652..0000000
--- a/html/forums/inc/tasks/delayedmoderation.php
+++ /dev/null
@@ -1,259 +0,0 @@
-simple_select("delayedmoderation", "*", "delaydateline <= '".TIME_NOW."'");
- while($delayedmoderation = $db->fetch_array($query))
- {
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'delayedmoderation' => &$delayedmoderation,
- );
- $plugins->run_hooks('task_delayedmoderation', $args);
- }
-
- $tids = explode(',', $delayedmoderation['tids']);
- $input = my_unserialize($delayedmoderation['inputs']);
-
- if(my_strpos($delayedmoderation['type'], "modtool") !== false)
- {
- list(, $custom_id) = explode('_', $delayedmoderation['type'], 2);
- $custommod->execute($custom_id, $tids);
- }
- else
- {
- switch($delayedmoderation['type'])
- {
- case "openclosethread":
- $closed_tids = $open_tids = array();
- $query2 = $db->simple_select("threads", "tid,closed", "tid IN({$delayedmoderation['tids']})");
- while($thread = $db->fetch_array($query2))
- {
- if($thread['closed'] == 1)
- {
- $closed_tids[] = $thread['tid'];
- }
- else
- {
- $open_tids[] = $thread['tid'];
- }
- }
-
- if(!empty($closed_tids))
- {
- $moderation->open_threads($closed_tids);
- }
-
- if(!empty($open_tids))
- {
- $moderation->close_threads($open_tids);
- }
- break;
- case "deletethread":
- foreach($tids as $tid)
- {
- $moderation->delete_thread($tid);
- }
- break;
- case "move":
- foreach($tids as $tid)
- {
- $moderation->move_thread($tid, $input['new_forum']);
- }
- break;
- case "stick":
- $unstuck_tids = $stuck_tids = array();
- $query2 = $db->simple_select("threads", "tid,sticky", "tid IN({$delayedmoderation['tids']})");
- while($thread = $db->fetch_array($query2))
- {
- if($thread['sticky'] == 1)
- {
- $stuck_tids[] = $thread['tid'];
- }
- else
- {
- $unstuck_tids[] = $thread['tid'];
- }
- }
-
- if(!empty($stuck_tids))
- {
- $moderation->unstick_threads($stuck_tids);
- }
-
- if(!empty($unstuck_tids))
- {
- $moderation->stick_threads($unstuck_tids);
- }
- break;
- case "merge":
- // $delayedmoderation['tids'] should be a single tid
- if(count($tids) != 1)
- {
- continue;
- }
-
- // explode at # sign in a url (indicates a name reference) and reassign to the url
- $realurl = explode("#", $input['threadurl']);
- $input['threadurl'] = $realurl[0];
-
- // Are we using an SEO URL?
- if(substr($input['threadurl'], -4) == "html")
- {
- // Get thread to merge's tid the SEO way
- preg_match("#thread-([0-9]+)?#i", $input['threadurl'], $threadmatch);
- preg_match("#post-([0-9]+)?#i", $input['threadurl'], $postmatch);
-
- if($threadmatch[1])
- {
- $parameters['tid'] = $threadmatch[1];
- }
-
- if($postmatch[1])
- {
- $parameters['pid'] = $postmatch[1];
- }
- }
- else
- {
- // Get thread to merge's tid the normal way
- $splitloc = explode(".php", $input['threadurl']);
- $temp = explode("&", my_substr($splitloc[1], 1));
-
- if(!empty($temp))
- {
- for($i = 0; $i < count($temp); $i++)
- {
- $temp2 = explode("=", $temp[$i], 2);
- $parameters[$temp2[0]] = $temp2[1];
- }
- }
- else
- {
- $temp2 = explode("=", $splitloc[1], 2);
- $parameters[$temp2[0]] = $temp2[1];
- }
- }
-
- if($parameters['pid'] && !$parameters['tid'])
- {
- $post = get_post($parameters['pid']);
- $mergetid = $post['tid'];
- }
- else if($parameters['tid'])
- {
- $mergetid = $parameters['tid'];
- }
-
- $mergetid = (int)$mergetid;
- $mergethread = get_thread($mergetid);
-
- if(!$mergethread['tid'])
- {
- continue;
- }
-
- if($mergetid == $delayedmoderation['tids'])
- {
- // sanity check
- continue;
- }
-
- if($input['subject'])
- {
- $subject = $input['subject'];
- }
- else
- {
- $query = $db->simple_select("threads", "subject", "tid='{$delayedmoderation['tids']}'");
- $subject = $db->fetch_field($query, "subject");
- }
-
- $moderation->merge_threads($mergetid, $delayedmoderation['tids'], $subject);
- break;
- case "removeredirects":
- foreach($tids as $tid)
- {
- $moderation->remove_redirects($tid);
- }
- break;
- case "removesubscriptions":
- $moderation->remove_thread_subscriptions($tids, true);
- break;
- case "approveunapprovethread":
- $approved_tids = $unapproved_tids = array();
- $query2 = $db->simple_select("threads", "tid,visible", "tid IN({$delayedmoderation['tids']})");
- while($thread = $db->fetch_array($query2))
- {
- if($thread['visible'] == 1)
- {
- $approved_tids[] = $thread['tid'];
- }
- else
- {
- $unapproved_tids[] = $thread['tid'];
- }
- }
-
- if(!empty($approved_tids))
- {
- $moderation->unapprove_threads($approved_tids);
- }
-
- if(!empty($unapproved_tids))
- {
- $moderation->approve_threads($unapproved_tids);
- }
- break;
- case "softdeleterestorethread":
- $delete_tids = $restore_tids = array();
- $query2 = $db->simple_select("threads", "tid,visible", "tid IN({$delayedmoderation['tids']})");
- while($thread = $db->fetch_array($query2))
- {
- if($thread['visible'] == -1)
- {
- $restore_tids[] = $thread['tid'];
- }
- else
- {
- $delete_tids[] = $thread['tid'];
- }
- }
-
- if(!empty($restore_tids))
- {
- $moderation->restore_threads($restore_tids);
- }
-
- if(!empty($delete_tids))
- {
- $moderation->soft_delete_threads($delete_tids);
- }
- break;
- }
- }
-
- $db->delete_query("delayedmoderation", "did='{$delayedmoderation['did']}'");
- }
-
- add_task_log($task, $lang->task_delayedmoderation_ran);
-}
diff --git a/html/forums/inc/tasks/hourlycleanup.php b/html/forums/inc/tasks/hourlycleanup.php
deleted file mode 100644
index 464d236..0000000
--- a/html/forums/inc/tasks/hourlycleanup.php
+++ /dev/null
@@ -1,53 +0,0 @@
- TIME_NOW,
- 'searchlog' => TIME_NOW-(60*60*24),
- 'captcha' => TIME_NOW-(60*60*24),
- 'question' => TIME_NOW-(60*60*24)
- );
-
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'time' => &$time
- );
- $plugins->run_hooks('task_hourlycleanup', $args);
- }
-
- require_once MYBB_ROOT."inc/class_moderation.php";
- $moderation = new Moderation;
-
- // Delete moved threads with time limits
- $query = $db->simple_select('threads', 'tid', "deletetime != '0' AND deletetime < '".(int)$time['threads']."'");
- while($tid = $db->fetch_field($query, 'tid'))
- {
- $moderation->delete_thread($tid);
- }
-
- // Delete old searches
- $db->delete_query("searchlog", "dateline < '".(int)$time['searchlog']."'");
-
- // Delete old captcha images
- $cut = TIME_NOW-(60*60*24*7);
- $db->delete_query("captcha", "dateline < '".(int)$time['captcha']."'");
-
- // Delete old registration questions
- $cut = TIME_NOW-(60*60*24*7);
- $db->delete_query("questionsessions", "dateline < '".(int)$time['question']."'");
-
- add_task_log($task, $lang->task_hourlycleanup_ran);
-}
diff --git a/html/forums/inc/tasks/index.html b/html/forums/inc/tasks/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/inc/tasks/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/inc/tasks/logcleanup.php b/html/forums/inc/tasks/logcleanup.php
deleted file mode 100644
index b7f0944..0000000
--- a/html/forums/inc/tasks/logcleanup.php
+++ /dev/null
@@ -1,63 +0,0 @@
-config['log_pruning']['admin_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['admin_logs'];
- $db->delete_query("adminlog", "dateline<'{$cut}'");
- }
-
- // Clear out old moderator logs
- if($mybb->config['log_pruning']['mod_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['mod_logs'];
- $db->delete_query("moderatorlog", "dateline<'{$cut}'");
- }
-
- // Clear out old task logs
- if($mybb->config['log_pruning']['task_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['task_logs'];
- $db->delete_query("tasklog", "dateline<'{$cut}'");
- }
-
- // Clear out old mail error logs
- if($mybb->config['log_pruning']['mail_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['mail_logs'];
- $db->delete_query("mailerrors", "dateline<'{$cut}'");
- }
-
- // Clear out old user mail logs
- if($mybb->config['log_pruning']['user_mail_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['user_mail_logs'];
- $db->delete_query("maillogs", "dateline<'{$cut}'");
- }
-
- // Clear out old promotion logs
- if($mybb->config['log_pruning']['promotion_logs'] > 0)
- {
- $cut = TIME_NOW-60*60*24*$mybb->config['log_pruning']['promotion_logs'];
- $db->delete_query("promotionlogs", "dateline<'{$cut}'");
- }
-
- if(is_object($plugins))
- {
- $plugins->run_hooks('task_logcleanup', $task);
- }
-
- add_task_log($task, $lang->task_logcleanup_ran);
-}
diff --git a/html/forums/inc/tasks/massmail.php b/html/forums/inc/tasks/massmail.php
deleted file mode 100644
index 33e8f23..0000000
--- a/html/forums/inc/tasks/massmail.php
+++ /dev/null
@@ -1,150 +0,0 @@
- Please make sure IN_MYBB is defined.");
-}
-
-require_once MYBB_ROOT."/inc/functions_massmail.php";
-require_once MYBB_ROOT."inc/datahandlers/pm.php";
-
-function task_massmail($task)
-{
- global $db, $mybb, $lang, $plugins;
-
- $query = $db->simple_select("massemails", "*", "senddate <= '".TIME_NOW."' AND status IN (1,2)");
- while($mass_email = $db->fetch_array($query))
- {
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'mass_email' => &$mass_email
- );
- $plugins->run_hooks('task_massmail', $args);
- }
-
- if($mass_email['status'] == 1)
- {
- $db->update_query("massemails", array('status' => 2), "mid='{$mass_email['mid']}'");
- }
-
- $sentcount = 0;
-
- if(!$mass_email['perpage'])
- {
- $mass_email['perpage'] = 50;
- }
-
- if(strpos($mass_email['htmlmessage'], ' ') === false && strpos($mass_email['htmlmessage'], ' ') === false)
- {
- $mass_email['htmlmessage'] = nl2br($mass_email['htmlmessage']);
- }
-
- $mass_email['orig_message'] = $mass_email['message'];
- $mass_email['orig_htmlmessage'] = $mass_email['htmlmessage'];
-
- // Need to perform the search to fetch the number of users we're emailing
- $member_query = build_mass_mail_query(my_unserialize($mass_email['conditions']));
-
- $count_query = $db->simple_select("users u", "COUNT(uid) AS num", $member_query);
- $mass_email['totalcount'] = $db->fetch_field($count_query, "num");
-
- $query2 = $db->simple_select("users u", "u.uid, u.language, u.pmnotify, u.lastactive, u.username, u.email", $member_query, array('limit_start' => $mass_email['sentcount'], 'limit' => $mass_email['perpage'], 'order_by' => 'u.uid', 'order_dir' => 'asc'));
- while($user = $db->fetch_array($query2))
- {
- $replacement_fields = array(
- "{uid}" => $user['uid'],
- "{username}" => $user['username'],
- "{email}" => $user['email'],
- "{bbname}" => $mybb->settings['bbname'],
- "{bburl}" => $mybb->settings['bburl'],
- "[".$lang->massmail_username."]" => $user['username'],
- "[".$lang->email_addr."]" => $user['email'],
- "[".$lang->board_name."]" => $mybb->settings['bbname'],
- "[".$lang->board_url."]" => $mybb->settings['bburl']
- );
-
- foreach($replacement_fields as $find => $replace)
- {
- $mass_email['message'] = str_replace($find, $replace, $mass_email['message']);
- $mass_email['htmlmessage'] = str_replace($find, $replace, $mass_email['htmlmessage']);
- }
-
- // Private Message
- if($mass_email['type'] == 1)
- {
- $pm_handler = new PMDataHandler();
- $pm_handler->admin_override = true;
-
- $pm = array(
- "subject" => $mass_email['subject'],
- "message" => $mass_email['message'],
- "fromid" => $mass_email['uid'],
- "options" => array("savecopy" => 0),
- );
-
- $pm['to'] = explode(",", $user['username']);
- $pm_handler->set_data($pm);
- if(!$pm_handler->validate_pm())
- {
- $friendly_errors = implode('\n', $pm_handler->get_friendly_errors());
- add_task_log($task, $lang->sprintf($lang->task_massmail_ran_errors, htmlspecialchars_uni($user['username']), $friendly_errors));
- $friendly_errors = "";
- }
- else
- {
- $pm_handler->insert_pm();
- }
- }
- // Normal Email
- else
- {
- switch($mass_email['format'])
- {
- case 2:
- $format = "both";
- $text_message = $mass_email['message'];
- $mass_email['message'] = $mass_email['htmlmessage'];
- break;
- case 1:
- $format = "html";
- $text_message = "";
- $mass_email['message'] = $mass_email['htmlmessage'];
- break;
- default:
- $format = "text";
- $text_message = "";
- }
- my_mail($user['email'], $mass_email['subject'], $mass_email['message'], "", "", "", false, $format, $text_message);
- }
- ++$sentcount;
-
- $mass_email['message'] = $mass_email['orig_message'];
- $mass_email['htmlmessage'] = $mass_email['orig_htmlmessage'];
- }
-
- $update_array = array();
-
- $update_array['sentcount'] = $mass_email['sentcount'] + $sentcount;
- $update_array['totalcount'] = $mass_email['totalcount'];
-
- if($update_array['sentcount'] >= $mass_email['totalcount'])
- {
- $update_array['status'] = 3;
- }
-
- $db->update_query("massemails", $update_array, "mid='{$mass_email['mid']}'");
- }
-
- add_task_log($task, $lang->task_massmail_ran);
-}
diff --git a/html/forums/inc/tasks/promotions.php b/html/forums/inc/tasks/promotions.php
deleted file mode 100644
index 6210e13..0000000
--- a/html/forums/inc/tasks/promotions.php
+++ /dev/null
@@ -1,255 +0,0 @@
-read("usergroups");
- // Iterate through all our promotions
- $query = $db->simple_select("promotions", "*", "enabled = '1'");
- while($promotion = $db->fetch_array($query))
- {
- // Does the destination usergroup even exist?? If it doesn't and it moves a user to it, the user will get PHP errors.
- if(!array_key_exists($promotion['newusergroup'], $usergroups))
- {
- // Instead of just skipping this promotion, disable it to stop it even being selected when this task is run.
- $update = array(
- "enabled" => 0
- );
- $db->update_query("promotions", $update, "pid = '" . (int)$promotion['pid'] . "'");
- continue;
- }
-
- $and = "";
- $sql_where = "";
-
- // Based on the promotion generate criteria for user selection
- $requirements = explode(',', $promotion['requirements']);
- if(in_array('postcount', $requirements) && (int)$promotion['posts'] >= 0 && !empty($promotion['posttype']))
- {
- $sql_where .= "{$and}postnum {$promotion['posttype']} '{$promotion['posts']}'";
-
- $and = " AND ";
- }
-
- if(in_array('threadcount', $requirements) && (int)$promotion['threads'] >= 0 && !empty($promotion['threadtype']))
- {
- $sql_where .= "{$and}threadnum {$promotion['threadtype']} '{$promotion['threads']}'";
-
- $and = " AND ";
- }
-
- if(in_array('reputation', $requirements) && !empty($promotion['reputationtype']))
- {
- $sql_where .= "{$and}reputation {$promotion['reputationtype']} '{$promotion['reputations']}'";
-
- $and = " AND ";
- }
-
- if(in_array('referrals', $requirements) && (int)$promotion['referrals'] >= 0 && !empty($promotion['referralstype']))
- {
- $sql_where .= "{$and}referrals {$promotion['referralstype']} '{$promotion['referrals']}'";
-
- $and = " AND ";
- }
-
- if(in_array('warnings', $requirements) && (int)$promotion['warnings'] >= 0 && !empty($promotion['warningstype']))
- {
- $sql_where .= "{$and}warningpoints {$promotion['warningstype']} '{$promotion['warnings']}'";
-
- $and = " AND ";
- }
-
- if(in_array('timeregistered', $requirements) && (int)$promotion['registered'] > 0 && !empty($promotion['registeredtype']))
- {
- switch($promotion['registeredtype'])
- {
- case "hours":
- $regdate = $promotion['registered']*60*60;
- break;
- case "days":
- $regdate = $promotion['registered']*60*60*24;
- break;
- case "weeks":
- $regdate = $promotion['registered']*60*60*24*7;
- break;
- case "months":
- $regdate = $promotion['registered']*60*60*24*30;
- break;
- case "years":
- $regdate = $promotion['registered']*60*60*24*365;
- break;
- default:
- $regdate = $promotion['registered']*60*60*24;
- }
- $sql_where .= "{$and}regdate <= '".(TIME_NOW-$regdate)."'";
- $and = " AND ";
- }
-
- if(in_array('timeonline', $requirements) && (int)$promotion['online'] > 0 && !empty($promotion['onlinetype']))
- {
- switch($promotion['onlinetype'])
- {
- case "hours":
- $timeonline = $promotion['online']*60*60;
- break;
- case "days":
- $timeonline = $promotion['online']*60*60*24;
- break;
- case "weeks":
- $timeonline = $promotion['online']*60*60*24*7;
- break;
- case "months":
- $timeonline = $promotion['online']*60*60*24*30;
- break;
- case "years":
- $timeonline = $promotion['online']*60*60*24*365;
- break;
- default:
- $timeonline = $promotion['online']*60*60*24;
- }
- $sql_where .= "{$and}timeonline <= '".(TIME_NOW-$timeonline)."'";
- $and = " AND ";
- }
-
- if(!empty($promotion['originalusergroup']) && $promotion['originalusergroup'] != '*')
- {
- $sql_where .= "{$and}usergroup IN ({$promotion['originalusergroup']})";
-
- $and = " AND ";
- }
-
- if(!empty($promotion['newusergroup']))
- {
- // Skip users that are already in the new group
- switch($db->type)
- {
- case "pgsql":
- case "sqlite":
- $sql_where .= "{$and}usergroup != '{$promotion['newusergroup']}' AND ','||additionalgroups||',' NOT LIKE '%,{$promotion['newusergroup']},%'";
- break;
- default:
- $sql_where .= "{$and}usergroup != '{$promotion['newusergroup']}' AND CONCAT(',', additionalgroups, ',') NOT LIKE '%,{$promotion['newusergroup']},%'";
- }
-
- $and = " AND ";
- }
-
- $uid = array();
- $log_inserts = array();
-
- if($promotion['usergrouptype'] == "secondary")
- {
- $usergroup_select = "additionalgroups";
- }
- else
- {
- $usergroup_select = "usergroup";
- }
-
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'promotion' => &$promotion,
- 'sql_where' => &$sql_where,
- 'and' => &$and,
- 'usergroup_select' => &$usergroup_select
- );
- $plugins->run_hooks('task_promotions', $args);
- }
-
- $query2 = $db->simple_select("users", "uid,{$usergroup_select}", $sql_where);
-
- $uids = array();
- while($user = $db->fetch_array($query2))
- {
- if(is_super_admin($user['uid']))
- {
- // Skip super admins
- continue;
- }
-
- // super admin check?
- if($usergroup_select == "additionalgroups")
- {
- $log_inserts[] = array(
- 'pid' => $promotion['pid'],
- 'uid' => $user['uid'],
- 'oldusergroup' => $user['additionalgroups'],
- 'newusergroup' => $promotion['newusergroup'],
- 'dateline' => TIME_NOW,
- 'type' => "secondary",
- );
- }
- else
- {
- $log_inserts[] = array(
- 'pid' => $promotion['pid'],
- 'uid' => $user['uid'],
- 'oldusergroup' => $user['usergroup'],
- 'newusergroup' => $promotion['newusergroup'],
- 'dateline' => TIME_NOW,
- 'type' => "primary",
- );
- }
-
- $uids[] = $user['uid'];
-
-
- if($usergroup_select == "additionalgroups")
- {
- if(join_usergroup($user['uid'], $promotion['newusergroup']) === false)
- {
- // Did the user already have the additional usergroup?
- array_pop($log_inserts);
- array_pop($uids);
- }
- }
-
- if((count($uids) % 20) == 0)
- {
- if($usergroup_select == "usergroup")
- {
- $db->update_query("users", array('usergroup' => $promotion['newusergroup']), "uid IN(".implode(",", $uids).")");
- }
-
- if(!empty($log_inserts))
- {
- $db->insert_query_multiple("promotionlogs", $log_inserts);
- }
-
- $uids = array();
- $log_inserts = array();
- }
- }
-
- if(count($uids) > 0)
- {
- if($usergroup_select == "usergroup")
- {
- $db->update_query("users", array('usergroup' => $promotion['newusergroup']), "uid IN(".implode(",", $uids).")");
- }
-
- if(!empty($log_inserts))
- {
- $db->insert_query_multiple("promotionlogs", $log_inserts);
- }
-
- $uids = array();
- $log_inserts = array();
- }
- }
-
- $cache->update_moderators();
-
- add_task_log($task, $lang->task_promotions_ran);
-}
diff --git a/html/forums/inc/tasks/recachestylesheets.php b/html/forums/inc/tasks/recachestylesheets.php
deleted file mode 100644
index 8ef1cda..0000000
--- a/html/forums/inc/tasks/recachestylesheets.php
+++ /dev/null
@@ -1,39 +0,0 @@
-config['admin_dir']."/inc/functions_themes.php"))
- {
- require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
- }
- else if(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
- {
- require_once MYBB_ROOT."admin/inc/functions_themes.php";
- }
-
- $query = $db->simple_select('themestylesheets', '*');
-
- $num_recached = 0;
-
- while($stylesheet = $db->fetch_array($query))
- {
- if(cache_stylesheet($stylesheet['tid'], $stylesheet['name'], $stylesheet['stylesheet']))
- {
- $db->update_query("themestylesheets", array('cachefile' => $db->escape_string($stylesheet['name'])), "sid='{$stylesheet['sid']}'", 1);
- ++$num_recached;
- }
- }
-
- add_task_log($task, $lang->sprintf($lang->task_recachestylesheets_ran, $num_recached));
-}
-
diff --git a/html/forums/inc/tasks/threadviews.php b/html/forums/inc/tasks/threadviews.php
deleted file mode 100644
index 53ee881..0000000
--- a/html/forums/inc/tasks/threadviews.php
+++ /dev/null
@@ -1,35 +0,0 @@
-settings['delayedthreadviews'] != 1)
- {
- return;
- }
-
- // Update thread views
- $query = $db->simple_select("threadviews", "tid, COUNT(tid) AS views", "", array('group_by' => 'tid'));
- while($threadview = $db->fetch_array($query))
- {
- $db->update_query("threads", array('views' => "views+{$threadview['views']}"), "tid='{$threadview['tid']}'", 1, true);
- }
-
- $db->write_query("TRUNCATE TABLE ".TABLE_PREFIX."threadviews");
-
- if(is_object($plugins))
- {
- $plugins->run_hooks('task_threadviews', $task);
- }
-
- add_task_log($task, $lang->task_threadviews_ran);
-}
diff --git a/html/forums/inc/tasks/usercleanup.php b/html/forums/inc/tasks/usercleanup.php
deleted file mode 100644
index fc32330..0000000
--- a/html/forums/inc/tasks/usercleanup.php
+++ /dev/null
@@ -1,74 +0,0 @@
-expire_warnings();
-
- // Expire any post moderation or suspension limits
- $query = $db->simple_select("users", "uid, moderationtime, suspensiontime", "(moderationtime!=0 AND moderationtime<".TIME_NOW.") OR (suspensiontime!=0 AND suspensiontime<".TIME_NOW.")");
- while($user = $db->fetch_array($query))
- {
- $updated_user = array();
- if($user['moderationtime'] != 0 && $user['moderationtime'] < TIME_NOW)
- {
- $updated_user['moderateposts'] = 0;
- $updated_user['moderationtime'] = 0;
- }
- if($user['suspensiontime'] != 0 && $user['suspensiontime'] < TIME_NOW)
- {
- $updated_user['suspendposting'] = 0;
- $updated_user['suspensiontime'] = 0;
- }
- $db->update_query("users", $updated_user, "uid='{$user['uid']}'");
- }
-
- // Expire any suspended signatures
- $query = $db->simple_select("users", "uid, suspendsigtime", "suspendsignature != 0 AND suspendsigtime < '".TIME_NOW."'");
- while($user = $db->fetch_array($query))
- {
- if($user['suspendsigtime'] != 0 && $user['suspendsigtime'] < TIME_NOW)
- {
- $updated_user = array(
- "suspendsignature" => 0,
- "suspendsigtime" => 0,
- );
- $db->update_query("users", $updated_user, "uid='".$user['uid']."'");
- }
- }
-
- // Expire bans
- $query = $db->simple_select("banned", "*", "lifted!=0 AND lifted<".TIME_NOW);
- while($ban = $db->fetch_array($query))
- {
- $updated_user = array(
- "usergroup" => $ban['oldgroup'],
- "additionalgroups" => $ban['oldadditionalgroups'],
- "displaygroup" => $ban['olddisplaygroup']
- );
- $db->update_query("users", $updated_user, "uid='{$ban['uid']}'");
- $db->delete_query("banned", "uid='{$ban['uid']}'");
- }
-
- $cache->update_moderators();
-
- if(is_object($plugins))
- {
- $plugins->run_hooks('task_usercleanup', $task);
- }
-
- add_task_log($task, $lang->task_usercleanup_ran);
-}
diff --git a/html/forums/inc/tasks/userpruning.php b/html/forums/inc/tasks/userpruning.php
deleted file mode 100644
index b3871ba..0000000
--- a/html/forums/inc/tasks/userpruning.php
+++ /dev/null
@@ -1,101 +0,0 @@
-settings['enablepruning'] != 1)
- {
- return;
- }
-
- // Are we pruning by posts?
- if($mybb->settings['enableprunebyposts'] == 1)
- {
- $in_usergroups = array();
- $users = array();
-
- $usergroups = $cache->read('usergroups');
- foreach($usergroups as $gid => $usergroup)
- {
- // Exclude admin, moderators, super moderators, banned
- if($usergroup['canmodcp'] == 1 || $usergroup['cancp'] == 1 || $usergroup['issupermod'] == 1 || $usergroup['isbannedgroup'] == 1)
- {
- continue;
- }
- $in_usergroups[] = $gid;
- }
-
- // If we're not pruning unactivated users, then remove them from the criteria
- if($mybb->settings['pruneunactived'] == 0)
- {
- $key = array_search('5', $in_usergroups);
- unset($in_usergroups[$key]);
- }
-
- $prunepostcount = (int)$mybb->settings['prunepostcount'];
-
- $regdate = TIME_NOW-((int)$mybb->settings['dayspruneregistered']*24*60*60);
-
- $usergroups = $db->escape_string(implode(',', $in_usergroups));
-
- $query = $db->simple_select('users', 'uid', "regdate<={$regdate} AND postnum<={$prunepostcount} AND usergroup IN({$usergroups})");
- while($uid = $db->fetch_field($query, 'uid'))
- {
- $users[$uid] = $uid;
- }
-
- if($users && $mybb->settings['prunepostcountall'])
- {
- $query = $db->simple_select('posts', 'uid, COUNT(pid) as posts', "uid IN ('".implode("','", $users)."') AND visible>0", array('group_by' => 'uid'));
- while($user = $db->fetch_array($query))
- {
- if($user['posts'] >= $prunepostcount)
- {
- unset($users[$user['uid']]);
- }
- }
- }
- }
-
- // Are we pruning unactivated users?
- if($mybb->settings['pruneunactived'] == 1)
- {
- $regdate = TIME_NOW-((int)$mybb->settings['dayspruneunactivated']*24*60*60);
- $query = $db->simple_select("users", "uid", "regdate<={$regdate} AND usergroup='5'");
- while($user = $db->fetch_array($query))
- {
- $users[$user['uid']] = $user['uid'];
- }
- }
-
- if(is_object($plugins))
- {
- $args = array(
- 'task' => &$task,
- 'in_usergroups' => &$in_usergroups,
- 'users' => &$users,
- );
- $plugins->run_hooks('task_userpruning', $args);
- }
-
- if(!empty($users))
- {
- // Set up user handler.
- require_once MYBB_ROOT.'inc/datahandlers/user.php';
- $userhandler = new UserDataHandler('delete');
-
- // Delete the prunned users
- $userhandler->delete_user($users, $mybb->settings['prunethreads']);
- }
-
- add_task_log($task, $lang->task_userpruning_ran);
-}
diff --git a/html/forums/inc/tasks/versioncheck.php b/html/forums/inc/tasks/versioncheck.php
deleted file mode 100644
index 3dfd76f..0000000
--- a/html/forums/inc/tasks/versioncheck.php
+++ /dev/null
@@ -1,101 +0,0 @@
-version_code);
-
- $updated_cache = array(
- 'last_check' => TIME_NOW
- );
-
- // Check for the latest version
- require_once MYBB_ROOT.'inc/class_xml.php';
- $contents = fetch_remote_file("https://mybb.com/version_check.php");
-
- if(!$contents)
- {
- add_task_log($task, $lang->task_versioncheck_ran_errors);
- return false;
- }
-
- $pos = strpos($contents, "<");
- if($pos > 1)
- {
- $contents = substr($contents, $pos);
- }
-
- $pos = strpos(strrev($contents), ">");
- if($pos > 1)
- {
- $contents = substr($contents, 0, (-1) * ($pos-1));
- }
-
- $parser = new XMLParser($contents);
- $tree = $parser->get_tree();
-
- $latest_code = (int)$tree['mybb']['version_code']['value'];
- $latest_version = "".htmlspecialchars_uni($tree['mybb']['latest_version']['value'])." (".$latest_code.")";
- if($latest_code > $mybb->version_code)
- {
- $latest_version = "".$latest_version." ";
- $version_warn = 1;
- $updated_cache['latest_version'] = $latest_version;
- $updated_cache['latest_version_code'] = $latest_code;
- }
- else
- {
- $latest_version = "".$latest_version." ";
- }
-
- // Check for the latest news
- require_once MYBB_ROOT."inc/class_feedparser.php";
-
- $feed_parser = new FeedParser();
- $feed_parser->parse_feed("http://feeds.feedburner.com/MyBBDevelopmentBlog");
-
- $updated_cache['news'] = array();
-
- require_once MYBB_ROOT . '/inc/class_parser.php';
- $post_parser = new postParser();
-
- if($feed_parser->error == '')
- {
- foreach($feed_parser->items as $item)
- {
- if (isset($updated_cache['news'][2]))
- {
- break;
- }
-
- $description = $item['description'];
-
- $description = $post_parser->parse_message($description, array(
- 'allow_html' => true,
- )
- );
-
- $description = preg_replace('# #', '', $description);
-
- $updated_cache['news'][] = array(
- 'title' => htmlspecialchars_uni($item['title']),
- 'description' => $description,
- 'link' => htmlspecialchars_uni($item['link']),
- 'author' => htmlspecialchars_uni($item['author']),
- 'dateline' => $item['date_timestamp']
- );
- }
- }
-
- $cache->update("update_check", $updated_cache);
- add_task_log($task, $lang->task_versioncheck_ran);
-}
diff --git a/html/forums/index.php b/html/forums/index.php
deleted file mode 100644
index 8b16449..0000000
--- a/html/forums/index.php
+++ /dev/null
@@ -1,384 +0,0 @@
-run_hooks('index_start');
-
-// Load global language phrases
-$lang->load('index');
-
-$logoutlink = '';
-if($mybb->user['uid'] != 0)
-{
- eval('$logoutlink = "'.$templates->get('index_logoutlink').'";');
-}
-
-$statspage = '';
-if($mybb->settings['statsenabled'] != 0)
-{
- eval('$statspage = "'.$templates->get('index_statspage').'";');
-}
-
-$whosonline = '';
-if($mybb->settings['showwol'] != 0 && $mybb->usergroup['canviewonline'] != 0)
-{
- // Get the online users.
- if($mybb->settings['wolorder'] == 'username')
- {
- $order_by = 'u.username ASC';
- $order_by2 = 's.time DESC';
- }
- else
- {
- $order_by = 's.time DESC';
- $order_by2 = 'u.username ASC';
- }
-
- $timesearch = TIME_NOW - (int)$mybb->settings['wolcutoff'];
- $comma = '';
- $query = $db->query("
- SELECT s.sid, s.ip, s.uid, s.time, s.location, s.location1, u.username, u.invisible, u.usergroup, u.displaygroup
- FROM ".TABLE_PREFIX."sessions s
- LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
- WHERE s.time > '".$timesearch."'
- ORDER BY {$order_by}, {$order_by2}
- ");
-
- $forum_viewers = $doneusers = array();
- $membercount = $guestcount = $anoncount = $botcount = 0;
- $onlinemembers = $comma = '';
-
- // Fetch spiders
- $spiders = $cache->read('spiders');
-
- // Loop through all users.
- while($user = $db->fetch_array($query))
- {
- // Create a key to test if this user is a search bot.
- $botkey = my_strtolower(str_replace('bot=', '', $user['sid']));
-
- // Decide what type of user we are dealing with.
- if($user['uid'] > 0)
- {
- // The user is registered.
- if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
- {
- // If the user is logged in anonymously, update the count for that.
- if($user['invisible'] == 1)
- {
- ++$anoncount;
- }
- ++$membercount;
- if($user['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid'])
- {
- // If this usergroup can see anonymously logged-in users, mark them.
- if($user['invisible'] == 1)
- {
- $invisiblemark = '*';
- }
- else
- {
- $invisiblemark = '';
- }
-
- // Properly format the username and assign the template.
- $user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);
- $user['profilelink'] = build_profile_link($user['username'], $user['uid']);
- eval('$onlinemembers .= "'.$templates->get('index_whosonline_memberbit', 1, 0).'";');
- $comma = $lang->comma;
- }
- // This user has been handled.
- $doneusers[$user['uid']] = $user['time'];
- }
- }
- elseif(my_strpos($user['sid'], 'bot=') !== false && $spiders[$botkey])
- {
- // The user is a search bot.
- $onlinemembers .= $comma.format_name($spiders[$botkey]['name'], $spiders[$botkey]['usergroup']);
- $comma = $lang->comma;
- ++$botcount;
- }
- else
- {
- // The user is a guest.
- ++$guestcount;
- }
-
- if($user['location1'])
- {
- ++$forum_viewers[$user['location1']];
- }
- }
-
- // Build the who's online bit on the index page.
- $onlinecount = $membercount + $guestcount + $botcount;
-
- if($onlinecount != 1)
- {
- $onlinebit = $lang->online_online_plural;
- }
- else
- {
- $onlinebit = $lang->online_online_singular;
- }
- if($membercount != 1)
- {
- $memberbit = $lang->online_member_plural;
- }
- else
- {
- $memberbit = $lang->online_member_singular;
- }
- if($anoncount != 1)
- {
- $anonbit = $lang->online_anon_plural;
- }
- else
- {
- $anonbit = $lang->online_anon_singular;
- }
- if($guestcount != 1)
- {
- $guestbit = $lang->online_guest_plural;
- }
- else
- {
- $guestbit = $lang->online_guest_singular;
- }
- $lang->online_note = $lang->sprintf($lang->online_note, my_number_format($onlinecount), $onlinebit, $mybb->settings['wolcutoffmins'], my_number_format($membercount), $memberbit, my_number_format($anoncount), $anonbit, my_number_format($guestcount), $guestbit);
- eval('$whosonline = "'.$templates->get('index_whosonline').'";');
-}
-
-// Build the birthdays for to show on the index page.
-$bdays = $birthdays = '';
-if($mybb->settings['showbirthdays'] != 0)
-{
- // First, see what day this is.
- $bdaycount = $bdayhidden = 0;
- $bdaydate = my_date('j-n', TIME_NOW, '', 0);
- $year = my_date('Y', TIME_NOW, '', 0);
-
- $bdaycache = $cache->read('birthdays');
-
- if(!is_array($bdaycache))
- {
- $cache->update_birthdays();
- $bdaycache = $cache->read('birthdays');
- }
-
- $hiddencount = $today_bdays = 0;
- if(isset($bdaycache[$bdaydate]))
- {
- $hiddencount = $bdaycache[$bdaydate]['hiddencount'];
- $today_bdays = $bdaycache[$bdaydate]['users'];
- }
-
- $comma = '';
- if(!empty($today_bdays))
- {
- if((int)$mybb->settings['showbirthdayspostlimit'] > 0)
- {
- $bdayusers = array();
- foreach($today_bdays as $key => $bdayuser_pc)
- {
- $bdayusers[$bdayuser_pc['uid']] = $key;
- }
-
- if(!empty($bdayusers))
- {
- // Find out if our users have enough posts to be seen on our birthday list
- $bday_sql = implode(',', array_keys($bdayusers));
- $query = $db->simple_select('users', 'uid, postnum', "uid IN ({$bday_sql})");
-
- while($bdayuser = $db->fetch_array($query))
- {
- if($bdayuser['postnum'] < $mybb->settings['showbirthdayspostlimit'])
- {
- unset($today_bdays[$bdayusers[$bdayuser['uid']]]);
- }
- }
- }
- }
-
- // We still have birthdays - display them in our list!
- if(!empty($today_bdays))
- {
- foreach($today_bdays as $bdayuser)
- {
- if($bdayuser['displaygroup'] == 0)
- {
- $bdayuser['displaygroup'] = $bdayuser['usergroup'];
- }
-
- // If this user's display group can't be seen in the birthday list, skip it
- if($groupscache[$bdayuser['displaygroup']] && $groupscache[$bdayuser['displaygroup']]['showinbirthdaylist'] != 1)
- {
- continue;
- }
-
- $age = '';
- $bday = explode('-', $bdayuser['birthday']);
- if($year > $bday['2'] && $bday['2'] != '')
- {
- $age = ' ('.($year - $bday['2']).')';
- }
-
- $bdayuser['username'] = format_name(htmlspecialchars_uni($bdayuser['username']), $bdayuser['usergroup'], $bdayuser['displaygroup']);
- $bdayuser['profilelink'] = build_profile_link($bdayuser['username'], $bdayuser['uid']);
- eval('$bdays .= "'.$templates->get('index_birthdays_birthday', 1, 0).'";');
- ++$bdaycount;
- $comma = $lang->comma;
- }
- }
- }
-
- if($hiddencount > 0)
- {
- if($bdaycount > 0)
- {
- $bdays .= ' - ';
- }
-
- $bdays .= "{$hiddencount} {$lang->birthdayhidden}";
- }
-
- // If there are one or more birthdays, show them.
- if($bdaycount > 0 || $hiddencount > 0)
- {
- eval('$birthdays = "'.$templates->get('index_birthdays').'";');
- }
-}
-
-// Build the forum statistics to show on the index page.
-$forumstats = '';
-if($mybb->settings['showindexstats'] != 0)
-{
- // First, load the stats cache.
- $stats = $cache->read('stats');
-
- // Check who's the newest member.
- if(!$stats['lastusername'])
- {
- $newestmember = $lang->nobody;;
- }
- else
- {
- $newestmember = build_profile_link($stats['lastusername'], $stats['lastuid']);
- }
-
- // Format the stats language.
- $lang->stats_posts_threads = $lang->sprintf($lang->stats_posts_threads, my_number_format($stats['numposts']), my_number_format($stats['numthreads']));
- $lang->stats_numusers = $lang->sprintf($lang->stats_numusers, my_number_format($stats['numusers']));
- $lang->stats_newestuser = $lang->sprintf($lang->stats_newestuser, $newestmember);
-
- // Find out what the highest users online count is.
- $mostonline = $cache->read('mostonline');
- if($onlinecount > $mostonline['numusers'])
- {
- $time = TIME_NOW;
- $mostonline['numusers'] = $onlinecount;
- $mostonline['time'] = $time;
- $cache->update('mostonline', $mostonline);
- }
- $recordcount = $mostonline['numusers'];
- $recorddate = my_date($mybb->settings['dateformat'], $mostonline['time']);
- $recordtime = my_date($mybb->settings['timeformat'], $mostonline['time']);
-
- // Then format that language string.
- $lang->stats_mostonline = $lang->sprintf($lang->stats_mostonline, my_number_format($recordcount), $recorddate, $recordtime);
-
- eval('$forumstats = "'.$templates->get('index_stats').'";');
-}
-
-// Show the board statistics table only if one or more index statistics are enabled.
-$boardstats = '';
-if(($mybb->settings['showwol'] != 0 && $mybb->usergroup['canviewonline'] != 0) || $mybb->settings['showindexstats'] != 0 || ($mybb->settings['showbirthdays'] != 0 && $bdaycount > 0))
-{
- if(!isset($stats) || isset($stats) && !is_array($stats))
- {
- // Load the stats cache.
- $stats = $cache->read('stats');
- }
-
- eval('$boardstats = "'.$templates->get('index_boardstats').'";');
-}
-
-if($mybb->user['uid'] == 0)
-{
- // Build a forum cache.
- $query = $db->simple_select('forums', '*', 'active!=0', array('order_by' => 'pid, disporder'));
-
- $forumsread = array();
- if(isset($mybb->cookies['mybb']['forumread']))
- {
- $forumsread = my_unserialize($mybb->cookies['mybb']['forumread']);
- }
-}
-else
-{
- // Build a forum cache.
- $query = $db->query("
- SELECT f.*, fr.dateline AS lastread
- FROM ".TABLE_PREFIX."forums f
- LEFT JOIN ".TABLE_PREFIX."forumsread fr ON (fr.fid = f.fid AND fr.uid = '{$mybb->user['uid']}')
- WHERE f.active != 0
- ORDER BY pid, disporder
- ");
-}
-
-while($forum = $db->fetch_array($query))
-{
- if($mybb->user['uid'] == 0)
- {
- if(!empty($forumsread[$forum['fid']]))
- {
- $forum['lastread'] = $forumsread[$forum['fid']];
- }
- }
- $fcache[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum;
-}
-$forumpermissions = forum_permissions();
-
-// Get the forum moderators if the setting is enabled.
-$moderatorcache = array();
-if($mybb->settings['modlist'] != 0 && $mybb->settings['modlist'] != 'off')
-{
- $moderatorcache = $cache->read('moderators');
-}
-
-$excols = 'index';
-$permissioncache['-1'] = '1';
-$bgcolor = 'trow1';
-
-// Decide if we're showing first-level subforums on the index page.
-$showdepth = 2;
-if($mybb->settings['subforumsindex'] != 0)
-{
- $showdepth = 3;
-}
-
-$forum_list = build_forumbits();
-$forums = $forum_list['forum_list'];
-
-$plugins->run_hooks('index_end');
-
-eval('$index = "'.$templates->get('index').'";');
-output_page($index);
diff --git a/html/forums/install/images/active.png b/html/forums/install/images/active.png
deleted file mode 100644
index 8870723..0000000
Binary files a/html/forums/install/images/active.png and /dev/null differ
diff --git a/html/forums/install/images/inactive.png b/html/forums/install/images/inactive.png
deleted file mode 100644
index 2cf48fc..0000000
Binary files a/html/forums/install/images/inactive.png and /dev/null differ
diff --git a/html/forums/install/images/index.html b/html/forums/install/images/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/install/images/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/install/images/logo.png b/html/forums/install/images/logo.png
deleted file mode 100644
index 531dc80..0000000
Binary files a/html/forums/install/images/logo.png and /dev/null differ
diff --git a/html/forums/install/images/submit_bg.png b/html/forums/install/images/submit_bg.png
deleted file mode 100644
index 688062e..0000000
Binary files a/html/forums/install/images/submit_bg.png and /dev/null differ
diff --git a/html/forums/install/images/tcat.png b/html/forums/install/images/tcat.png
deleted file mode 100644
index 1d07e08..0000000
Binary files a/html/forums/install/images/tcat.png and /dev/null differ
diff --git a/html/forums/install/images/thead.png b/html/forums/install/images/thead.png
deleted file mode 100644
index 7a56d81..0000000
Binary files a/html/forums/install/images/thead.png and /dev/null differ
diff --git a/html/forums/install/index.php b/html/forums/install/index.php
deleted file mode 100644
index 8dc05a2..0000000
--- a/html/forums/install/index.php
+++ /dev/null
@@ -1,2530 +0,0 @@
-set_path(MYBB_ROOT.'install/resources');
-$lang->load('language');
-
-// Load DB interface
-require_once MYBB_ROOT."inc/db_base.php";
-
-// Prevent any shut down functions from running
-$done_shutdown = 1;
-
-// Include the necessary constants for installation
-$grouppermignore = array('gid', 'type', 'title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');
-$groupzerogreater = array('pmquota', 'maxpmrecipients', 'maxreputationsday', 'attachquota', 'maxemails', 'maxwarningsday', 'maxposts', 'edittimelimit', 'canusesigxposts', 'maxreputationsperuser', 'maxreputationsperthread', 'emailfloodtime');
-$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');
-$fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');
-
-// Include the installation resources
-require_once INSTALL_ROOT.'resources/output.php';
-$output = new installerOutput;
-
-$dboptions = array();
-
-if(function_exists('mysqli_connect'))
-{
- $dboptions['mysqli'] = array(
- 'class' => 'DB_MySQLi',
- 'title' => 'MySQL Improved',
- 'short_title' => 'MySQLi',
- 'structure_file' => 'mysql_db_tables.php',
- 'population_file' => 'mysql_db_inserts.php'
- );
-}
-
-if(function_exists('mysql_connect'))
-{
- $dboptions['mysql'] = array(
- 'class' => 'DB_MySQL',
- 'title' => 'MySQL',
- 'short_title' => 'MySQL',
- 'structure_file' => 'mysql_db_tables.php',
- 'population_file' => 'mysql_db_inserts.php'
- );
-}
-
-if(function_exists('pg_connect'))
-{
- $dboptions['pgsql'] = array(
- 'class' => 'DB_PgSQL',
- 'title' => 'PostgreSQL',
- 'short_title' => 'PostgreSQL',
- 'structure_file' => 'pgsql_db_tables.php',
- 'population_file' => 'mysql_db_inserts.php'
- );
-}
-
-if(class_exists('PDO'))
-{
- $supported_dbs = PDO::getAvailableDrivers();
- if(in_array('sqlite', $supported_dbs))
- {
- $dboptions['sqlite'] = array(
- 'class' => 'DB_SQLite',
- 'title' => 'SQLite 3',
- 'short_title' => 'SQLite',
- 'structure_file' => 'sqlite_db_tables.php',
- 'population_file' => 'mysql_db_inserts.php'
- );
- }
-}
-
-if(file_exists('lock') && $mybb->dev_mode != true)
-{
- $output->print_error($lang->locked);
-}
-else if($installed == true && empty($mybb->input['action']))
-{
- $output->print_header($lang->already_installed, "errormsg", 0);
- echo $lang->sprintf($lang->mybb_already_installed, $mybb->version);
- $output->print_footer();
-}
-else
-{
- $output->steps = array(
- 'intro' => $lang->welcome,
- 'license' => $lang->license_agreement,
- 'requirements_check' => $lang->req_check,
- 'database_info' => $lang->db_config,
- 'create_tables' => $lang->table_creation,
- 'populate_tables' => $lang->data_insertion,
- 'templates' => $lang->theme_install,
- 'configuration' => $lang->board_config,
- 'adminuser' => $lang->admin_user,
- 'final' => $lang->finish_setup,
- );
-
- switch($mybb->get_input('action'))
- {
- case 'license':
- license_agreement();
- break;
- case 'requirements_check':
- requirements_check();
- break;
- case 'database_info':
- database_info();
- break;
- case 'create_tables':
- create_tables();
- break;
- case 'populate_tables':
- populate_tables();
- break;
- case 'templates':
- insert_templates();
- break;
- case 'configuration':
- configure();
- break;
- case 'adminuser':
- create_admin_user();
- break;
- case 'final':
- install_done();
- break;
- default:
- $mybb->input['action'] = 'intro';
- intro();
- break;
- }
-}
-
-/**
- * Welcome page
- */
-function intro()
-{
- global $output, $mybb, $lang;
-
- $output->print_header();
- if(strpos(strtolower(get_current_location('', '', true)), '/upload/') !== false)
- {
- echo $lang->sprintf($lang->mybb_incorrect_folder);
- }
- echo $lang->sprintf($lang->welcome_step, $mybb->version);
- $output->print_footer('license');
-}
-
-/**
- * Show the license agreement
- */
-function license_agreement()
-{
- global $output, $lang, $mybb;
-
- ob_start();
- $output->print_header($lang->license_agreement, 'license');
-
- if($mybb->get_input('allow_anonymous_info', MyBB::INPUT_INT) == 1)
- {
- require_once MYBB_ROOT."inc/functions_serverstats.php";
- $build_server_stats = build_server_stats(1, '', $mybb->version_code);
-
- if($build_server_stats['info_sent_success'] == false)
- {
- echo $build_server_stats['info_image'];
- }
- }
- ob_end_flush();
-
- $license = <<
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
-EOF;
- echo $lang->sprintf($lang->license_step, $license);
- $output->print_footer('requirements_check');
-}
-
-/**
- * Check our requirements
- */
-function requirements_check()
-{
- global $output, $mybb, $dboptions, $lang;
-
- $mybb->input['action'] = "requirements_check";
- $output->print_header($lang->req_check, 'requirements');
- echo $lang->req_step_top;
- $errors = array();
- $showerror = 0;
-
- if(!file_exists(MYBB_ROOT."/inc/config.php"))
- {
- if(!@rename(MYBB_ROOT."/inc/config.default.php", MYBB_ROOT."/inc/config.php"))
- {
- if(!$configwritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configdefaultfile);
- $configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- }
- }
- }
-
- // Check PHP Version
- if(version_compare(PHP_VERSION, '5.2.0', "<"))
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->sprintf($lang->req_step_error_phpversion, PHP_VERSION));
- $phpversion = $lang->sprintf($lang->req_step_span_fail, PHP_VERSION);
- $showerror = 1;
- }
- else
- {
- $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
- }
-
- $mboptions = array();
-
- if(function_exists('mb_detect_encoding'))
- {
- $mboptions[] = $lang->multi_byte;
- }
-
- if(function_exists('iconv'))
- {
- $mboptions[] = 'iconv';
- }
-
- // Check Multibyte extensions
- if(count($mboptions) < 1)
- {
- $mbstatus = $lang->sprintf($lang->req_step_span_fail, $lang->none);
- }
- else
- {
- $mbstatus = implode(', ', $mboptions);
- }
-
- // Check database engines
- if(count($dboptions) < 1)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions);
- $dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none);
- $showerror = 1;
- }
- else
- {
- foreach($dboptions as $dboption)
- {
- $dbsupportlist[] = $dboption['title'];
- }
- $dbsupportlist = implode(', ', $dbsupportlist);
- }
-
- // Check XML parser is installed
- if(!function_exists('xml_parser_create'))
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport);
- $xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);
- $showerror = 1;
- }
- else
- {
- $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);
- }
-
- // Check config file is writable
- $configwritable = @fopen(MYBB_ROOT.'inc/config.php', 'w');
- if(!$configwritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile);
- $configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- }
- else
- {
- $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
- }
- @fclose($configwritable);
-
- // Check settings file is writable
- $settingswritable = @fopen(MYBB_ROOT.'inc/settings.php', 'w');
- if(!$settingswritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_settingsfile);
- $settingsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- }
- else
- {
- $settingsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
- }
- @fclose($settingswritable);
-
- // Check cache directory is writable
- $cachewritable = @fopen(MYBB_ROOT.'cache/test.write', 'w');
- if(!$cachewritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_cachedir);
- $cachestatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- @fclose($cachewritable);
- }
- else
- {
- $cachestatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
- @fclose($cachewritable);
- @my_chmod(MYBB_ROOT.'cache', '0777');
- @my_chmod(MYBB_ROOT.'cache/test.write', '0777');
- @unlink(MYBB_ROOT.'cache/test.write');
- }
-
- // Check upload directory is writable
- $uploadswritable = @fopen(MYBB_ROOT.'uploads/test.write', 'w');
- if(!$uploadswritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_uploaddir);
- $uploadsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- @fclose($uploadswritable);
- }
- else
- {
- $uploadsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
- @fclose($uploadswritable);
- @my_chmod(MYBB_ROOT.'uploads', '0777');
- @my_chmod(MYBB_ROOT.'uploads/test.write', '0777');
- @unlink(MYBB_ROOT.'uploads/test.write');
- }
-
- // Check avatar directory is writable
- $avatarswritable = @fopen(MYBB_ROOT.'uploads/avatars/test.write', 'w');
- if(!$avatarswritable)
- {
- $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir);
- $avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
- $showerror = 1;
- @fclose($avatarswritable);
- }
- else
- {
- $avatarsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
- @fclose($avatarswritable);
- @my_chmod(MYBB_ROOT.'uploads/avatars', '0777');
- @my_chmod(MYBB_ROOT.'uploads/avatars/test.write', '0777');
- @unlink(MYBB_ROOT.'uploads/avatars/test.write');
- }
-
- // Output requirements page
- echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);
-
- if($showerror == 1)
- {
- $error_list = error_list($errors);
- echo $lang->sprintf($lang->req_step_error_tablelist, $error_list);
- echo "\n input['action']}\" />";
- echo "\n recheck} »\" />
\n";
- $output->print_footer();
- }
- else
- {
- echo $lang->req_step_reqcomplete;
- $output->print_footer('database_info');
- }
-}
-
-/**
- * Which database do we use?
- */
-function database_info()
-{
- global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
-
- $mybb->input['action'] = 'database_info';
- $output->print_header($lang->db_config, 'dbconfig');
-
- echo "";
-
- // Check for errors from this stage
- if(is_array($errors))
- {
- $error_list = error_list($errors);
- echo $lang->sprintf($lang->db_step_error_config, $error_list);
- }
- else
- {
- echo $lang->db_step_config_db;
- }
-
- $dbengines = '';
-
- // Loop through database engines
- foreach($dboptions as $dbfile => $dbtype)
- {
- if($mybb->get_input('dbengine') == $dbfile)
- {
- $dbengines .= "{$dbtype['title']} ";
- }
- else
- {
- $dbengines .= "{$dbtype['title']} ";
- }
- }
-
- $db_info = array();
- foreach($dboptions as $dbfile => $dbtype)
- {
- require_once MYBB_ROOT."inc/db_{$dbfile}.php";
- $db = new $dbtype['class'];
- $encodings = $db->fetch_db_charsets();
- $encoding_select = '';
- $mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);
- if(empty($mybb->input['config'][$dbfile]['dbhost']))
- {
- $mybb->input['config'][$dbfile]['dbhost'] = "localhost";
- }
- if(empty($mybb->input['config'][$dbfile]['tableprefix']))
- {
- $mybb->input['config'][$dbfile]['tableprefix'] = "mybb_";
- }
- if(empty($mybb->input['config'][$dbfile]['dbname']))
- {
- $mybb->input['config'][$dbfile]['dbname'] = '';
- }
- if(empty($mybb->input['config'][$dbfile]['dbuser']))
- {
- $mybb->input['config'][$dbfile]['dbuser'] = '';
- }
- if(empty($mybb->input['config'][$dbfile]['dbpass']))
- {
- $mybb->input['config'][$dbfile]['dbpass'] = '';
- }
- if(empty($mybb->input['config'][$dbfile]['encoding']))
- {
- $mybb->input['config'][$dbfile]['encoding'] = "utf8";
- }
-
- $class = '';
- if(empty($first) && !$mybb->get_input('dbengine'))
- {
- $mybb->input['dbengine'] = $dbfile;
- $first = true;
- }
- if($dbfile == $mybb->input['dbengine'])
- {
- $class = "_selected";
- }
-
- $db_info[$dbfile] = "
-
-
- {$dbtype['title']} {$lang->database_settings}
- ";
-
- // SQLite gets some special settings
- if($dbfile == 'sqlite')
- {
- $db_info[$dbfile] .= "
-
- {$lang->database_path}
- input['config'][$dbfile]['dbname'])."\" />
- ";
- }
- // Others get db host, username, password etc
- else
- {
- $db_info[$dbfile] .= "
-
- {$lang->database_host}
- input['config'][$dbfile]['dbhost'])."\" />
-
-
- {$lang->database_user}
- input['config'][$dbfile]['dbuser'])."\" />
-
-
- {$lang->database_pass}
- input['config'][$dbfile]['dbpass'])."\" />
-
-
- {$lang->database_name}
- input['config'][$dbfile]['dbname'])."\" />
- ";
- }
-
- // Now we're up to table settings
- $db_info[$dbfile] .= "
-
- {$dbtype['title']} {$lang->table_settings}
-
-
- {$lang->table_prefix}
- input['config'][$dbfile]['tableprefix'])."\" />
-
- ";
-
- // Encoding selection only if supported
- if(is_array($encodings))
- {
- $select_options = "";
- foreach($encodings as $encoding => $title)
- {
- if($mybb->input['config'][$dbfile]['encoding'] == $encoding)
- {
- $select_options .= "{$title} ";
- }
- else
- {
- $select_options .= "{$title} ";
- }
- }
- $db_info[$dbfile] .= "
-
- {$lang->table_encoding}
- {$select_options}
-
- ";
- }
- }
- $dbconfig = implode("", $db_info);
-
- echo $lang->sprintf($lang->db_step_config_table, $dbengines, $dbconfig);
- $output->print_footer('create_tables');
-}
-
-/**
- * Create our tables
- */
-function create_tables()
-{
- global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
-
- $mybb->input['dbengine'] = $mybb->get_input('dbengine');
- if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php"))
- {
- $errors[] = $lang->db_step_error_invalidengine;
- database_info();
- }
-
- $mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);
- $config = $mybb->input['config'][$mybb->input['dbengine']];
-
- if(strstr($mybb->input['dbengine'], "sqlite") !== false)
- {
- if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname']))
- {
- $errors[] = $lang->db_step_error_sqlite_invalid_dbname;
- database_info();
- }
- }
-
- // Attempt to connect to the db
- require_once MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php";
- switch($mybb->input['dbengine'])
- {
- case "sqlite":
- $db = new DB_SQLite;
- break;
- case "pgsql":
- $db = new DB_PgSQL;
- break;
- case "mysqli":
- $db = new DB_MySQLi;
- break;
- default:
- $db = new DB_MySQL;
- }
- $db->error_reporting = 0;
-
- $connect_array = array(
- "hostname" => $config['dbhost'],
- "username" => $config['dbuser'],
- "password" => $config['dbpass'],
- "database" => $config['dbname'],
- "encoding" => $config['encoding']
- );
-
- $connection = $db->connect($connect_array);
- if($connection === false)
- {
- $errors[] = $lang->sprintf($lang->db_step_error_noconnect, $config['dbhost']);
- }
- // double check if the DB exists for MySQL
- elseif(method_exists($db, 'select_db') && !$db->select_db($config['dbname']))
- {
- $errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']);
- }
-
- // Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.
- if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
- {
- $errors[] = $lang->db_step_error_invalid_tableprefix;
- }
-
- // Needs to be smaller then 64 characters total (MySQL Limit).
- // This allows 24 characters for the actual table name, which should be sufficient.
- if(strlen($config['tableprefix']) > 40)
- {
- $errors[] = $lang->db_step_error_tableprefix_too_long;
- }
-
- if(($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
- {
- $errors[] = $lang->db_step_error_utf8mb4_error;
- }
-
- if(is_array($errors))
- {
- database_info();
- }
-
- // Decide if we can use a database encoding or not
- if($db->fetch_db_charsets() != false)
- {
- $db_encoding = "\$config['database']['encoding'] = '{$config['encoding']}';";
- }
- else
- {
- $db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';";
- }
-
- $config['dbpass'] = addslashes($config['dbpass']);
-
- // Write the configuration file
- $configdata = "input['dbengine']}';
-\$config['database']['database'] = '{$config['dbname']}';
-\$config['database']['table_prefix'] = '{$config['tableprefix']}';
-
-\$config['database']['hostname'] = '{$config['dbhost']}';
-\$config['database']['username'] = '{$config['dbuser']}';
-\$config['database']['password'] = '{$config['dbpass']}';
-
-/**
- * Admin CP directory
- * For security reasons, it is recommended you
- * rename your Admin CP directory. You then need
- * to adjust the value below to point to the
- * new directory.
- */
-
-\$config['admin_dir'] = 'admin';
-
-/**
- * Hide all Admin CP links
- * If you wish to hide all Admin CP links
- * on the front end of the board after
- * renaming your Admin CP directory, set this
- * to 1.
- */
-
-\$config['hide_admin_links'] = 0;
-
-/**
- * Data-cache configuration
- * The data cache is a temporary cache
- * of the most commonly accessed data in MyBB.
- * By default, the database is used to store this data.
- *
- * If you wish to use the file system (cache/ directory), MemCache (or MemCached), xcache, APC, or eAccelerator
- * you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc' or 'eaccelerator' from 'db'.
- */
-
-\$config['cache_store'] = 'db';
-
-/**
- * Memcache configuration
- * If you are using memcache or memcached as your
- * data-cache, you need to configure the hostname
- * and port of your memcache server below.
- *
- * If not using memcache, ignore this section.
- */
-
-\$config['memcache']['host'] = 'localhost';
-\$config['memcache']['port'] = 11211;
-
-/**
- * Super Administrators
- * A comma separated list of user IDs who cannot
- * be edited, deleted or banned in the Admin CP.
- * The administrator permissions for these users
- * cannot be altered either.
- */
-
-\$config['super_admins'] = '1';
-
-/**
- * Database Encoding
- * If you wish to set an encoding for MyBB uncomment
- * the line below (if it isn't already) and change
- * the current value to the mysql charset:
- * http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html
- */
-
-{$db_encoding}
-
-/**
- * Automatic Log Pruning
- * The MyBB task system can automatically prune
- * various log files created by MyBB.
- * To enable this functionality for the logs below, set the
- * the number of days before each log should be pruned.
- * If you set the value to 0, the logs will not be pruned.
- */
-
-\$config['log_pruning'] = array(
- 'admin_logs' => 365, // Administrator logs
- 'mod_logs' => 365, // Moderator logs
- 'task_logs' => 30, // Scheduled task logs
- 'mail_logs' => 180, // Mail error logs
- 'user_mail_logs' => 180, // User mail logs
- 'promotion_logs' => 180 // Promotion logs
-);
-
-/**
- * Disallowed Remote Hosts
- * List of hosts the fetch_remote_file() function will not
- * perform requests to.
- * It is recommended that you enter hosts resolving to the
- * forum server here to prevent Server Side Request
- * Forgery attacks.
- */
-
-\$config['disallowed_remote_hosts'] = array(
- 'localhost',
-);
-
-/**
- * Disallowed Remote Addresses
- * List of IPv4 addresses the fetch_remote_file() function
- * will not perform requests to.
- * It is recommended that you enter addresses resolving to
- * the forum server here to prevent Server Side Request
- * Forgery attacks.
- * Removing all values disables resolving hosts in that
- * function.
- */
-
-\$config['disallowed_remote_addresses'] = array(
- '127.0.0.1',
- '10.0.0.0/8',
- '172.16.0.0/12',
- '192.168.0.0/16',
-);
-
-";
-
- $file = fopen(MYBB_ROOT.'inc/config.php', 'w');
- fwrite($file, $configdata);
- fclose($file);
-
- if(function_exists('opcache_invalidate'))
- {
- opcache_invalidate(MYBB_ROOT."inc/config.php");
- }
-
- // Error reporting back on
- $db->error_reporting = 1;
-
- $output->print_header($lang->table_creation, 'createtables');
- echo $lang->sprintf($lang->tablecreate_step_connected, $dboptions[$mybb->input['dbengine']]['short_title'], $db->get_version());
-
- if($dboptions[$mybb->input['dbengine']]['structure_file'])
- {
- $structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];
- }
- else
- {
- $structure_file = 'mysql_db_tables.php';
- }
-
- require_once INSTALL_ROOT."resources/{$structure_file}";
- foreach($tables as $val)
- {
- $val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val);
- $val = preg_replace('#;$#', $db->build_create_table_collation().";", $val);
- preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);
- if($match[1])
- {
- $db->drop_table($match[1], false, false);
- echo $lang->sprintf($lang->tablecreate_step_created, $match[1]);
- }
- $db->query($val);
- if($match[1])
- {
- echo $lang->done . " \n";
- }
- }
- echo $lang->tablecreate_step_done;
- $output->print_footer('populate_tables');
-}
-
-/**
- * Insert our default data
- */
-function populate_tables()
-{
- global $output, $lang;
-
- require MYBB_ROOT.'inc/config.php';
- $db = db_connection($config);
-
- $output->print_header($lang->table_population, 'tablepopulate');
- echo $lang->sprintf($lang->populate_step_insert);
-
- if(!empty($dboptions[$db->type]['population_file']))
- {
- $population_file = $dboptions[$db->type]['population_file'];
- }
- else
- {
- $population_file = 'mysql_db_inserts.php';
- }
-
- require_once INSTALL_ROOT."resources/{$population_file}";
- foreach($inserts as $val)
- {
- $val = preg_replace('#mybb_(\S+?)([\s\.,]|$)#', $config['database']['table_prefix'].'\\1\\2', $val);
- $db->query($val);
- }
-
- // Update the sequences for PgSQL
- if($config['database']['type'] == "pgsql")
- {
- $db->query("SELECT setval('{$config['database']['table_prefix']}attachtypes_atid_seq', (SELECT max(atid) FROM {$config['database']['table_prefix']}attachtypes));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}forums_fid_seq', (SELECT max(fid) FROM {$config['database']['table_prefix']}forums));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}helpdocs_hid_seq', (SELECT max(hid) FROM {$config['database']['table_prefix']}helpdocs));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}helpsections_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}helpsections));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}icons_iid_seq', (SELECT max(iid) FROM {$config['database']['table_prefix']}icons));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}profilefields_fid_seq', (SELECT max(fid) FROM {$config['database']['table_prefix']}profilefields));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}smilies_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}smilies));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}spiders_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}spiders));");
- $db->query("SELECT setval('{$config['database']['table_prefix']}templategroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}templategroups));");
- }
-
- echo $lang->populate_step_inserted;
- $output->print_footer('templates');
-}
-
-/**
- * Install our theme
- */
-function insert_templates()
-{
- global $mybb, $output, $cache, $db, $lang;
-
- require MYBB_ROOT.'inc/config.php';
- $db = db_connection($config);
-
- require_once MYBB_ROOT.'inc/class_datacache.php';
- $cache = new datacache;
-
- $output->print_header($lang->theme_installation, 'theme');
-
- echo $lang->theme_step_importing;
-
- $db->delete_query("themes");
- $db->delete_query("templates");
- $db->delete_query("themestylesheets");
- my_rmdir_recursive(MYBB_ROOT."cache/themes", array(MYBB_ROOT."cache/themes/index.html"));
-
- $insert_array = array(
- 'title' => 'Default Templates'
- );
- $templateset = $db->insert_query("templatesets", $insert_array);
-
- $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
- if(!empty($mybb->config['admin_dir']) && file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php"))
- {
- require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php";
- require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
- }
- elseif(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
- {
- require_once MYBB_ROOT."admin/inc/functions.php";
- require_once MYBB_ROOT."admin/inc/functions_themes.php";
- }
- else
- {
- $output->print_error("Please make sure your admin directory is uploaded correctly.");
- }
- $theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1));
- $tid = build_new_theme("Default", null, $theme_id);
-
- // Update our properties template set to the correct one
- $query = $db->simple_select("themes", "stylesheets, properties", "tid='{$tid}'", array('limit' => 1));
-
- $theme = $db->fetch_array($query);
- $properties = my_unserialize($theme['properties']);
- $stylesheets = my_unserialize($theme['stylesheets']);
-
- $properties['templateset'] = $templateset;
- unset($properties['inherited']['templateset']);
-
- // 1.8: Stylesheet Colors
- $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');
-
- require_once MYBB_ROOT."inc/class_xml.php";
- $parser = new XMLParser($contents);
- $tree = $parser->get_tree();
-
- if(is_array($tree) && is_array($tree['colors']))
- {
- if(is_array($tree['colors']['scheme']))
- {
- foreach($tree['colors']['scheme'] as $tag => $value)
- {
- $exp = explode("=", $value['value']);
-
- $properties['colors'][$exp[0]] = $exp[1];
- }
- }
-
- if(is_array($tree['colors']['stylesheets']))
- {
- $count = count($properties['disporder']) + 1;
- foreach($tree['colors']['stylesheets']['stylesheet'] as $stylesheet)
- {
- $new_stylesheet = array(
- "name" => $db->escape_string($stylesheet['attributes']['name']),
- "tid" => $tid,
- "attachedto" => $db->escape_string($stylesheet['attributes']['attachedto']),
- "stylesheet" => $db->escape_string($stylesheet['value']),
- "lastmodified" => TIME_NOW,
- "cachefile" => $db->escape_string($stylesheet['attributes']['name'])
- );
-
- $sid = $db->insert_query("themestylesheets", $new_stylesheet);
- $css_url = "css.php?stylesheet={$sid}";
-
- $cached = cache_stylesheet($tid, $stylesheet['attributes']['name'], $stylesheet['value']);
-
- if($cached)
- {
- $css_url = $cached;
- }
-
- // Add to display and stylesheet list
- $properties['disporder'][$stylesheet['attributes']['name']] = $count;
- $stylesheets[$stylesheet['attributes']['attachedto']]['global'][] = $css_url;
-
- ++$count;
- }
- }
- }
-
- $db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(my_serialize($properties)), "stylesheets" => $db->escape_string(my_serialize($stylesheets))), "tid = '{$tid}'");
-
- echo $lang->theme_step_imported;
- $output->print_footer('configuration');
-}
-
-/**
- * Default configuration
- */
-function configure()
-{
- global $output, $mybb, $errors, $lang;
-
- $output->print_header($lang->board_config, 'config');
-
- echo <<
- function warnUser(inp, warn)
- {
- var parenttr = $('#'+inp.id).closest('tr');
- if(inp.value != inp.defaultValue)
- {
- if(!parenttr.next('.setting_peeker').length)
- {
- var revertlink = ' {$lang->config_step_revert} ';
- parenttr.removeClass('last').after(''+warn+revertlink+' ');
- }
- } else {
- parenttr.next('.setting_peeker').remove();
- if(parenttr.is(':last-child'))
- {
- parenttr.addClass('last');
- }
- }
- }
-
- function revertSetting(defval, inpid)
- {
- $(inpid).val(defval);
- var parenttr = $(inpid).closest('tr');
- parenttr.next('.setting_peeker').remove();
- if(parenttr.is(':last-child'))
- {
- parenttr.addClass('last');
- }
- }
-
-
-EOF;
-
- // If board configuration errors
- if(is_array($errors))
- {
- $error_list = error_list($errors);
- echo $lang->sprintf($lang->config_step_error_config, $error_list);
-
- $bbname = htmlspecialchars_uni($mybb->get_input('bbname'));
- $bburl = htmlspecialchars_uni($mybb->get_input('bburl'));
- $websitename = htmlspecialchars_uni($mybb->get_input('websitename'));
- $websiteurl = htmlspecialchars_uni($mybb->get_input('websiteurl'));
- $cookiedomain = htmlspecialchars_uni($mybb->get_input('cookiedomain'));
- $cookiepath = htmlspecialchars_uni($mybb->get_input('cookiepath'));
- $contactemail = htmlspecialchars_uni($mybb->get_input('contactemail'));
- }
- else
- {
- $bbname = 'Forums';
- $cookiedomain = '';
- $websitename = 'Your Website';
-
- $protocol = "http://";
- if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"))
- {
- $protocol = "https://";
- }
-
- // Attempt auto-detection
- if(!empty($_SERVER['HTTP_HOST']))
- {
- $hostname = $protocol.$_SERVER['HTTP_HOST'];
- $cookiedomain = $_SERVER['HTTP_HOST'];
- }
- elseif(!empty($_SERVER['SERVER_NAME']))
- {
- $hostname = $protocol.$_SERVER['SERVER_NAME'];
- $cookiedomain = $_SERVER['SERVER_NAME'];
- }
-
- if(my_substr($cookiedomain, 0, 4) == "www.")
- {
- $cookiedomain = substr($cookiedomain, 4);
- }
-
- // IP addresses and hostnames are not valid
- if(my_inet_pton($cookiedomain) !== false || strpos($cookiedomain, '.') === false)
- {
- $cookiedomain = '';
- }
- else
- {
- $cookiedomain = ".{$cookiedomain}";
- }
-
- if(!empty($_SERVER['SERVER_PORT']))
- {
- $port = ":{$_SERVER['SERVER_PORT']}";
- $pos = strrpos($cookiedomain, $port);
-
- if($pos !== false)
- {
- $cookiedomain = substr($cookiedomain, 0, $pos);
- }
-
- if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443 && !preg_match("#:[0-9]#i", $hostname))
- {
- $hostname .= $port;
- }
- }
-
- $currentlocation = get_current_location('', '', true);
- $noinstall = substr($currentlocation, 0, strrpos($currentlocation, '/install/'));
-
- $cookiepath = $noinstall.'/';
- $bburl = $hostname.$noinstall;
- $websiteurl = $hostname.'/';
-
- if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL))
- {
- $contactemail = $_SERVER['SERVER_ADMIN'];
- }
- }
-
- echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail);
- $output->print_footer('adminuser');
-}
-
-/**
- * How do we want to name the admin user?
- */
-function create_admin_user()
-{
- global $output, $mybb, $errors, $db, $lang;
-
- $mybb->input['action'] = "adminuser";
- // If no errors then check for errors from last step
- if(!is_array($errors))
- {
- if(empty($mybb->input['bburl']))
- {
- $errors[] = $lang->config_step_error_url;
- }
- if(empty($mybb->input['bbname']))
- {
- $errors[] = $lang->config_step_error_name;
- }
- if(is_array($errors))
- {
- configure();
- }
- }
- $output->print_header($lang->create_admin, 'admin');
-
- echo <<
- function comparePass()
- {
- var parenttr = $('#adminpass2').closest('tr');
- var passval = $('#adminpass2').val();
- if(passval && passval != $('#adminpass').val())
- {
- if(!parenttr.next('.pass_peeker').length)
- {
- parenttr.removeClass('last').after('{$lang->admin_step_nomatch} ');
- }
- } else {
- parenttr.addClass('last').next('.pass_peeker').remove();
- }
- }
-
-
-EOF;
-
- if(is_array($errors))
- {
- $error_list = error_list($errors);
- echo $lang->sprintf($lang->admin_step_error_config, $error_list);
- $adminuser = $mybb->get_input('adminuser');
- $adminemail = $mybb->get_input('adminemail');
- }
- else
- {
- require MYBB_ROOT.'inc/config.php';
- $db = db_connection($config);
-
- echo $lang->admin_step_setupsettings;
- $adminuser = $adminemail = '';
-
- $settings = file_get_contents(INSTALL_ROOT.'resources/settings.xml');
- $parser = new XMLParser($settings);
- $parser->collapse_dups = 0;
- $tree = $parser->get_tree();
- $groupcount = $settingcount = 0;
-
- // Insert all the settings
- foreach($tree['settings'][0]['settinggroup'] as $settinggroup)
- {
- $groupdata = array(
- 'name' => $db->escape_string($settinggroup['attributes']['name']),
- 'title' => $db->escape_string($settinggroup['attributes']['title']),
- 'description' => $db->escape_string($settinggroup['attributes']['description']),
- 'disporder' => (int)$settinggroup['attributes']['disporder'],
- 'isdefault' => $settinggroup['attributes']['isdefault'],
- );
- $gid = $db->insert_query('settinggroups', $groupdata);
- ++$groupcount;
- foreach($settinggroup['setting'] as $setting)
- {
- $settingdata = array(
- 'name' => $db->escape_string($setting['attributes']['name']),
- 'title' => $db->escape_string($setting['title'][0]['value']),
- 'description' => $db->escape_string($setting['description'][0]['value']),
- 'optionscode' => $db->escape_string($setting['optionscode'][0]['value']),
- 'value' => $db->escape_string($setting['settingvalue'][0]['value']),
- 'disporder' => (int)$setting['disporder'][0]['value'],
- 'gid' => $gid,
- 'isdefault' => 1
- );
-
- $db->insert_query('settings', $settingdata);
- $settingcount++;
- }
- }
-
- if(my_substr($mybb->get_input('bburl'), -1, 1) == '/')
- {
- $mybb->input['bburl'] = my_substr($mybb->get_input('bburl'), 0, -1);
- }
-
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('bbname'))), "name='bbname'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('bburl'))), "name='bburl'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('websitename'))), "name='homename'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('websiteurl'))), "name='homeurl'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiedomain'))), "name='cookiedomain'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiepath'))), "name='cookiepath'");
- $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('contactemail'))), "name='adminemail'");
- $db->update_query("settings", array('value' => 'contact.php'), "name='contactlink'");
-
- write_settings();
-
- echo $lang->sprintf($lang->admin_step_insertesettings, $settingcount, $groupcount);
-
- // Save the acp pin
- $pin = addslashes($mybb->get_input('pin'));
-
- $file = @fopen(MYBB_ROOT."inc/config.php", "a");
-
- @fwrite($file, "/**
- * Admin CP Secret PIN
- * If you wish to request a PIN
- * when someone tries to login
- * on your Admin CP, enter it below.
- */
-
-\$config['secret_pin'] = '{$pin}';");
-
- @fclose($file);
-
- include_once MYBB_ROOT."inc/functions_task.php";
- $tasks = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
- $parser = new XMLParser($tasks);
- $parser->collapse_dups = 0;
- $tree = $parser->get_tree();
- $taskcount = 0;
-
- // Insert scheduled tasks
- foreach($tree['tasks'][0]['task'] as $task)
- {
- $new_task = array(
- 'title' => $db->escape_string($task['title'][0]['value']),
- 'description' => $db->escape_string($task['description'][0]['value']),
- 'file' => $db->escape_string($task['file'][0]['value']),
- 'minute' => $db->escape_string($task['minute'][0]['value']),
- 'hour' => $db->escape_string($task['hour'][0]['value']),
- 'day' => $db->escape_string($task['day'][0]['value']),
- 'weekday' => $db->escape_string($task['weekday'][0]['value']),
- 'month' => $db->escape_string($task['month'][0]['value']),
- 'enabled' => $db->escape_string($task['enabled'][0]['value']),
- 'logging' => $db->escape_string($task['logging'][0]['value'])
- );
-
- $new_task['nextrun'] = fetch_next_run($new_task);
-
- $db->insert_query("tasks", $new_task);
- $taskcount++;
- }
-
- // For the version check task, set a random date and hour (so all MyBB installs don't query mybb.com all at the same time)
- $update_array = array(
- 'hour' => rand(0, 23),
- 'weekday' => rand(0, 6)
- );
-
- $db->update_query("tasks", $update_array, "file = 'versioncheck'");
-
- echo $lang->sprintf($lang->admin_step_insertedtasks, $taskcount);
-
- $views = file_get_contents(INSTALL_ROOT.'resources/adminviews.xml');
- $parser = new XMLParser($views);
- $parser->collapse_dups = 0;
- $tree = $parser->get_tree();
- $view_count = 0;
-
- // Insert admin views
- foreach($tree['adminviews'][0]['view'] as $view)
- {
- $fields = array();
- foreach($view['fields'][0]['field'] as $field)
- {
- $fields[] = $field['attributes']['name'];
- }
-
- $conditions = array();
- if(isset($view['conditions'][0]['condition']) && is_array($view['conditions'][0]['condition']))
- {
- foreach($view['conditions'][0]['condition'] as $condition)
- {
- if(!$condition['value']) continue;
- if($condition['attributes']['is_serialized'] == 1)
- {
- $condition['value'] = my_unserialize($condition['value']);
- }
- $conditions[$condition['attributes']['name']] = $condition['value'];
- }
- }
-
- $custom_profile_fields = array();
- if(isset($view['custom_profile_fields'][0]['field']) && is_array($view['custom_profile_fields'][0]['field']))
- {
- foreach($view['custom_profile_fields'][0]['field'] as $field)
- {
- $custom_profile_fields[] = $field['attributes']['name'];
- }
- }
-
- $new_view = array(
- "uid" => 0,
- "type" => $db->escape_string($view['attributes']['type']),
- "visibility" => (int)$view['attributes']['visibility'],
- "title" => $db->escape_string($view['title'][0]['value']),
- "fields" => $db->escape_string(my_serialize($fields)),
- "conditions" => $db->escape_string(my_serialize($conditions)),
- "custom_profile_fields" => $db->escape_string(my_serialize($custom_profile_fields)),
- "sortby" => $db->escape_string($view['sortby'][0]['value']),
- "sortorder" => $db->escape_string($view['sortorder'][0]['value']),
- "perpage" => (int)$view['perpage'][0]['value'],
- "view_type" => $db->escape_string($view['view_type'][0]['value'])
- );
- $db->insert_query("adminviews", $new_view);
- $view_count++;
- }
-
- echo $lang->sprintf($lang->admin_step_insertedviews, $view_count);
-
- echo $lang->admin_step_createadmin;
- }
-
- echo $lang->sprintf($lang->admin_step_admintable, $adminuser, $adminemail);
- $output->print_footer('final');
-}
-
-/**
- * Installation is finished
- */
-function install_done()
-{
- global $output, $db, $mybb, $errors, $cache, $lang;
-
- if(empty($mybb->input['adminuser']))
- {
- $errors[] = $lang->admin_step_error_nouser;
- }
- if(empty($mybb->input['adminpass']))
- {
- $errors[] = $lang->admin_step_error_nopassword;
- }
- if($mybb->get_input('adminpass') != $mybb->get_input('adminpass2'))
- {
- $errors[] = $lang->admin_step_error_nomatch;
- }
- if(empty($mybb->input['adminemail']))
- {
- $errors[] = $lang->admin_step_error_noemail;
- }
- if(is_array($errors))
- {
- create_admin_user();
- }
-
- require MYBB_ROOT.'inc/config.php';
- $db = db_connection($config);
-
- require MYBB_ROOT.'inc/settings.php';
- $mybb->settings = &$settings;
-
- ob_start();
- $output->print_header($lang->finish_setup, 'finish');
-
- echo $lang->done_step_usergroupsinserted;
-
- // Insert all of our user groups from the XML file
- $usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
- $parser = new XMLParser($usergroup_settings);
- $parser->collapse_dups = 0;
- $tree = $parser->get_tree();
-
- $admin_gid = '';
- $group_count = 0;
- foreach($tree['usergroups'][0]['usergroup'] as $usergroup)
- {
- // usergroup[cancp][0][value]
- $new_group = array();
- foreach($usergroup as $key => $value)
- {
- if(!is_array($value))
- {
- continue;
- }
-
- $new_group[$key] = $db->escape_string($value[0]['value']);
- }
- $db->insert_query("usergroups", $new_group, false);
-
- // If this group can access the admin CP and we haven't established the admin group - set it (just in case we ever change IDs)
- if($new_group['cancp'] == 1 && !$admin_gid)
- {
- $admin_gid = $usergroup['gid'][0]['value'];
- }
- $group_count++;
- }
-
- // Restart usergroup sequence with correct # of groups
- if($config['database']['type'] == "pgsql")
- {
- $db->query("SELECT setval('{$config['database']['table_prefix']}usergroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}usergroups));");
- }
-
- echo $lang->done . '';
-
- echo $lang->done_step_admincreated;
- $now = TIME_NOW;
- $salt = random_str();
- $loginkey = generate_loginkey();
- $saltedpw = md5(md5($salt).md5($mybb->get_input('adminpass')));
-
- $newuser = array(
- 'username' => $db->escape_string($mybb->get_input('adminuser')),
- 'password' => $saltedpw,
- 'salt' => $salt,
- 'loginkey' => $loginkey,
- 'email' => $db->escape_string($mybb->get_input('adminemail')),
- 'usergroup' => $admin_gid, // assigned above
- 'regdate' => $now,
- 'lastactive' => $now,
- 'lastvisit' => $now,
- 'website' => '',
- 'icq' => '',
- 'aim' => '',
- 'yahoo' => '',
- 'skype' =>'',
- 'google' =>'',
- 'birthday' => '',
- 'signature' => '',
- 'allownotices' => 1,
- 'hideemail' => 0,
- 'subscriptionmethod' => '0',
- 'receivepms' => 1,
- 'pmnotice' => 1,
- 'pmnotify' => 1,
- 'buddyrequestspm' => 1,
- 'buddyrequestsauto' => 0,
- 'showimages' => 1,
- 'showvideos' => 1,
- 'showsigs' => 1,
- 'showavatars' => 1,
- 'showquickreply' => 1,
- 'invisible' => 0,
- 'style' => '0',
- 'timezone' => 0,
- 'dst' => 0,
- 'threadmode' => '',
- 'daysprune' => 0,
- 'regip' => $db->escape_binary(my_inet_pton(get_ip())),
- 'language' => '',
- 'showcodebuttons' => 1,
- 'tpp' => 0,
- 'ppp' => 0,
- 'referrer' => 0,
- 'buddylist' => '',
- 'ignorelist' => '',
- 'pmfolders' => '',
- 'notepad' => '',
- 'showredirect' => 1,
- 'usernotes' => ''
- );
- $db->insert_query('users', $newuser);
- echo $lang->done . '';
-
- echo $lang->done_step_adminoptions;
- $adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
- $parser = new XMLParser($adminoptions);
- $parser->collapse_dups = 0;
- $tree = $parser->get_tree();
- $insertmodule = array();
-
- $db->delete_query("adminoptions");
-
- // Insert all the admin permissions
- foreach($tree['adminoptions'][0]['user'] as $users)
- {
- $uid = $users['attributes']['uid'];
-
- foreach($users['permissions'][0]['module'] as $module)
- {
- foreach($module['permission'] as $permission)
- {
- $insertmodule[$module['attributes']['name']][$permission['attributes']['name']] = $permission['value'];
- }
- }
-
- $defaultviews = array();
- foreach($users['defaultviews'][0]['view'] as $view)
- {
- $defaultviews[$view['attributes']['type']] = $view['value'];
- }
-
- $adminoptiondata = array(
- 'uid' => (int)$uid,
- 'cpstyle' => '',
- 'notes' => '',
- 'permissions' => $db->escape_string(my_serialize($insertmodule)),
- 'defaultviews' => $db->escape_string(my_serialize($defaultviews))
- );
-
- $insertmodule = array();
-
- $db->insert_query('adminoptions', $adminoptiondata);
- }
- echo $lang->done . '';
-
- // Automatic Login
- my_unsetcookie("sid");
- my_unsetcookie("mybbuser");
- my_setcookie('mybbuser', $uid.'_'.$loginkey, null, true);
- ob_end_flush();
-
- // Make fulltext columns if supported
- if($db->supports_fulltext('threads'))
- {
- $db->create_fulltext_index('threads', 'subject');
- }
- if($db->supports_fulltext_boolean('posts'))
- {
- $db->create_fulltext_index('posts', 'message');
- }
-
- echo $lang->done_step_cachebuilding;
- require_once MYBB_ROOT.'inc/class_datacache.php';
- $cache = new datacache;
- $cache->update_version();
- $cache->update_attachtypes();
- $cache->update_smilies();
- $cache->update_badwords();
- $cache->update_usergroups();
- $cache->update_forumpermissions();
- $cache->update_stats();
- $cache->update_statistics();
- $cache->update_forums();
- $cache->update_moderators();
- $cache->update_usertitles();
- $cache->update_reportedcontent();
- $cache->update_awaitingactivation();
- $cache->update_mycode();
- $cache->update_profilefields();
- $cache->update_posticons();
- $cache->update_spiders();
- $cache->update_bannedips();
- $cache->update_banned();
- $cache->update_bannedemails();
- $cache->update_birthdays();
- $cache->update_groupleaders();
- $cache->update_threadprefixes();
- $cache->update_forumsdisplay();
- $cache->update("plugins", array());
- $cache->update("internal_settings", array('encryption_key' => random_str(32)));
- $cache->update_default_theme();
- $cache->update_reportreasons(true);
-
- $version_history = array();
- $dh = opendir(INSTALL_ROOT."resources");
- while(($file = readdir($dh)) !== false)
- {
- if(preg_match("#upgrade([0-9]+).php$#i", $file, $match))
- {
- $version_history[$match[1]] = $match[1];
- }
- }
- sort($version_history, SORT_NUMERIC);
- $cache->update("version_history", $version_history);
-
- // Schedule an update check so it occurs an hour ago. Gotta stay up to date!
- $update['nextrun'] = TIME_NOW - 3600;
- $db->update_query("tasks", $update, "tid='12'");
-
- $cache->update_update_check();
- $cache->update_tasks();
-
- echo $lang->done . '';
-
- echo $lang->done_step_success;
-
- $written = 0;
- if(is_writable('./'))
- {
- $lock = @fopen('./lock', 'w');
- $written = @fwrite($lock, '1');
- @fclose($lock);
- if($written)
- {
- echo $lang->done_step_locked;
- }
- }
- if(!$written)
- {
- echo $lang->done_step_dirdelete;
- }
- echo $lang->done_whats_next;
- $output->print_footer('');
-}
-
-/**
- * @param array $config
- *
- * @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite
- */
-function db_connection($config)
-{
- require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";
- switch($config['database']['type'])
- {
- case "sqlite":
- $db = new DB_SQLite;
- break;
- case "pgsql":
- $db = new DB_PgSQL;
- break;
- case "mysqli":
- $db = new DB_MySQLi;
- break;
- default:
- $db = new DB_MySQL;
- }
-
- // Connect to Database
- define('TABLE_PREFIX', $config['database']['table_prefix']);
-
- $db->connect($config['database']);
- $db->set_table_prefix(TABLE_PREFIX);
- $db->type = $config['database']['type'];
-
- return $db;
-}
-
-/**
- * @param array $array
- *
- * @return string
- */
-function error_list($array)
-{
- $string = "\n";
- foreach($array as $error)
- {
- $string .= "{$error} \n";
- }
- $string .= " \n";
- return $string;
-}
-
-/**
- * Write our settings to the settings file
- */
-function write_settings()
-{
- global $db;
-
- $settings = '';
- $query = $db->simple_select('settings', '*', '', array('order_by' => 'title'));
- while($setting = $db->fetch_array($query))
- {
- $setting['value'] = str_replace("\"", "\\\"", $setting['value']);
- $settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
- }
- if(!empty($settings))
- {
- $settings = "
-
-
-
- 1
-
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
- 0
- 0
- 0
- 0
- 0
-
-
- 0
- 0
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 0
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
- 1
-
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
-
-
-
- 1
-
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/install/resources/adminviews.xml b/html/forums/install/resources/adminviews.xml
deleted file mode 100644
index b5bf293..0000000
--- a/html/forums/install/resources/adminviews.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/install/resources/index.html b/html/forums/install/resources/index.html
deleted file mode 100644
index efd2f36..0000000
--- a/html/forums/install/resources/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/html/forums/install/resources/language.lang.php b/html/forums/install/resources/language.lang.php
deleted file mode 100644
index f2d7356..0000000
--- a/html/forums/install/resources/language.lang.php
+++ /dev/null
@@ -1,374 +0,0 @@
-Welcome to the installation wizard for MyBB {1}. MyBB has detected it is already configured this directory.
-Please choose a suitable action below:
-
-
-
Upgrade my existing copy of MyBB to {1} (Recommended)
-
This option will upgrade your current version of MyBB to MyBB {1}.
-
You should choose this option when you wish to retain your current forum threads, posts, users and other information.
-
-
-
-
-
Install a new copy of MyBB
-
This option will delete any existing forum you may have set up and install a fresh version of MyBB.
-
You should choose this option to erase your existing copy of MyBB if you wish to start again.
-
-
";
-
-$l['mybb_incorrect_folder'] = "
-
MyBB has detected that it is running from the \"Upload\" directory.
-
While there is nothing wrong with this, it is recommended that your upload the contents of the \"Upload\" directory and not the directory itself. For more information please see the MyBB Docs .
-
";
-
-$l['welcome_step'] = 'Welcome to the installation wizard for MyBB {1}. This wizard will install and configure a copy of MyBB on your server.
-Now that you\'ve uploaded the MyBB files the database and settings need to be created and imported. Below is an outline of what is going to be completed during installation.
-
- MyBB requirements checked
- Configuration of database engine
- Creation of database tables
- Default data inserted
- Default themes and templates imported
- Creation of an administrator account to manage your board
- Basic board settings configured
-
-After each step has successfully been completed, click Next to move on to the next step.
-Click "Next" to view the MyBB license agreement.
- Send anonymous statistics about your server specifications to the MyBB Group (What information is sent? )
';
-
-$l['license_step'] = '
-{1}
-
-By clicking Next, you agree to the terms stated in the MyBB License Agreement above.
';
-
-
-$l['req_step_top'] = 'Before you can install MyBB, we must check that you meet the minimum requirements for installation.
';
-$l['req_step_reqtable'] = '
-
Requirements Check
-
-
-
- Requirements
-
-
-
-
- PHP Version:
- {1}
-
-
- Supported DB Extensions:
- {2}
-
-
- Supported Translation Extensions:
- {3}
-
-
- PHP XML Extensions:
- {4}
-
-
- Configuration File Writable:
- {5}
-
-
- Settings File Writable:
- {6}
-
-
- Cache Directory Writable:
- {7}
-
-
- File Uploads Directory Writable:
- {8}
-
-
- Avatar Uploads Directory Writable:
- {9}
-
-
-
-
';
-$l['req_step_reqcomplete'] = 'Congratulations, you meet the requirements to run MyBB.
-Click Next to continue with the installation process.
';
-
-$l['req_step_span_fail'] = '{1} ';
-$l['req_step_span_pass'] = '{1} ';
-
-$l['req_step_error_box'] = '{1}
';
-$l['req_step_error_phpversion'] = 'MyBB Requires PHP 5.2.0 or later to run. You currently have {1} installed.';
-$l['req_step_error_dboptions'] = 'MyBB requires one or more suitable database extensions to be installed. Your server reported that none were available.';
-$l['req_step_error_xmlsupport'] = 'MyBB requires PHP to be compiled with support for XML Data Handling. Please see PHP.net for more information.';
-$l['req_step_error_configdefaultfile'] = 'The configuration file (inc/config.default.php) could not be renamed. Please manually rename the config.default.php file to config.php to allow it to be written to or contact MyBB Support. ';
-$l['req_step_error_configfile'] = 'The configuration file (inc/config.php) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_settingsfile'] = 'The settings file (inc/settings.php) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_cachedir'] = 'The cache directory (cache/) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_uploaddir'] = 'The uploads directory (uploads/) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_avatardir'] = 'The avatars directory (uploads/avatars/) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_cssddir'] = 'The css directory (css/) is not writable. Please adjust the chmod permissions to allow it to be written to.';
-$l['req_step_error_tablelist'] = '
-
Error
-
The MyBB Requirements check failed due to the reasons below. MyBB installation cannot continue because you did not meet the MyBB requirements. Please correct the errors below and try again:
-{1}
-
';
-
-
-$l['db_step_config_db'] = 'It is now time to configure the database that MyBB will use as well as your database authentication details. If you do not have this information, it can usually be obtained from your webhost.
';
-$l['db_step_config_table'] = '
-
Database Configuration
-
-
- Database Settings
-
-
- Database Engine:
- {1}
-
-{2}
-
-
-Once you\'ve checked these details are correct, click next to continue.
';
-
-$l['database_settings'] = "Database Settings";
-$l['database_path'] = "Database Path:";
-$l['database_host'] = "Database Server Hostname:";
-$l['database_user'] = "Database Username:";
-$l['database_pass'] = "Database Password:";
-$l['database_name'] = "Database Name:";
-$l['table_settings'] = "Table Settings";
-$l['table_prefix'] = "Table Prefix:";
-$l['table_encoding'] = "Table Encoding:";
-
-$l['db_step_error_config'] = '
-
Error
-
There seems to be one or more errors with the database configuration information that you supplied:
-{1}
-
Once the above are corrected, continue with the installation.
-
';
-$l['db_step_error_invalidengine'] = 'You have selected an invalid database engine. Please make your selection from the list below.';
-$l['db_step_error_noconnect'] = 'Could not connect to the database server at \'{1}\' with the supplied username and password. Are you sure the hostname and user details are correct?';
-$l['db_step_error_nodbname'] = 'Could not select the database \'{1}\'. Are you sure it exists and the specified username and password have access to it?';
-$l['db_step_error_missingencoding'] = 'You have not selected an encoding yet. Please make sure you selected an encoding before continuing. (Select \'UTF-8 Unicode\' if you are not sure)';
-$l['db_step_error_sqlite_invalid_dbname'] = 'You may not use relative URLs for SQLite databases. Please use a file system path (ex: /home/user/database.db) for your SQLite database.';
-$l['db_step_error_invalid_tableprefix'] = 'You may only use an underscore (_) and alphanumeric characters in a table prefix. Please use a valid table prefix before continuing.';
-$l['db_step_error_tableprefix_too_long'] = 'You may only use a table prefix with a length of 40 characters or less. Please use a shorter table prefix before continuing.';
-$l['db_step_error_utf8mb4_error'] = '\'4-Byte UTF-8 Unicode\' requires MySQL 5.5.3 or above. Please select an encoding which is compatible with your MySQL version.';
-
-$l['tablecreate_step_connected'] = 'Connection to the database server and database you specified was successful.
-Database Engine: {1} {2}
-The MyBB database tables will now be created.
';
-$l['tablecreate_step_created'] = 'Creating table {1}...';
-$l['tablecreate_step_done'] = 'All tables have been created, click Next to populate them.
';
-
-$l['populate_step_insert'] = 'Now that the basic tables have been created, it\'s time to insert the default data.
';
-$l['populate_step_inserted'] = 'The default data has successfully been inserted into the database. Click Next to insert the default MyBB template and theme sets.
';
-
-
-$l['theme_step_importing'] = 'Loading and importing theme and template file...
';
-$l['theme_step_imported'] = 'The default theme and template sets have been successfully inserted. Click Next to configure the basic options for your board.
';
-
-
-$l['config_step_table'] = 'It is now time for you to configure the basic settings for your forums such as forum name, URL, your website details, along with your "cookie" domain and paths. These settings can easily be changed in the future through the MyBB Admin Control Panel.
-
-
Board Configuration
-
-
-
- Once you\'ve correctly entered the details above and are ready to proceed, click Next.
';
-
-$l['config_step_error_config'] = '
-
Error
-
There seems to be one or more errors with the board configuration you supplied:
-{1}
-
Once the above are corrected, continue with the installation.
-
';
-$l['config_step_error_url'] = 'You did not enter the URL to your forums.';
-$l['config_step_error_name'] = 'You did not enter a name for your copy of MyBB.';
-$l['config_step_revert'] = 'Click to revert this setting to original value.';
-
-
-$l['admin_step_setupsettings'] = 'Setting up basic board settings...
';
-$l['admin_step_insertesettings'] = 'Inserted {1} settings into {2} groups.
-Updating settings with user defined values.
';
-$l['admin_step_insertedtasks'] = 'Inserted {1} scheduled tasks.
';
-$l['admin_step_insertedviews'] = 'Inserted {1} admin views.
';
-$l['admin_step_createadmin'] ='You need to create an initial administrator account for you to login and manage your copy of MyBB. Please fill in the required fields below to create this account.
';
-$l['admin_step_admintable'] = '
-
Administrator Account Details
-
-
-
-
- Once you\'ve correctly entered the details above and are ready to proceed, click Next.
';
-
-$l['admin_step_error_config'] = '
-
Error
-
There seems to be one or more errors with the board configuration you supplied:
-{1}
-
Once the above are corrected, continue with the installation.
-
';
-$l['admin_step_error_nouser'] = 'You did not enter a username for your Administrator account.';
-$l['admin_step_error_nopassword'] = 'You did not enter a password for your Administrator account.';
-$l['admin_step_error_nomatch'] = 'The passwords you entered do not match.';
-$l['admin_step_error_noemail'] = 'You did not enter your email address for the Administrator\'s account.';
-$l['admin_step_nomatch'] = 'The retyped password does not match the password from the first input. Please correct it before continuing.';
-
-$l['done_step_usergroupsinserted'] = "Importing user groups...";
-$l['done_step_admincreated'] = '
Creating Administrator account...';
-$l['done_step_adminoptions'] = '
Building Administrator permissions...';
-$l['done_step_cachebuilding'] = '
Building data caches...';
-$l['done_step_success'] = '
Your copy of MyBB has successfully been installed and configured correctly.
-The MyBB Group thanks you for your support in installing our software and we hope to see you around the Community Forums if you need help or wish to become a part of the MyBB community.
';
-$l['done_step_locked'] = 'Your installer has been locked. To unlock the installer please delete the \'lock\' file in this directory.
You may now proceed to your new copy of MyBB or its Admin Control Panel .
';
-$l['done_step_dirdelete'] = 'Please remove this directory before exploring your copy of MyBB.
';
-$l['done_whats_next'] = 'Switching from another forum software?
MyBB offers a merge system for easy merging of multiple forums from various different popular forum software, allowing an easy conversion process to MyBB. If you\'re looking to switch to MyBB, you\'re heading in the right direction! Check out the Merge System for more information.
';
-
-/* UPGRADE LANGUAGE VARIABLES */
-$l['upgrade'] = "Upgrade Process";
-$l['upgrade_welcome'] = "
Welcome to the upgrade wizard for MyBB {1}.
Before you continue, please make sure you know which version of MyBB you were previously running as you will need to select it below.
We strongly recommend that you also obtain a complete backup of your database and files before attempting to upgrade so if something goes wrong you can easily revert back to the previous version. Also, ensure that your backups are complete before proceeding.
Make sure you only click Next ONCE on each step of the upgrade process. Pages may take a while to load depending on the size of your forum.
Once you are ready, please select your old version below and click Next to continue.
";
-$l['upgrade_templates_reverted'] = 'Templates Reverted';
-$l['upgrade_templates_reverted_success'] = "
All of the templates have successfully been reverted to the new ones contained in this release. Please press next to continue with the upgrade process.
";
-$l['upgrade_settings_sync'] = 'Settings Synchronization';
-$l['upgrade_settings_sync_success'] = "
The board settings have been synchronized with the latest in MyBB.
{1} new settings inserted along with {2} new setting groups.
To finalize the upgrade, please click next below to continue.
";
-$l['upgrade_datacache_building'] = 'Data Cache Building';
-$l['upgrade_building_datacache'] = '
Building caches...';
-$l['upgrade_continue'] = 'Please press next to continue';
-$l['upgrade_locked'] = "
Your installer has been locked. To unlock the installer please delete the 'lock' file in this directory.
You may now proceed to your upgraded copy of MyBB or its Admin Control Panel .
";
-$l['upgrade_removedir'] = 'Please remove this directory before exploring your upgraded MyBB.';
-$l['upgrade_congrats'] = "
Congratulations, your copy of MyBB has successfully been updated to {1}.
{2}
What's Next?
Please use the 'Find Updated Templates' tool in the Admin CP to find customized templates updated during this upgrade process. Edit them to contain the changes or revert them to originals. Ensure that your board is still fully functional. ";
-$l['upgrade_template_reversion'] = "Template Reversion Warning";
-$l['upgrade_template_reversion_success'] = "
All necessary database modifications have successfully been made to upgrade your board.
This upgrade requires all templates to be reverted to the new ones contained in the package so please back up any custom templates you have made before clicking next.";
-$l['upgrade_send_stats'] = "
Send anonymous statistics about your server specifications to the MyBB Group (What information is sent? )
";
-
-$l['please_login'] = "Please Login";
-$l['login'] = "Login";
-$l['login_desc'] = "Please enter your username and password to begin the upgrade process. You must be a valid forum administrator to perform the upgrade.";
-$l['login_username'] = "Username";
-$l['login_password'] = "Password";
-$l['login_password_desc'] = "Please note that passwords are case sensitive.";
-
-/* Error messages */
-$l['development_preview'] = "
Warning This version of MyBB is a development preview and is to be used for testing purposes only.
No official support, other than for plugins and theme development, will be provided for this version. By continuing with this install/upgrade you do so at your own risk.
";
-$l['locked'] = 'The installer is currently locked, please remove \'lock\' from the install directory to continue';
-$l['no_permision'] = "You do not have permissions to run this process. You need administrator permissions to be able to run the upgrade procedure.
If you need to logout, please click
here . From there you will be able to log in again under your administrator account.";
-$l['no_theme_functions_file'] = 'No theme functions file has been found. Make sure that all files are uploaded properly.';
-
-$l['task_versioncheck_ran'] = "The version check task successfully ran.";
diff --git a/html/forums/install/resources/mybb_theme.xml b/html/forums/install/resources/mybb_theme.xml
deleted file mode 100644
index 739e0dc..0000000
--- a/html/forums/install/resources/mybb_theme.xml
+++ /dev/null
@@ -1,14118 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- .expcolimage {
- margin-top: 0;
-}
-
-blockquote {
- border: 1px solid #ccc;
- margin: 0;
- background: #fff;
- padding: 10px;
-}
-
-blockquote cite {
- font-weight: bold;
- border-bottom: 1px solid #ccc;
- font-style: normal;
- display: block;
- padding-bottom: 3px;
- margin: 0 0 10px 0;
-}
-
-blockquote cite span {
- float: right;
- font-weight: normal;
- font-size: 12px;
- color: #666;
-}
-
-blockquote cite span.highlight {
- float: none;
- font-weight: bold;
- padding-bottom: 0;
-}
-
-.codeblock {
- background: #fff;
- border: 1px solid #ccc;
- padding: 10px;
-}
-
-.codeblock .title {
- border-bottom: 1px solid #ccc;
- font-weight: bold;
- padding-bottom: 3px;
- margin: 0 0 10px 0;
-}
-
-.codeblock code {
- overflow: auto;
- height: auto;
- max-height: 200px;
- display: block;
- font-family: Monaco, Consolas, Courier, monospace;
- font-size: 13px;
-}
-
-.smilie {
- vertical-align: middle;
-}
-
-.smilie_pointer {
- cursor: pointer;
-}
-
-.separator {
- margin: 5px;
- padding: 0;
- height: 0px;
- font-size: 1px;
- list-style-type: none;
-}
-
-.popup_menu .popup_item_container {
- margin: 1px;
- text-align: left;
-}
-
-.popup_menu .popup_item {
- display: block;
- padding: 4px;
- white-space: nowrap;
- text-decoration: none;
-}
-
-.popup_menu a.popup_item:hover {
- text-decoration: none;
-}
-
-.subject_new {
- font-weight: bold;
-}
-
-.highlight {
- background: #FFFFCC;
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-.pm_alert {
- background: #FFF6BF;
- border: 1px solid #FFD324;
- text-align: center;
- padding: 5px 20px;
- margin-bottom: 15px;
- font-size: 11px;
-}
-
-.red_alert {
- background: #FBE3E4;
- border: 1px solid #A5161A;
- color: #A5161A;
- text-align: center;
- padding: 5px 20px;
- margin-bottom: 15px;
- font-size: 11px;
- word-wrap: break-word;
-}
-
-.red_alert a:link,
-.red_alert a:visited,
-.red_alert a:hover,
-.red_alert a:active {
- color: #A5161A;
-}
-
-.high_warning {
- color: #CC0000;
-}
-
-.moderate_warning {
- color: #F3611B;
-}
-
-.low_warning {
- color: #AE5700;
-}
-
-.imminent_banned {
- color: #880000;
-}
-
-.high_banned {
- color: #FF0000;
-}
-
-.moderate_banned {
- color: #FF6600;
-}
-
-.low_banned {
- color: #008000;
-}
-
-.online {
- color: #15A018;
-}
-
-.offline {
- color: #C7C7C7;
-}
-
-div.error {
- padding: 5px 10px;
- border: 2px solid #FFD324;
- background: #FFF6BF;
- font-size: 12px;
-}
-
-div.error p {
- margin: 0;
- color: #333;
- font-weight: normal;
-}
-
-div.error p em {
- font-style: normal;
- font-weight: bold;
- padding-left: 24px;
- display: block;
- color: #C00;
- background: url(images/error.png) no-repeat 0;
-}
-
-div.error ul {
- margin-left: 24px;
-}
-
-.pagination {
- font-size: 11px;
- padding-top: 10px;
- margin-bottom: 5px;
-}
-
-.tfoot .pagination,
-.tcat .pagination {
- padding-top: 0;
-}
-
-.pagination .pages {
- font-weight: bold;
-}
-
-.pagination .pagination_current,
-.pagination a {
- padding: 3px 6px;
- margin-bottom: 3px;
-}
-
-.pagination a {
- background: #f5f5f5;
- border: 1px solid #ccc;
-}
-
-.pagination .pagination_current {
- background: none;
- color: #333;
- border: none;
- font-weight: bold;
-}
-
-.pagination a:hover {
- background: #0072BC;
- color: #fff;
- border-color: #263c30;
- text-decoration: none;
-}
-
-.pagination .go_page img {
- margin-bottom: -4px;
-}
-
-.drop_go_page {
- background: #f5f5f5;
- padding: 4px;
-}
-
-.pagination_breadcrumb {
- background-color: #efefef;
- border: 1px solid #fff;
- outline: 1px solid #ccc;
- padding: 5px;
- margin-top: 5px;
- font-weight: normal;
-}
-
-.pagination_breadcrumb_link {
- vertical-align: middle;
- cursor: pointer;
-}
-
-.thread_legend,
-.thread_legend dd {
- margin: 0;
- padding: 0;
-}
-
-.thread_legend dd {
- padding-bottom: 4px;
- margin-right: 15px;
-}
-
-.thread_legend img {
- margin-right: 4px;
- vertical-align: bottom;
-}
-
-.forum_legend,
-.forum_legend dt,
-.forum_legend dd {
- margin: 0;
- padding: 0;
-}
-
-.forum_legend dd {
- float: left;
- margin-right: 10px;
- margin-top: 7px;
-}
-
-.forum_legend dt {
- margin-right: 10px;
- float: left;
-}
-
-.success_message {
- color: #00b200;
- font-weight: bold;
- font-size: 10px;
- margin-bottom: 10px;
-}
-
-.error_message {
- color: #C00;
- font-weight: bold;
- font-size: 10px;
- margin-bottom: 10px;
-}
-
-#posts_container {
- padding: 0;
-}
-
-.ignored_post {
- border-top: 3px solid #333;
- padding: 15px;
-}
-
-.ignored_post .show_ignored_post {
- margin-top: -15px;
-}
-
-.ignored_post .show_ignored_post a.button span {
- background-position: 0 -400px;
-}
-
-.deleted_post_hidden {
- border-top: 2px solid #ccc;
- padding: 15px;
-}
-
-.deleted_post_collapsed {
- border-top: 3px solid #333;
- padding: 15px;
-}
-
-.deleted_post_collapsed .show_deleted_post {
- margin-top: -15px;
-}
-
-.deleted_post_collapsed .show_deleted_post a.button span {
- background-position: 0 -400px;
-}
-
-.post {
- overflow: hidden;
-}
-
-.post.classic {
- padding-top: 15px;
-}
-
-.post .post_author {
- border-bottom: 1px solid #ccc;
- border-top: 2px solid #ccc;
- background: #f5f5f5;
- padding: 5px;
- overflow: hidden;
-}
-
-.post.classic .post_author {
- border: 1px solid #ddd;
- float: left;
- width: 15%;
- margin: 0 1% 15px 0;
- border-left: 0;
- padding: 5px 1%;
-}
-
-.post .post_author .buddy_status {
- vertical-align: middle;
- margin-top: -4px;
-}
-
-.post .post_author div.author_avatar {
- float: left;
- margin-right: 3px;
-}
-
-.post.classic .post_author div.author_avatar {
- float: none;
- text-align: center;
- margin-bottom: 8px;
-}
-
-.post .post_author div.author_avatar img {
- padding: 5px;
- border: 1px solid #ddd;
- background: #fff;
-}
-
-.post .post_author div.author_information {
- float: left;
- padding: 6px 8px;
-}
-
-.post.classic .post_author div.author_information {
- float: none;
- padding: 0;
- text-align: center;
-}
-
-.post .post_author div.author_statistics {
- float: right;
- font-size: 11px;
- padding: 3px 10px 3px 5px;
- color: #666;
- line-height: 1.3;
-}
-
-.post.classic .post_author div.author_statistics {
- border-top: 1px dotted #ccc;
- margin: 6px 0 0 0;
- padding: 6px 6px 3px 6px;
- float: none;
-}
-
-.post .post_head {
- font-size: 11px;
- padding-bottom: 4px;
- border-bottom: 1px dotted #ddd;
- margin-bottom: 4px;
-}
-
-.post .post_head span.post_date {
- color: #666;
-}
-
-.post .post_head span.edited_post {
- font-size: 10px;
- color: #999;
-}
-
-.post .post_head span.edited_post a {
- color: #666;
-}
-
-.post_body {
- font-size: 14px;
- padding: 12px 0;
-}
-
-.post.classic .post_content {
- float: left;
- width: 79%;
- padding: 0 1% 5px 1%;
-}
-
-.post_content {
- padding: 9px 10px 5px 10px;
-}
-
-.post_content .signature {
- margin-top: 5px;
- border-top: 1px dotted #ddd;
- padding: 10px 0 4px 0;
-}
-
-.post .post_meta {
- margin: 4px 0;
- font-size: 11px;
- color: #999;
-}
-
-.post .post_meta a:link,
-.post .post_meta a:visited {
- color: #777;
-}
-
-.post .post_meta a:hover,
-.post .post_meta a:active {
- color: #777;
-}
-
-.post_controls {
- clear: both;
- background: #f5f5f5;
- border-bottom: 1px solid #ccc;
- padding: 5px;
- overflow: hidden;
-}
-
-.postbit_buttons > a:link,
-.postbit_buttons > a:hover,
-.postbit_buttons > a:visited,
-.postbit_buttons > a:active {
- display: inline-block;
- padding: 2px 5px;
- margin: 2px;
- font-size: 11px;
- background: #eee url(images/buttons_bg.png) repeat-x;
- border: 1px solid #ccc;
- color: #555;
-}
-
-.postbit_buttons > a:hover {
- border-color: #bbb;
-}
-
-.postbit_buttons a span {
- padding-left: 20px;
- display: inline-block;
- height: 16px;
- background-image: url(images/buttons_sprite.png);
- background-repeat: no-repeat;
-}
-
-.postbit_buttons a.postbit_find span {
- background-position: 0 0;
-}
-
-.postbit_buttons a.postbit_reputation_add span {
- background-position: 0 -20px;
-}
-
-.postbit_buttons a.postbit_email span {
- background-position: 0 -40px;
-}
-
-.postbit_buttons a.postbit_website span {
- background-position: 0 -60px;
-}
-
-.postbit_buttons a.postbit_pm span {
- background-position: 0 -80px;
-}
-
-.postbit_buttons a.postbit_quote span {
- background-position: 0 -100px;
-}
-
-.postbit_buttons a.postbit_multiquote span {
- background-position: 0 -120px;
-}
-
-.postbit_buttons a.postbit_multiquote_on span {
- background-position: 0 -140px;
-}
-
-.postbit_buttons a.postbit_edit span {
- background-position: 0 -160px;
-}
-
-.postbit_buttons a.postbit_qdelete span {
- background-position: 0 -180px;
-}
-
-.postbit_buttons a.postbit_qrestore span {
- background-position: 0 -200px;
-}
-
-.postbit_buttons a.postbit_report span {
- background-position: 0 -220px;
-}
-
-.postbit_buttons a.postbit_warn span {
- background-position: 0 -240px;
-}
-
-.postbit_buttons a.postbit_purgespammer span {
- background-position: 0 -540px;
-}
-
-.postbit_buttons a.postbit_reply_pm span {
- background-position: 0 -260px;
-}
-
-.postbit_buttons a.postbit_reply_all span {
- background-position: 0 -280px;
-}
-
-.postbit_buttons a.postbit_forward_pm span {
- background-position: 0 -300px;
-}
-
-.postbit_buttons a.postbit_delete_pm span {
- background-position: 0 -320px;
-}
-
-a.button:link,
-a.button:hover,
-a.button:visited,
-a.button:active {
- background: #0f0f0f url(images/tcat.png) repeat-x;
- color: #fff;
- display: inline-block;
- padding: 4px 8px;
- margin: 2px 2px 6px 2px;
- border: 1px solid #000;
- font-size: 14px;
-}
-
-a.button.small_button {
- font-size: 13px;
- margin: 0;
- padding: 3px 6px;
-}
-
-a.button span {
- padding-left: 20px;
- display: inline-block;
- background-image: url(images/buttons_sprite.png);
- background-repeat: no-repeat;
-}
-
-a.button.new_thread_button span {
- background-position: 0 -340px;
-}
-
-a.button.new_reply_button span {
- background-position: 0 -360px;
-}
-
-a.button.closed_button span {
- background-position: 0 -380px;
-}
-
-a.button.rate_user_button span {
- background-position: 0 -400px;
-}
-
-a.button.add_buddy_button span {
- background-position: 0 -440px;
-}
-
-a.button.remove_buddy_button span {
- background-position: 0 -480px;
-}
-
-a.button.add_ignore_button span {
- background-position: 0 -460px;
-}
-
-a.button.remove_ignore_button span {
- background-position: 0 -500px;
-}
-
-a.button.report_user_button span {
- background-position: 0 -520px;
-}
-
-.quick_jump {
- background: url(images/jump.png) no-repeat 0;
- width: 13px;
- height: 13px;
- padding-left: 13px; /* amount of padding needed for image to fully show */
- margin-top: -3px;
- border: none;
-}
-
-.pollbar {
- background: url(images/pollbar.png) top left repeat-x;
- border: 1px solid #3f3f3f;
- height: 10px;
-}
-
-.pollbar .percent {
- display: none;
-}
-
-.posticons_label {
- white-space: nowrap;
-}
-
-/** jGrowl Start **/
-
-/** Special IE6 Style Positioning **/
-.ie6 {
- position: absolute;
-}
-
-.ie6.top-right {
- right: auto;
- bottom: auto;
- left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-.ie6.top-left {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-.ie6.bottom-right {
- left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-.ie6.bottom-left {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-.ie6.center {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
- width: 100%;
-}
-
-/** jGrowl Styling **/
-.jGrowl {
- z-index: 9999;
- color: #ffffff;
- font-size: 12px;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- position: fixed;
-}
-.jGrowl.top-left {
- left: 0px;
- top: 0px;
-}
-.jGrowl.top-right {
- right: 0px;
- top: 0px;
-}
-.jGrowl.bottom-left {
- left: 0px;
- bottom: 0px;
-}
-.jGrowl.bottom-right {
- right: 0px;
- bottom: 0px;
-}
-.jGrowl.center {
- top: 0px;
- width: 50%;
- left: 25%;
-}
-
-/** Cross Browser Styling **/
-
-.jGrowl.center .jGrowl-notification,
-.jGrowl.center .jGrowl-closer {
- margin-left: auto;
- margin-right: auto;
-}
-.jGrowl-notification {
- background-color: transparent;
- opacity: 0.9;
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
- -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
- zoom: 1;
- width: 250px;
- padding: 10px;
- margin: 10px;
- text-align: left;
- display: none;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- word-break: break-all;
-}
-.jGrowl .jGrowl-notification {
- min-height: 40px;
-}
-.jGrowl-notification .ui-state-highlight,
-.jGrowl-notification .ui-widget-content .ui-state-highlight,
-.jGrowl-notification .ui-widget-header .ui-state-highlight {
- border: 1px solid #000;
- background: #000;
- color: #fff;
-}
-.jGrowl-notification .jGrowl-header {
- font-weight: bold;
- font-size: .85em;
-}
-.jGrowl-notification .jGrowl-close {
- background-color: transparent;
- color: inherit;
- border: none;
- z-index: 99;
- float: right;
- font-weight: bold;
- font-size: 1em;
- cursor: pointer;
-}
-.jGrowl-closer {
- background-color: #000000;
- opacity: 0.9;
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
- -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(0.9*100));
- zoom: 1;
- width: 250px;
- padding: 10px;
- margin: 10px;
- text-align: left;
- display: none;
- border-radius: 5px;
- word-break: break-all;
- padding-top: 4px;
- padding-bottom: 4px;
- cursor: pointer;
- font-size: .9em;
- font-weight: bold;
- text-align: center;
-}
-.jGrowl-closer .ui-state-highlight,
-.jGrowl-closer .ui-widget-content .ui-state-highlight,
-.jGrowl-closer .ui-widget-header .ui-state-highlight {
- border: 1px solid #000;
- background: #000;
- color: #fff;
-}
-
-.jGrowl .jGrowl-notification.jgrowl_success {
- background: lightgreen;
- border: 1px solid lightgreen;
- color: #333;
-}
-
-.jGrowl .jGrowl-notification.jgrowl_error {
- background: red;
- border: 1px solid red;
- color: #333;
-}
-
-.jGrowl .jGrowl-notification.jgrowl_process, .jGrowl .jGrowl-closer {
- background: yellow;
- border: 1px solid yellow;
- color: #333;
-}
-
-/** Hide jGrowl when printing **/
-@media print {
- .jGrowl {
- display: none;
- }
-}
-
-/** jGrowl End **/
-
-/** Modal Start **/
-
-.modal {
- display: none;
- width: 400px;
- text-align: left;
- background: #fff;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- -o-border-radius: 8px;
- -ms-border-radius: 8px;
- border-radius: 8px;
- -webkit-box-shadow: 0 0 10px #000;
- -moz-box-shadow: 0 0 10px #000;
- -o-box-shadow: 0 0 10px #000;
- -ms-box-shadow: 0 0 10px #000;
- box-shadow: 0 0 10px #000;
-}
-
-.modal a.close-modal {
- position: absolute;
- top: -12.5px;
- right: -12.5px;
- display: block;
- width: 30px;
- height: 30px;
- text-indent: -9999px;
- background: url(images/close.png) no-repeat 0 0;
-}
-
-.modal-spinner {
- display: none;
- width: 64px;
- height: 64px;
- position: fixed;
- top: 50%;
- left: 50%;
- margin-right: -32px;
- margin-top: -32px;
- background: url(images/spinner_big.gif) no-repeat center center;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- -o-border-radius: 8px;
- -ms-border-radius: 8px;
- border-radius: 8px;
-}
-
-/** Modal End **/
-
-/** Impromptu Start **/
-
-/*! jQuery-Impromptu - v6.2.1 - 2015-05-10
-* http://trentrichardson.com/Impromptu
-* Copyright (c) 2015 Trent Richardson; Licensed MIT */
-
-.jqifade{
- position: absolute;
- background-color: #777777;
-}
-iframe.jqifade{
- display:block;
- z-index:-1;
-}
-div.jqi{
- width: 400px;
- max-width:90%;
- font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
- position: absolute;
- background-color: #ffffff;
- font-size: 11px;
- text-align: left;
- border: solid 1px #eeeeee;
- border-radius: 6px;
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
- padding: 7px;
-}
-div.jqi .jqicontainer{
-}
-div.jqi .jqiclose{
- position: absolute;
- top: 4px; right: -2px;
- width: 18px;
- cursor: default;
- color: #bbbbbb;
- font-weight: bold;
-}
-div.jqi .jqistate{
- background-color: #fff;
-}
-div.jqi .jqititle{
- padding: 5px 10px;
- font-size: 16px;
- line-height: 20px;
- border-bottom: solid 1px #eeeeee;
-}
-div.jqi .jqimessage{
- padding: 10px;
- line-height: 20px;
- color: #444444;
- overflow: auto;
-}
-div.jqi .jqibuttonshide{
- display: none;
-}
-div.jqi .jqibuttons{
- text-align: right;
- margin: 0 -7px -7px -7px;
- border-top: solid 1px #e4e4e4;
- background-color: #f4f4f4;
- border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- -webkit-border-radius: 0 0 6px 6px;
-}
-div.jqi .jqibuttons button{
- margin: 0;
- padding: 15px 20px;
- background-color: transparent;
- font-weight: normal;
- border: none;
- border-left: solid 1px #e4e4e4;
- color: #777;
- font-weight: bold;
- font-size: 12px;
-}
-div.jqi .jqibuttons button.jqidefaultbutton{
- color: #489afe;
-}
-div.jqi .jqibuttons button:hover,
-div.jqi .jqibuttons button:focus{
- color: #287ade;
- outline: none;
-}
-div.jqi .jqibuttons button[disabled]{
- color: #aaa;
-}
-.jqiwarning .jqi .jqibuttons{
- background-color: #b95656;
-}
-
-/* sub states */
-div.jqi .jqiparentstate::after{
- background-color: #777;
- opacity: 0.6;
- filter: alpha(opacity=60);
- content: '';
- position: absolute;
- top:0;left:0;bottom:0;right:0;
- border-radius: 6px;
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
-}
-div.jqi .jqisubstate{
- position: absolute;
- top:0;
- left: 20%;
- width: 60%;
- padding: 7px;
- border: solid 1px #eeeeee;
- border-top: none;
- border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- -webkit-border-radius: 0 0 6px 6px;
-}
-div.jqi .jqisubstate .jqibuttons button{
- padding: 10px 18px;
-}
-
-/* arrows for tooltips/tours */
-.jqi .jqiarrow{ position: absolute; height: 0; width:0; line-height: 0; font-size: 0; border: solid 10px transparent;}
-
-.jqi .jqiarrowtl{ left: 10px; top: -20px; border-bottom-color: #ffffff; }
-.jqi .jqiarrowtc{ left: 50%; top: -20px; border-bottom-color: #ffffff; margin-left: -10px; }
-.jqi .jqiarrowtr{ right: 10px; top: -20px; border-bottom-color: #ffffff; }
-
-.jqi .jqiarrowbl{ left: 10px; bottom: -20px; border-top-color: #ffffff; }
-.jqi .jqiarrowbc{ left: 50%; bottom: -20px; border-top-color: #ffffff; margin-left: -10px; }
-.jqi .jqiarrowbr{ right: 10px; bottom: -20px; border-top-color: #ffffff; }
-
-.jqi .jqiarrowlt{ left: -20px; top: 10px; border-right-color: #ffffff; }
-.jqi .jqiarrowlm{ left: -20px; top: 50%; border-right-color: #ffffff; margin-top: -10px; }
-.jqi .jqiarrowlb{ left: -20px; bottom: 10px; border-right-color: #ffffff; }
-
-.jqi .jqiarrowrt{ right: -20px; top: 10px; border-left-color: #ffffff; }
-.jqi .jqiarrowrm{ right: -20px; top: 50%; border-left-color: #ffffff; margin-top: -10px; }
-.jqi .jqiarrowrb{ right: -20px; bottom: 10px; border-left-color: #ffffff; }
-
-/** Impromptu End */
-]]>
-
-
-
-
-
- td {
- border-bottom: 0;
-}
-
-.tborder tbody tr:last-child > td:first-child {
- -moz-border-radius-bottomleft: 6px;
- -webkit-border-bottom-left-radius: 6px;
- border-bottom-left-radius: 6px;
-}
-
-.tborder tbody tr:last-child > td:last-child {
- -moz-border-radius-bottomright: 6px;
- -webkit-border-bottom-right-radius: 6px;
- border-bottom-right-radius: 6px;
-}
-
-.thead {
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-topright: 6px;
- -webkit-border-top-left-radius: 6px;
- -webkit-border-top-right-radius: 6px;
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
-}
-
-.thead_collapsed {
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-bottomright: 6px;
- -webkit-border-bottom-left-radius: 6px;
- -webkit-border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
- border-bottom-right-radius: 6px;
-}
-
-.thead_left {
- -moz-border-radius-topright: 0;
- -webkit-border-top-right-radius: 0;
- border-top-right-radius: 0;
-}
-
-.thead_right {
- -moz-border-radius-topleft: 0;
- -webkit-border-top-left-radius: 0;
- border-top-left-radius: 0;
-}
-
-.tcat_menu {
- -moz-border-radius: 0 !important;
- -webkit-border-radius: 0 !important;
- border-radius: 0 !important;
-}
-
-.tborder tbody:nth-last-child(2) .tcat_collapse_collapsed {
- -moz-border-radius-bottomleft: 6px !important;
- -moz-border-radius-bottomright: 6px !important;
- -webkit-border-bottom-left-radius: 6px !important;
- -webkit-border-bottom-right-radius: 6px !important;
- border-bottom-left-radius: 6px !important;
- border-bottom-right-radius: 6px !important;
-}
-
-button,
-input.button,
-input.textbox,
-input.invalid_field,
-input.valid_field,
-select,
-textarea,
-.editor_control_bar,
-blockquote,
-.codeblock,
-fieldset,
-.pm_alert,
-.red_alert,
-.popup_menu,
-.postbit_buttons > a,
-a.button {
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
- border-radius: 6px;
-}
-
-.post.classic .post_author {
- -moz-border-radius: 0 6px 6px 0;
- -webkit-border-radius: 0 6px 6px 0;
- border-radius: 0 6px 6px 0;
-}
-
-.popup_menu .popup_item_container:first-child .popup_item {
- -moz-border-radius-topleft: 6px;
- -moz-border-radius-topright: 6px;
- -webkit-border-top-left-radius: 6px;
- -webkit-border-top-right-radius: 6px;
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
-}
-
-.popup_menu .popup_item_container:last-child .popup_item {
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-bottomright: 6px;
- -webkit-border-bottom-left-radius: 6px;
- -webkit-border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
- border-bottom-right-radius: 6px;
-}
-
-.pagination a {
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
- border-radius: 6px;
-}
-
-.pollbar {
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
-}
-
-div.error {
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
- border-radius: 6px;
-}]]>
-
-
-
-
-{$lang->forum_announcement}
-{$headerinclude}
-
-
-
-{$header}
-
-
-{$lang->forum_announcement}
-
-
-
- {$announcement}
-
-
-
-{$footer}
-
-
-]]>
- announcement_edit}" class="postbit_edit">{$lang->postbit_button_edit} ]]>
- post_code}" onclick="MyBB.deleteAnnouncement(this); return false;" class="postbit_qdelete">{$lang->postbit_button_qdelete} ]]>
-
-
- {$mybb->settings['bbname']} - {$lang->calendar}
- {$headerinclude}
-
-
- {$header}
-
-
-
-
-
- {$monthnames[$month]} {$year}
-
-
-
-
- {$weekday_headers}
-
-
-
- {$calendar_rows}
-
-
-
-
-{$footer}
-
-]]>
-
-
-{$mybb->settings['bbname']} - {$lang->calendar} - {$lang->add_event}
-{$headerinclude}
-
-
-{$header}
-{$event_errors}
-
-{$footer}
-
-]]>
-
- {$lang->select_calendar}
-
-
- {$select_calendar}
-
-
- ]]>
- ]]>
- {$lang->add_public_event} | {$lang->add_private_event} ]]>
- {$lang->add_private_event}]]>
- {$lang->add_public_event}]]>
- {$day}]]>
-
-
-{$mybb->settings['bbname']} - {$lang->calendar}
-{$headerinclude}
-
-
-{$header}
-{$birthdays}
-{$events}
-
-
-
-
-
-
-
- {$addevent}
-
- {$lang->jump_month}
-
- {$monthnames[$month]}
- ----------
- {$lang->alt_month_1}
- {$lang->alt_month_2}
- {$lang->alt_month_3}
- {$lang->alt_month_4}
- {$lang->alt_month_5}
- {$lang->alt_month_6}
- {$lang->alt_month_7}
- {$lang->alt_month_8}
- {$lang->alt_month_9}
- {$lang->alt_month_10}
- {$lang->alt_month_11}
- {$lang->alt_month_12}
-
-
- {$year}
- ----------
- {$yearsel}
-
- {$gobutton}
-
- {$calendar_jump}
-
-
-
-
-
-
-
-{$footer}
-
-]]>
-
-
-{$lang->birthdays_on_day}
-
-
-{$birthday_list}
-
-
- ]]>
-
-
-
- {$event['name']}
-
-
- {$time_period}
-
-
-
-
- {$event['profilelink']}
-
- {$event['usertitle']}
- {$event['userstars']}
-
-
-
- {$moderator_options}
- {$repeats}
-
-
-
-
-
-
- {$event['description']}
- {$edit_event}
-
-
-
- ]]>
-
-
-{$lang->no_events}
-
-]]>
-
-
-{$mybb->settings['bbname']} - {$lang->calendar} - {$lang->edit_event}
-{$headerinclude}
-
-
-{$header}
-{$event_errors}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{$footer}
-
-