diff --git a/html/user/gallery.inc b/html/user/gallery.inc deleted file mode 100755 index a3a3283a49..0000000000 --- a/html/user/gallery.inc +++ /dev/null @@ -1,378 +0,0 @@ -"; - - // Build an array of IDs of all users with pictures in their profiles. - while ($row = mysql_fetch_array($result, MYSQL_NUM)) { // NUM is supposedly faster than ASSOC. - $userIds[] = $row[0]; - } - - mysql_free_result($result); - - if (count($userIds) > 0) { - // Randomize the ordering of users. - shuffle($userIds); - } - - $numPages = ceil(count($userIds)/($width * $height)); - - // Make sure that a page is generated even when no profiles with pictures - // exist in order to avoid 404 errors from the profile_menu page. - - if ($numPages == 0) { - $numPages = 1; - } - - echo "Generating $numPages pages.
"; - - $count = 0; - - for ($page = 1; $page <= $numPages; $page++) { - $file = PROFILE_PATH . "user_gallery_" . $page . ".html"; - $descriptor = fopen($file, "w"); - - page_head("User Picture Gallery: Page $page of $numPages", null, $descriptor); - - fwrite($descriptor, "

User Profile Pictures

Last updated " . gmdate("r") . " UTC\n

Browse the user profiles by picture. Only user profiles with pictures are listed here."); - - fwrite($descriptor, "\n"); - - for ($row = 0; $row < $height; $row++) { - fwrite($descriptor, ""); - for ($col = 0; $col < $width; $col++) { - if ($count < $numIds) { - - fwrite($descriptor, ""); - $count++; - } - } - fwrite($descriptor, "\n"); - if ($count == $numIds) { - break; - } - } - - fwrite($descriptor, "
\n"); - - // Previous and Next links - - write_page_links("user_gallery", $page, $numPages, $descriptor); - - page_tail($descriptor); - - //fwrite($descriptor, ""); - fclose($descriptor); - - } - echo "

Go to the first generated page."; -} - -// Creates pages grouping user profiles by country. Filenames are of the -// format "profile_country__.html -// Also creates a summary page listing all countries which have profiled -// members, the number of such members, and links to the created pages for -// each country. - -function build_country_pages() { - - $query = "SELECT * FROM profile"; - $result = mysql_query($query); - $numIds = 0; - - // Build a multi-dimensional array of countries, each element of which contains an array - // of the userids who belong to those countries. Format: array[country][index] = userid. - - while ($row = mysql_fetch_assoc($result)) { - $query2 = "SELECT * FROM user WHERE id = " . $row['userid']; - $result2 = mysql_query($query2); - $row2 = mysql_fetch_assoc($result2); - - if ($row2['country']) { - $countryMembers[$row2['country']][] = $row2['id']; - $numIds++; - } - } - - mysql_free_result($result); - mysql_free_result($result2); - - echo "$numIds users have profiles AND non-null country entries.
"; - - $countries = array_keys($countryMembers); - - // Build the pages. - // TODO: Define a constant for the desired number of rows per page. - - foreach ($countries as $country) { - build_country_page($country, &$countryMembers[$country], 5); - } - - // Build the summary page linking to the individual country pages. - // TODO: Pass $countryMembers by reference. - build_country_summary_page($countryMembers); - echo "
View Summary Page"; - - echo "

Done"; - -} - -// Helper function for build_country_page. Creates as many pages as -// are neccessary to list all user profiles for country $name, given -// $rows rows per page. Member IDs are passed in the array $members. - -function build_country_page($name, $members, $rows) { - - $countryName = $name; - - // Make the country name a legal format for a filename. - $name = get_legal_filename($countryName); - - $name = ereg_replace(',', '', $name); - $name = ereg_replace(' ', '_', $name); - - $numMembers = count($members); - $numPages = ceil(count($members) / (2 * $rows)); - echo "
$countryName has $numMembers members. - $numPages pages will be generated. VIEW"; - - $count = 0; - - for ($page = 1; $page <= $numPages; $page++) { - - $filename = PROFILE_PATH . "profile_country_" . $name . "_" . $page . ".html"; - $descriptor = fopen($filename, "w"); - - page_head("User Profiles from $countryName: Page $page of $numPages", null, $descriptor); - - fwrite($descriptor, "

$countryName

\n"); - fwrite($descriptor, "Last updated " . gmdate("r") . " UTC

