continue; } if ($maxUsersText) { $maxUsersText .= ", "; } $maxUsersText .= UserLinkById($user); } } // Awesome way of calculating the mean birth date. // I'm not sure if there's any problems with overflows and all. // But it seems to work fine :3 $sumAge = FetchResult("SELECT SUM(birthday) FROM {users} WHERE birthday != 0"); $countAge = FetchResult("SELECT COUNT(*) FROM {users} WHERE birthday != 0"); if ($countAge > 0) { $avgAge = (int) ($sumAge / $countAge); $avgAge = formatBirthday($avgAge); } else { $avgAge = -1; } write("\n<table class=\"outline margin width75\">\n\t<tr class=\"header0\">\n\t\t<th colspan=\"2\">\n\t\t\t" . __("Highest Numbers") . "\n\t\t</th>\n\t</tr>\n\t<tr class=\"cell0\">\n\t\t<td>\n\t\t\t" . __("Highest number of posts in 24 hours") . "\n\t\t</td>\n\t\t<td>\n\t\t\t" . __("<strong>{0}</strong>, on {1} GMT") . "\n\t\t</td>\n\t</tr>\n\t<tr class=\"cell1\">\n\t\t<td>\n\t\t\t" . __("Highest number of posts in one hour") . "\n\t\t</td>\n\t\t<td>\n\t\t\t" . __("<strong>{2}</strong>, on {3} GMT") . "\n\t\t</td>\n\t</tr>\n\t<tr class=\"cell0\">\n\t\t<td>\n\t\t\t" . __("Highest number of users in five minutes") . "\n\t\t</td>\n\t\t<td>\n\t\t\t" . __("<strong>{4}</strong>, on {5} GMT") . "\n\t\t</td>\n\t</tr>\n\t<tr class=\"cell1\">\n\t\t<td></td>\n\t\t<td>\n\t\t\t{6}\n\t\t</td>\n\t</tr>\n\t" . ($avgAge > -1 ? "<tr class=\"cell0\">\n\t\t<td>\n\t\t\t" . __("Average age of members") . "\n\t\t</td>\n\t\t<td>\n\t\t\t" . $avgAge . "\n\t\t</td>\n\t</tr>" : '') . "\n</table>\n", $misc['maxpostsday'], gmdate($df, $misc['maxpostsdaydate']), $misc['maxpostshour'], gmdate($df, $misc['maxpostshourdate']), $misc['maxusers'], gmdate($df, $misc['maxusersdate']), $maxUsersText); $rStats = Query("show table status"); while ($stat = Fetch($rStats)) { $tables[$stat['Name']] = $stat; } $tablelist = ""; $rows = $avg = $datlen = $idx = $datfree = 0; foreach ($tables as $table) { $cellClass = ($cellClass + 1) % 2; $tablelist .= format("\n\t<tr class=\"cell{0}\">\n\t\t<td class=\"cell2\">{1}</td>\n\t\t<td>\n\t\t\t{2}\n\t\t</td>\n\t\t<td>\n\t\t\t{3}\n\t\t</td>\n\t\t<td>\n\t\t\t{4}\n\t\t</td>\n\t\t<td>\n\t\t\t{5}\n\t\t</td>\n\t\t<td>\n\t\t\t{6}\n\t\t</td>\n\t\t<td>\n\t\t\t{7}\n\t\t</td>\n\t</tr>\n", $cellClass, $table['Name'], $table['Rows'], sp($table['Avg_row_length']), sp($table['Data_length']), sp($table['Index_length']), sp($table['Data_free']), sp($table['Data_length'] + $table['Index_length'])); $rows += $table['Rows']; $avg += $table['Avg_row_length'];
/** * getFormattedBirthdayAndDeath * * Will return an array with two dates, one bday and one death day. * * @param array $data * * @return array */ function getFormattedBirthdayAndDeath(array $data) { $bday = T_('Unknown'); $death = ''; if (!empty($data['dob_year'])) { $bday = '<b>' . T_('Born') . ':</b> '; $bday .= formatBirthday($data['dob_year'], $data['dob_month'], $data['dob_day']); if (empty($data['dod_year']) && !empty($data['dob_month']) && !empty($data['dob_day'])) { $age = getAge($data['dob_year'], $data['dob_month'], $data['dob_day']); $bday .= ' (' . sprintf(T_pgettext('Ex: age 30', 'age %d'), $age) . ')'; } } if (!empty($data['dod_year'])) { $death = '<b>' . T_('Passed Away') . ':</b> '; $death .= formatBirthday($data['dod_year'], $data['dod_month'], $data['dod_day']); $checkDates = array('dob_year' => 'Y', 'dob_month' => 'm', 'dob_day' => 'd', 'dod_year' => 'Y', 'dod_month' => 'm', 'dod_day' => 'd'); $haveAllDates = 0; foreach ($checkDates as $d => $k) { if (!empty($data[$d])) { ${$d} = $data[$d]; $haveAllDates++; } else { ${$d} = gmdate($k); } } if (!empty($data['dod_month']) && !empty($data['dod_day'])) { $dod = gmdate($data['dod_year'] . '-' . $data['dod_month'] . '-' . $data['dod_day']); $age = getAge($dob_year, $dob_month, $dob_day, $dod); } else { $dod = gmdate($data['dod_year'] . '-' . gmdate('m') . '-' . gmdate('d')); $age = getAge($dob_year, $dob_month, $dob_day, $dod); } if ($haveAllDates < 6) { $age = '~' . $age; } $death .= ' (' . sprintf(T_pgettext('Ex: at age ~81', 'at age %s'), $age) . ')'; } return array($bday, $death); }
} else { $themename = $user['theme']; $themeauthor = ""; } $foo[__("Theme")] = $themename; $foo[__("Items per page")] = Plural($user['postsperpage'], __("post")) . ", " . Plural($user['threadsperpage'], __("thread")); $profileParts[__("Presentation")] = $foo; $foo = array(); if ($user['realname']) { $foo[__("Real name")] = htmlspecialchars($user['realname']); } if ($user['location']) { $foo[__("Location")] = htmlspecialchars($user['location']); } if ($user['birthday']) { $floo[__("Birthday")] = formatBirthday($user['birthday']); } if (count($foo)) { $profileParts[__("Personal information")] = $foo; } if ($user['bio']) { $profileParts[__("Bio")] = array("" => CleanUpPost($user['bio'], $user['displayname'] ? $user['displayname'] : $user['name'])); } $badgersR = Query("select * from {badges} where owner={0} order by color", $id); if (NumRows($badgersR)) { $badgers = ""; $colors = array("bronze", "silver", "gold", "platinum"); while ($badger = Fetch($badgersR)) { $badgers .= Format("<span class=\"badge {0}\">{1}</span> ", $colors[$badger['color']], $badger['name']); } $profileParts['General information']['Badges'] = $badgers;
} else { $themename = $user['theme']; $themeauthor = ""; } $temp[__("Theme")] = $themename; $temp[__("Items per page")] = Plural($user['postsperpage'], __("post")) . ", " . Plural($user['threadsperpage'], __("thread")); $profileParts[__("Presentation")] = $temp; $temp = array(); if ($user['realname']) { $temp[__("Real name")] = htmlspecialchars($user['realname']); } if ($user['location']) { $temp[__("Location")] = htmlspecialchars($user['location']); } if ($user['birthday']) { $temp[__("Birthday")] = formatBirthday($user['birthday']); } if (count($temp)) { $profileParts[__("Personal information")] = $temp; } if ($user['bio']) { $profileParts[__('Bio')] = CleanUpPost($user['bio']); } $badgersR = Query("select * from {badges} where owner={0} order by color", $id); if (NumRows($badgersR)) { $badgers = ""; $colors = array("bronze", "silver", "gold", "platinum"); while ($badger = Fetch($badgersR)) { $badgers .= Format("<span class=\"badge {0}\">{1}</span> ", $colors[$badger['color']], $badger['name']); } $profileParts['General information']['Badges'] = $badgers;
/** * displayMergeMemberFormReview * * @param int $id The id of the current member * @param int $merge The id of the member you are merging with * * @return void */ function displayMergeMemberFormReview($id, $merge) { $id = (int) $id; $merge = (int) $merge; $sql = "SELECT u.`id`, u.`username`, u.`fname`, u.`mname`, u.`lname`, u.`maiden`, u.`email`, \n u.`dob_year`, u.`dob_month`, u.`dob_day`, \n a.`address`, a.`city`, a.`state`, a.`zip`, a.`home`, a.`work`, a.`cell`, u.`bio`\n FROM `fcms_users` AS u, `fcms_address` AS a\n WHERE u.`id` IN (?, ?) \n AND u.`id` = a.`user`"; $rows = $this->fcmsDatabase->getRows($sql, array($id, $merge)); if ($rows === false) { $this->fcmsError->displayError(); return; } foreach ($rows as $r) { $members[$r['id']] = $r; } $year1 = empty($members[$id]['dob_year']) ? '0000' : $members[$id]['dob_year']; $month1 = empty($members[$id]['dob_month']) ? '00' : $members[$id]['dob_month']; $day1 = empty($members[$id]['dob_day']) ? '00' : $members[$id]['dob_day']; $year2 = empty($members[$merge]['dob_year']) ? '0000' : $members[$merge]['dob_year']; $month2 = empty($members[$merge]['dob_month']) ? '00' : $members[$merge]['dob_month']; $day2 = empty($members[$merge]['dob_day']) ? '00' : $members[$merge]['dob_day']; $birthday1 = $year1 . '-' . $month1 . '-' . $day1; $birthday2 = $year2 . '-' . $month2 . '-' . $day2; $formatBirthday1 = formatBirthday($members[$id]['dob_year'], $members[$id]['dob_month'], $members[$id]['dob_day']); $formatBirthday2 = formatBirthday($members[$merge]['dob_year'], $members[$merge]['dob_month'], $members[$merge]['dob_day']); // Display form echo ' <form method="post" id="merge-form" action="members.php"> <fieldset> <legend><span>' . T_('Merge Member') . '</span></legend> <div class="alert-message block-message info"> <p>' . T_('Choose which information you would like to use from the two members below.') . '</p> <p>' . sprintf(T_('Please note that user [%s] and all information not selected will be deleted.'), $merge) . '</p> </div> <div class="row"> <div class="span8"> <div class="clearfix"> <label>' . T_('ID') . '</label> <div class="input"> <ul class="inputs-list"><li><label>' . $members[$id]['id'] . '</label></li></ul> </div> </div> <div class="clearfix"> <label>' . T_('Username') . '</label> <div class="input"> <ul class="inputs-list"><li><label>' . $members[$id]['username'] . '</label></li></ul> </div> </div> <div class="clearfix"> <label>' . T_('First Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="f1" name="fname" value="' . $members[$id]['fname'] . '"/> <span>' . $members[$id]['fname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Middle Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="m1" name="mname" value="' . $members[$id]['mname'] . '"/> <span>' . $members[$id]['mname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Last Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="l1" name="lname" value="' . $members[$id]['lname'] . '"/> <span>' . $members[$id]['lname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Maiden Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="ma1" name="maiden" value="' . $members[$id]['maiden'] . '"/> <span>' . $members[$id]['maiden'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Email') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="e1" name="email" value="' . $members[$id]['email'] . '"/> <span>' . $members[$id]['email'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Birthday') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="b1" name="birthday" value="' . $birthday1 . '"/> <span>' . $formatBirthday1 . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Address') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="a1" name="address" value="' . $members[$id]['address'] . '"/> <span>' . $members[$id]['address'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('City') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="c1" name="city" value="' . $members[$id]['city'] . '"/> <span>' . $members[$id]['city'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('State') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="s1" name="state" value="' . $members[$id]['state'] . '"/> <span>' . $members[$id]['state'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Zip') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="z1" name="zip" value="' . $members[$id]['zip'] . '"/> <span>' . $members[$id]['zip'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Home Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="h1" name="home" value="' . $members[$id]['home'] . '"/> <span>' . $members[$id]['home'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Work Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="w1" name="work" value="' . $members[$id]['work'] . '"/> <span>' . $members[$id]['work'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Cell Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="ce1" name="cell" value="' . $members[$id]['cell'] . '"/> <span>' . $members[$id]['cell'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Bio') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" checked="checked" id="bi1" name="bio" value="' . $members[$id]['bio'] . '"/> <span>' . $members[$id]['bio'] . '</span> </label> </li> </ul> </div> </div> </div><!-- /span8 --> <div class="span8"> <div class="clearfix"> <label>' . T_('ID') . '</label> <div class="input"> <ul class="inputs-list"><li><label>' . $members[$merge]['id'] . '</label></li></ul> </div> </div> <div class="clearfix"> <label>' . T_('Username') . '</label> <div class="input"> <ul class="inputs-list"><li><label>' . $members[$merge]['username'] . '</label></li></ul> </div> </div> <div class="clearfix"> <label>' . T_('First Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="f2" name="fname" value="' . $members[$merge]['fname'] . '"/> <span>' . $members[$merge]['fname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Middle Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="m2" name="mname" value="' . $members[$merge]['mname'] . '"/> <span>' . $members[$merge]['mname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Last Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="l2" name="lname" value="' . $members[$merge]['lname'] . '"/> <span>' . $members[$merge]['lname'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Maiden Name') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="ma2" name="maiden" value="' . $members[$merge]['maiden'] . '"/> <span>' . $members[$merge]['maiden'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Email') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="e2" name="email" value="' . $members[$merge]['email'] . '"/> <span>' . $members[$merge]['email'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Birthday') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="b2" name="birthday" value="' . $birthday2 . '"/> <span>' . $formatBirthday2 . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Address') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="a2" name="address" value="' . $members[$merge]['address'] . '"/> <span>' . $members[$merge]['address'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('City') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="c2" name="city" value="' . $members[$merge]['city'] . '"/> <span>' . $members[$merge]['city'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('State') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="s2" name="state" value="' . $members[$merge]['state'] . '"/> <span>' . $members[$merge]['state'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Zip') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="z2" name="zip" value="' . $members[$merge]['zip'] . '"/> <span>' . $members[$merge]['zip'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Home Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="h2" name="home" value="' . $members[$merge]['home'] . '"/> <span>' . $members[$merge]['home'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Work Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="w2" name="work" value="' . $members[$merge]['work'] . '"/> <span>' . $members[$merge]['work'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Cell Phone') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="ce2" name="cell" value="' . $members[$merge]['cell'] . '"/> <span>' . $members[$merge]['cell'] . '</span> </label> </li> </ul> </div> </div> <div class="clearfix"> <label>' . T_('Bio') . '</label> <div class="input"> <ul class="inputs-list"> <li> <label> <input type="radio" id="bi2" name="bio" value="' . $members[$merge]['bio'] . '"/> <span>' . $members[$merge]['bio'] . '</span> </label> </li> </ul> </div> </div> </div><!-- /span8 --> </div><!-- /row --> <div class="actions"> <input type="hidden" id="id" name="id" value="' . $id . '"/> <input type="hidden" id="merge" name="merge" value="' . $merge . '"/> <input class="btn primary" type="submit" id="merge-submit" name="merge-submit" value="' . T_('Merge') . '"/> <a class="btn" href="members.php">' . T_('Cancel') . '</a> </div> </fieldset> </form>'; }