com web/php: Show usergroups for selected country: ug.php
| From: | Hannes Magnusson | Date: | Thu, 23 Jan 2014 00:38:43 +0000 |
| Subject: | com web/php: Show usergroups for selected country: ug.php | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-18208@lists.php.net to get a copy of this message | ||
Commit: 6c4a1183e6fbf23d2430944bd313ad2d3cebed6f
Author: Hannes Magnusson <bjori@mongodb.com> Wed, 22 Jan 2014 16:38:43 -0800
Parents: f2a8c4af49081e3efd492dabdbb7b4180920c4e4
Branches: master
Link: http://git.php.net/?p=web/php.git;a=commitdiff;h=6c4a1183e6fbf23d2430944bd313ad2d3cebed6f
Log:
Show usergroups for selected country
Changed paths:
M ug.php
Diff:
diff --git a/ug.php b/ug.php
index fd5f8a1..4ed412f 100644
--- a/ug.php
+++ b/ug.php
@@ -6,115 +6,52 @@ include_once $_SERVER['DOCUMENT_ROOT'] .
'/include/prepend.inc';
site_header("Hypertext Preprocessor",
array(
'current' => 'community',
- //'intro' => $intro
)
);
-$json = file_get_contents("./include/events.json");
-$all = json_decode($json, true);
-
-$groupped = array_fill_keys(array_keys($COUNTRIES), array("ug" => array(),
"conf" => array()));
-foreach($all as $type => $event) {
- $category = $event["category"] == 1 ? "ug" : "conf";
- $groupped[$event["country"]][$category][] = $event;
+function print_cc_header($country) {
+ global $COUNTRIES;
+ ?>
+ <div class="country" id="<?php echo $country ?>">
+ <h2 class="title countrytitle">User Groups in <?php echo
$COUNTRIES[$country] ?>
+ <img height="25" width="45" src="/images/flags/beta/<?php
echo strtolower($country) ?>.png">
+ </h2>
+ <ul class="ugs">
+ <?php
}
-function format_event_date($starts, $ends, $usually) {
- if ($ends) {
- $starts = date_format(date_create($starts), 'F jS, Y');
- $ends = date_format(date_create($ends), 'F jS, Y');
- return "$starts to $ends";
- }
- if ($starts && !$usually) {
- $starts = date_format(date_create($starts), 'Y-m-d');
- return $starts;
+function print_ug_matches($matches) {
+ $content = "";
+ foreach($matches as $group) {
+ echo '<li class="ug"><a href="'.
$group["url"].'">' . $group["name"] . " (" .
$group["shortname"] . ")</a></li>";
}
- $days = array(1 => "Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday");
- $recur = array(
- -3 => "third last",
- -2 => "second last",
- -1 => "last",
- 1 => "first",
- 2 => "second",
- 3 => "third",
- 4 => "fourth",
- );
-
- list($rec, $day) = explode(":", $usually);
- $time = strtotime($recur[$rec]. " " . $days[$day] . " of this month");
- if ($time > strtotime("tomorrow")) {
- $time = strtotime($recur[$rec]. " " . $days[$day] . " of next month");
+ if (!$matches) {
+ echo "<li>There are no known User Groups in {$COUNTRIES[$country]} at this time
:(</li>";
}
- return date_format(date_create("@$time"), "l, F jS, Y");
+ echo "</ul>";
}
-$SIDEBAR = "";
-$content = "";
-$first = false;
-foreach($groupped as $country => $events) {
- if (!$events["ug"] && !$events["conf"]) continue;
-
- $countrycode = $COUNTRIES[$country];
- $SIDEBAR .= '<p class="panel"><a href="#' . $country .
'">' . $countrycode . '</p>';
- $entry = "";
+$country = isset($_GET["cc"]) ? $_GET["cc"] : $COUNTRY;
- $entry .= '<div class="country" id="' . $country.
'">';
- $entry .= '<h2 class="title countrytitle">' . $countrycode;
- $entry .= '<img alt="' . $countrycode . '" height="25"
width="45" src="' . $_SERVER['STATIC_ROOT'] .
'/images/flags/beta/' . strtolower($country) . '.png">';
- $entry .= '</h2>';
- if ($events["ug"]) {
- $entry .= "<h2 class='title'>User Groups in
$countrycode</h2>";
- }
-
- foreach($events["ug"] as $event) {
- $link = $event["url"];
- $date = format_event_date($event["sdato"], $event["edato"],
$event["recur"]);
- $entry .= '<div class="newsentry">';
- $entry .= "<div class='newstime'>$date</div>";
- $entry .= '<h3 class="newstitle"><a href="'. $link
.'">' . $event["sdesc"];
- $entry .= '</a>'.'</h3>';
- $entry .= '<div class="newscontent">';
- $entry .= nl2br($event["ldesc"]);
- $entry .= '</div>';
- $entry .= '</div>';
- }
- if ($events["conf"]) {
- $entry .= "<h2 class='title'>Conferences in
$countrycode</h2>";
- }
- foreach($events["conf"] as $event) {
- $link = $event["url"];
- $date = format_event_date($event["sdato"], $event["edato"],
$event["recur"]);
- $entry .= '<div class="newsentry">';
- $entry .= '<h3 class="newstitle"><a href="'. $link
.'">' . $event["sdesc"];
- $entry .= "<div class='newstime'>$date</div>";
- $entry .= '</a>'.'</h3>';
- $entry .= '<div class="newscontent">';
- $entry .= $event["ldesc"];
- $entry .= '</div>';
- $entry .= '</div>';
- }
- $entry .= "</div>";
-
- if ($COUNTRY == $country) {
- $first = $entry;
- }
- $content .= $entry;
+if (isset($COUNTRIES[$country])) {
+ $matches = get_usergroups_in($country);
+ print_cc_header($country);
+ print_ug_matches($matches);
+} else {
+ echo "<h1>Unknown country</h1>";
}
-echo "<div class='home-content'>";
-if ($first) {
- echo $first;
-}
-echo $content;
-echo "</div>";
+$SIDEBAR_DATA = <<< EOF
+ <p class="panel"><a href="http://php.ug/ug/promote">Register new
UG</a></p>
+EOF;
+
// Print the common footer.
site_footer(
array(
"atom" => "/feed.atom", // Add a link to the feed at the bottom
- //'elephpants' => true,
- 'sidebar' => $SIDEBAR
+ "sidebar" => $SIDEBAR_DATA,
)
);