\n"); - - $offset = (($page-1) * $rows * 2); - $numPerPage = ($rows * 2); - - show_user_table($members, $offset, $numPerPage, 2, $descriptor); - - $tempFileName = "profile_country_" . $name; - write_page_links($tempFileName, $page, $numPages, $descriptor); - - page_tail($descriptor); - fclose($descriptor); - } - -} - -// Builds a summary table of user profiles, writing it to $descriptor if it is -// available, or echoing if it is not. -// -// $members is an array of userIDs; -// $offset indicates which entry to begin the table with -// $numToDisplay indicates how many profiles to display in this table -// $cols indicates how many profile summaries should be written per row -// $descriptor is an optional file descriptor to write the table to. - -function show_user_table($members, $offset, $numToDisplay, $cols, $descriptor=null) { - - // TODO: Would be nice if we could open a stream to stdout to avoid - // all the redundant $descriptor checks. Once the server is running - // PHP 5+, might want to try switching over to fprintf(...). - - if ($descriptor) { - fwrite($descriptor, "\n"); - } else { - echo "
"; - } - - $rows = ceil($numToDisplay / $cols); - $count = $offset; - $numMembers = count($members); - - for ($row = 0; $row < $rows; $row++) { - if ($count >= $numMembers) { - break; - } - - if ($descriptor) { - fwrite($descriptor, "\n"); - } else { - echo ""; - } - - // Formatting is a table with two columns of user summaries. - for ($col = 0; $col < $cols; $col++) { - if ($count < $numMembers) { - if ($descriptor) { - fwrite($descriptor, ""); - } else { - echo ""; - } - - $count++; - } - else { - // Empty entry - if ($descriptor) { - fwrite($descriptor, ""); - } else { - echo ""; - } - } - } - if ($descriptor) { - fwrite($descriptor, "\n"); - } else { - echo ""; - } - } - if ($descriptor) { - fwrite($descriptor, "
"); - } else { - echo "
"; - } - - // Only link an image if one exists. - if (file_exists(IMAGE_PATH . $members[$count] . '_sm.jpg')) { - if ($descriptor) { - fwrite($descriptor, ""); - } else { - echo ""; - } - - } else { - if ($descriptor) { - fwrite($descriptor, " "); - } else { - echo " "; - } - } - if ($descriptor) { - fwrite($descriptor, "
"); - fwrite($descriptor, get_profile_summary($members[$count])); - fwrite($descriptor, "\n", get_profile_summary($members[$count]), "
\n"); - } else { - echo ""; - } -} - -// Generates a legal filename from a parameter string. - -function get_legal_filename($name) { - $name = ereg_replace(',', '', $name); - return ereg_replace(' ', '_', $name); -} - -// Generates a string containing: -// 1) the name of the user with ID == $userid, with a link to a view of their profile; -// 2) the first MAX_DESC_LENGTH characters from the response1 field of said user's profile. - -function get_profile_summary($userid) { - $result = mysql_query("SELECT * FROM profile WHERE userid = $userid"); - $result2 = mysql_query("SELECT name FROM user WHERE id = $userid"); - - if (!$result || !$result2) { - echo "Database error!"; // Change this to a standard error page. - exit(); - } - - $row = mysql_fetch_assoc($result); - $row2 = mysql_fetch_assoc($result2); - - mysql_free_result($result); - mysql_free_result($result2); - - if (strlen($row['response1']) != 0) { - - $description = "(\"" . sanitize_html(substr($row['response1'], 0, MAX_DESC_LENGTH)); - if (strlen($row['response1']) >= MAX_DESC_LENGTH) { - $description = $description . "..."; - } - $description = $description . "\")"; - } - - $summary = "" . $row2['name'] . " " . $description; - return $summary; -} - -// Generates a standard set of links between associated multi-page documents. All linked -// files must be of the form "$filename_.html". - -function write_page_links($filename, $currPageNum, $numPages, $descriptor) { - fwrite($descriptor, "

Page $currPageNum of $numPages

"); - - $nextPageNum = $currPageNum + 1; - $prevPageNum = $currPageNum - 1; - - // Make the 'previous' and 'next' page links as appropriate. - if ($currPageNum > 1) { - fwrite($descriptor, "Previous Page"); - - if ($currPageNum != $numPages) { - fwrite($descriptor, " | "); - } - } - if ($currPageNum != $numPages) { - fwrite($descriptor, "Next Page"); - } - - fwrite($descriptor, "

\n\n\n"); - - // Make the individual page links (or a bold non-link for the current page). - for ($i = 1; $i <= $numPages; $i++) { - if ($i != $currPageNum) { - fwrite($descriptor, "\n"); - } else { - fwrite($descriptor, "\n"); - } - } - - fwrite($descriptor, "
Jump to Page:$i$i
\n"); -} - -function build_country_summary_page($countryMembers) { - $countries = array_keys($countryMembers); - - $filename = PROFILE_PATH . "profile_country.html"; - $descriptor = fopen($filename, "w"); - - echo "

Building country summary page...
"; - - page_head("User Profiles by Country", null, $descriptor); - fwrite($descriptor, "

User Profiles by Country

Last updated " . gmdate("r") . " UTC

"); - - fwrite($descriptor, "\n"); - fwrite($descriptor, "\n"); - - foreach ($countries as $country) { - $numMembers = count($countryMembers[$country]); - $name = get_legal_filename($country); - - fwrite($descriptor, "\n\n"); - - } - - fwrite($descriptor, "
CountryProfiles
$country$numMembers
"); - page_tail($descriptor); - - fclose($descriptor); -} -?>