Hi Team, Sorry about lack of patches last time.
*master.git patch* The first patch includes the parser which: * asks joindin API for 50 of the latest upcoming PHP conferences. * parses the JSON API response. * uses OpenStreetMaps to convert lat/longs to City/Country * puts it back into JSON and dumps it to disk for the mirrors to process. Clean and simple. *phpweb patch* The second path includes: * an example .json file dump of the conferences which pretends that master.git repo put there by rsync which happens in the live environment * the /conferences/ index page, iterating the JSON results. * handling the optional inclusion for successful city/country from OSM. * handling default images if there are none supplied by joindin. Example screenshot is here showing conferences title, date, description, logo, city, country: http://puu.sh/bYyNT/9172394ce7.png Many thanks, Paul
From f74120d9394f53e24ee0cab9e25b3407b8be895f Mon Sep 17 00:00:00 2001 From: Paul Dragoonis <dragoo...@gmail.com> Date: Sat, 4 Oct 2014 00:03:51 +0100 Subject: [PATCH] Adding a JoindIn parser and update-backend hook to write the results out to disk to be rsynced to mirrors --- scripts/joindin_parser.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/update-backend | 25 ++++++++++++++++--- 2 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 scripts/joindin_parser.php diff --git a/scripts/joindin_parser.php b/scripts/joindin_parser.php new file mode 100644 index 0000000..8485a4d --- /dev/null +++ b/scripts/joindin_parser.php @@ -0,0 +1,60 @@ +<?php + +class JoindInParser +{ + /** + * Base joindin URL + * + * @var string + */ + protected $baseUrl = 'http://api.joind.in/v2.1/events?filter=upcoming&tags=%s&verbose=yes&resultsperpage=%s'; + + /** + * OpenStreetMaps base url + * + * @var string + */ + protected $geocodeBaseUrl = 'http://nominatim.openstreetmap.org/reverse?lat=%s&lon=%s&accept-language=en'; + + /** + * Query the joindin URL by specifying a tag to filter by + * + * @param string $tag + * @param int $amount + * @return array Array of event objects + */ + public function getEventsBasedOnTag($tag, $amount = 50) + { + $events = file_get_contents(sprintf($this->baseUrl, $tag, $amount)); + $events = json_decode($events); + + if(!isset($events->events)) { + return array(); + } + + $ret = array(); + + foreach($events->events as $event) { + + // OSM Lookups and parsing XML response + $geocodeDataResponse = file_get_contents(sprintf($this->geocodeBaseUrl, $event->latitude, $event->longitude)); + $geocodeDataResponse = simplexml_load_string($geocodeDataResponse); + + // City + if(isset($geocodeDataResponse->addressparts->city) && !empty($geocodeDataResponse->addressparts->city)) { + $event->city = (string) $geocodeDataResponse->addressparts->city; + } + + // Country + if(isset($geocodeDataResponse->addressparts->country) && !empty($geocodeDataResponse->addressparts->country)) { + $event->country = (string) $geocodeDataResponse->addressparts->country; + } + + $ret[] = $event; + + } + + return $ret; + } + +} \ No newline at end of file diff --git a/scripts/update-backend b/scripts/update-backend index b2e989e..84932d9 100755 --- a/scripts/update-backend +++ b/scripts/update-backend @@ -18,11 +18,11 @@ set_time_limit(30 * 60); // Get list of mirror sites fetch_into_file("https://master.php.net/fetch/mirrors.php?token=$token", - "$root/include/mirrors.inc"); + "$root/include/mirrors.inc"); // Get list of upcoming events fetch_into_file("https://master.php.net/fetch/events.php?token=$token", - "$root/backend/events.csv"); + "$root/backend/events.csv"); // Pregenerate event listing sidebar for homepage include "event_listing"; @@ -30,6 +30,11 @@ include "event_listing"; $months = (date('j') < 10) ? 1:2; pregenerate_events("$root/backend/events.csv", "$root/include/pregen-events.inc", $months); +// Pregenerate joindin events for utilisation on the phpweb mirrors where necessary +include 'joindin_parser.php'; +$joindInParser = new JoindInParser(); +$events = $joindInParser->getEventsBasedOnTag('php'); +generate_joinedin_lists($events, "$root/include/joindin-events.json"); // Run ip-to-country fetch code include "ip-to-country"; @@ -50,7 +55,7 @@ $flickr_api_key = getenv("TOKEN_FLICKR"); if (!$flickr_api_key && file_exists(".token_flickr")) $flickr_api_key = file_get_contents(".token_flickr"); if (!$flickr_api_key) die("you have to set the TOKEN_FLICKR environment variable or create a .token_flickr file"); pregen_flickr( - $flickr_api_key, + $flickr_api_key, $root . '/images/elephpants', 100 ); @@ -109,3 +114,17 @@ function fetch_into_file($url, $file) // Replace real file with temporary file return rename("$file~", $file); } + +/** + * Take provided joindin events and export them to an $outfile + * + * @param array $events Events List + * @param $outfile Output Filename + * + * @return void + */ +function generate_joinedin_lists(array $events, $outfile) +{ + $content = json_encode($events); + file_put_contents($outfile, $content); +} \ No newline at end of file -- 1.8.5.2 (Apple Git-48)
From bd8d6def758cf541ce684b87c43c4a39e4ccb24d Mon Sep 17 00:00:00 2001 From: Paul Dragoonis <dragoo...@gmail.com> Date: Fri, 3 Oct 2014 23:57:51 +0100 Subject: [PATCH] Adding Integration to Join.In for main conferences page --- conferences/index.php | 79 ++++++++++++++++++++++++--------------------- include/joindin-events.json | 1 + styles/theme-base.css | 5 +++ 3 files changed, 48 insertions(+), 37 deletions(-) create mode 100644 include/joindin-events.json diff --git a/conferences/index.php b/conferences/index.php index cb7c58f..8ef76af 100644 --- a/conferences/index.php +++ b/conferences/index.php @@ -1,51 +1,56 @@ <?php + // $Id$ $_SERVER['BASE_PAGE'] = 'conferences/index.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; - -mirror_setcookie("LAST_NEWS", $_SERVER["REQUEST_TIME"], 60*60*24*365); +mirror_setcookie("LAST_NEWS", $_SERVER["REQUEST_TIME"], 60 * 60 * 24 * 365); site_header("PHP Conferences around the world", array( 'headtags' => '<link rel="alternate" type="application/atom+xml" title="PHP: Conference announcements" href="' . $MYSITE . 'feed.atom">', - 'current' => 'community', + 'current' => 'community', 'css' => array('home.css'), )); -$content = "<div class='home-content'>"; -$frontpage = array(); -foreach($NEWS_ENTRIES as $entry) { - foreach($entry["category"] as $category) { - if ($category["term"] == "cfp") { - $frontpage[] = $entry; - break; - } - if ($category["term"] == "conferences") { - $frontpage[] = $entry; - break; - } - } -} -$panels = ""; -foreach($frontpage as $entry) { - $link = substr($entry["id"], 15); // Strip http://php.net/ - $id = parse_url($entry["id"], PHP_URL_FRAGMENT); - $date = date_format(date_create($entry["updated"]), 'Y-m-d'); - $content .= '<div class="newsentry">'; - $content .= '<h3 class="newstitle title"><a href="'. $MYSITE.$link .'" name="' . $id . '">' . $entry["title"] . '</a></h3>'; - $content .= '<div class="newsimage">'; - $content .= sprintf('<a href="%s"><img src="/images/news/%s"></a>', $entry["newsImage"]["link"], $entry["newsImage"]["content"]); - $content .= '</div>'; - $content .= '<div class="newscontent">'; - $content .= $entry["content"]; - $content .= '</div>'; - $content .= '</div>'; - - $panels .= sprintf('<p class="panel"><a href="%s">%s</a></p>', $entry["newsImage"]["link"], $entry["title"]); -} -$content .= "</div>"; - -echo $content; +// Get joind.in events from disk +$joindInEvents = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/include/joindin-events.json')); +?> + +<div class='home-content'> + + <?php + foreach($joindInEvents as $event): + $eventTitle = htmlentities($event->name, ENT_QUOTES, 'UTF-8'); + $joindInUrl = $event->href; + $icon = 'http://joind.in/inc/img/event_icons/' . (!empty($event->icon) ? $event->icon : 'none.gif'); + $desc = htmlentities($event->description, ENT_QUOTES, 'UTF-8'); + $startDate = date('l jS \of F Y', strtotime($event->start_date)); + $hasCity = isset($event->city) && !empty($event->city); + $hasCountry = isset($event->country) && !empty($event->country); + ?> + <div class="newsentry"> + <h3 class="newstitle title"> + <a href="<?php echo $joindInUrl; ?>" title="<?php echo $eventTitle; ?>"> + <?php echo $eventTitle; ?> - <span class="event-start-date"><?php echo $startDate; ?></span> + </a> + <?php if($hasCity && $hasCountry): ?> + <p><?php echo htmlentities($event->city . ', ' . $event->country, ENT_QUOTES, 'UTF-8'); ?></p> + <?php endif; ?> + </h3> + + <div class="newsimage"> + <a href="<?php echo $joindInUrl; ?>"> + <img src="<?php echo $icon; ?>"></a> + </div> + <div class="newscontent"> + <div><?php echo $desc; ?></div> + </div> + </div> + <?php endforeach; ?> + +</div> + +<?php site_footer( array( diff --git a/include/joindin-events.json b/include/joindin-events.json new file mode 100644 index 0000000..89d329a --- /dev/null +++ b/include/joindin-events.json @@ -0,0 +1 @@ +[{"name":"PHPTwente Meetup October 2014","url_friendly_name":"phptwente-meetup-october-2014","start_date":"2014-10-01T00:00:00+02:00","end_date":"2014-10-01T23:59:59+02:00","description":"Monthly meetup of the PHP usergroup for the Twente area.\n\nThis month our guest will Frank de Jonge (@frankdejonge on twitter), the author of the PHP FlySystem project.\n\nHe'll be explaining what exactly FlySystem is, how it works and what it can do for you. Would you like to know how to painlessly connect an applicatie to AWS S3 (Amazon Web Services Simple Storage Service), Rackspace, Dropbox, Ftp\/Sftp, WebDAV or a simple ZIP file?\n\nThen don't miss this talk!\n\n===\n\nDeze keer hebben we de auteur van FlySystem als gast.\n\nFlysystem is a abstractie laag die het je makkelijk maakt te wisselen tussen je lokale en een extern bestandssysteem.\n\nFrank de Jonge (@frankdejonge on twitter) zal uitleggen wat FlySystem precies is, hoe het werkt en wat je er allemaal mee kunt.\nWilt weten hoe je een applicatie pijnloos kunt aansluiten op AWS S3 (Amazon Web Services Simple Storage Service), Rackspace, Dropbox, Ftp\/Sftp, WebDAV of gewoon een ZIP bestand?\n\nDan mag je dit praatje niet missen!","stub":"PHPTwente-2014-10","href":"http:\/\/www.meetup.com\/PHPTwente\/events\/199312442\/","icon":"PHP-Twente-logo-90p5.png","latitude":52.2355218,"longitude":6.8527214,"tz_continent":"Europe","tz_place":"Amsterdam","location":"The Bean Machine","hashtag":"","attendee_count":1,"attending":false,"comments_enabled":1,"event_comments_count":0,"tracks_count":0,"talks_count":1,"cfp_start_date":null,"cfp_end_date":null,"cfp_url":null,"talk_comments_count":0,"tags":["php","twente","usergroup"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2673","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2673","humane_website_uri":"http:\/\/joind.in\/event\/PHPTwente-2014-10","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/talk_comments","hosts":[{"host_name":"Ben","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/9251"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2673\/attendees","city":"Enschede","country":"The Netherlands"},{"name":"ZgPHP Conference 2014","url_friendly_name":"zgphp-conference-2014","start_date":"2014-10-02T00:00:00+02:00","end_date":"2014-10-02T23:59:59+02:00","description":"Annual PHP conference in Zagreb, 2014 edition. Held in HGK, Nova cesta 7 on 2nd October 2014. Organized by nice people from ZgPHP user group.\n\nThe 2013 conference blew our expectations. We had it all: amazing speakers, generous sponsors, perfect venue, plenty of food and drinks and most importantly great bunch of developers and web aficionados. Why not do it all again?","stub":null,"href":"http:\/\/2014.zgphp.org","icon":"logo8.png","latitude":45.807496329199,"longitude":15.954219102859,"tz_continent":"Europe","tz_place":"Zagreb","location":"HGK, Nova cesta 7","hashtag":"#zgphp","attendee_count":12,"attending":false,"comments_enabled":1,"event_comments_count":0,"tracks_count":0,"talks_count":8,"cfp_start_date":"2014-07-15T02:00:00+02:00","cfp_end_date":"2014-08-28T02:00:00+02:00","cfp_url":"https:\/\/docs.google.com\/forms\/d\/1PADQ3dUUmb5KRFZL70TFaK09sWSgnSYgySFk-eCOCzY\/","talk_comments_count":54,"tags":["php","web","development","zagreb"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2366","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2366","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/talk_comments","hosts":[{"host_name":"Luka Mu\u017eini\u0107","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/18529"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2366\/attendees","city":"Zagreb","country":"Croatia"},{"name":"PHP-WVL: Oktober Meetup at Studio Emma","url_friendly_name":"php-wvl-oktober-meetup-at-studio-emma","start_date":"2014-10-07T00:00:00+02:00","end_date":"2014-10-07T23:59:59+02:00","description":"Studio Emma is hosting our fourth meeting (including a Laravel and Docker talk).","stub":"php-wvl-oktober-meetup","href":"https:\/\/www.meetup.com\/php-wvl\/events\/204620272\/","icon":"logo-php-wvl.png","latitude":0,"longitude":0,"tz_continent":"Europe","tz_place":"Brussels","location":"Studio Emma","hashtag":"","attendee_count":2,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":3,"cfp_start_date":null,"cfp_end_date":null,"cfp_url":null,"talk_comments_count":0,"tags":["php","phpug","phpwvl"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2574","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2574","humane_website_uri":"http:\/\/joind.in\/event\/php-wvl-oktober-meetup","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/talk_comments","hosts":[{"host_name":"Jachim Coudenys","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/94"},{"host_name":"Tom Van Herreweghe","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/356"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2574\/attendees"},{"name":"Forum PHP 2014","url_friendly_name":"forum-php-2014","start_date":"2014-10-23T00:00:00+02:00","end_date":"2014-10-24T23:59:59+02:00","description":"Le plus grand cycle de conf\u00e9rences d\u00e9di\u00e9 au PHP et \u00e0 son \u00e9cosyst\u00e8me en France \n\nThe most important international talks cycle dedicated to the language and its ecosystem in France","stub":null,"href":"http:\/\/www.forumphp.org","icon":"forum-php-logo-90x9.jpg","latitude":48.8188999,"longitude":2.3194285462182,"tz_continent":"Europe","tz_place":"Paris","location":"Le Beffroi","hashtag":"#afup , #php","attendee_count":14,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":34,"cfp_start_date":"2014-06-01T02:00:00+02:00","cfp_end_date":"2014-08-15T02:00:00+02:00","cfp_url":"http:\/\/www.afup.org\/pages\/forumphp2014\/appel-a-conferenciers.php","talk_comments_count":0,"tags":["php","opensource","code","conference","paris"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2091","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2091","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/talk_comments","hosts":[{"host_name":"AFUP","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/22401"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2091\/attendees","country":"France"},{"name":"ZendUncon 2014","url_friendly_name":"zenduncon-2014","start_date":"2014-10-27T00:00:00-07:00","end_date":"2014-10-30T23:59:59-07:00","description":"ZendCon 2014: The \"Must Attend\" Event for the PHP Community\n\nThe 10th Annual ZendCon will bring together developers, IT managers and PHP experts from around the world. With a focus on PHP, mobile and cloud development, attendees at this highly acclaimed conference will expand their skills and explore new technologies.\n\nZendCon provides unique opportunities to learn from a wide variety of technical sessions, hear keynote presentations from thought leaders, and engage with prominent PHP speakers and vendors. You\u2019ll learn about the latest innovations and network with peers to solve PHP challenges\n\nTake advantage of the ZendCon 2014 learning experience. Be a part of the rich and diverse PHP ecosystem. Join us in Santa Clara!","stub":"zenduncon-2014","href":"http:\/\/zendcon.com\/sessions\/zendcon-uncon","icon":null,"latitude":37.404323760515,"longitude":-121.97457075119,"tz_continent":"America","tz_place":"Los_Angeles","location":"Santa Clara, CA Convention Center","hashtag":"php, zendcon, zend, uncon, zenduncon, zenduncon14","attendee_count":1,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":0,"cfp_start_date":null,"cfp_end_date":null,"cfp_url":null,"talk_comments_count":0,"tags":["php","zendcon","zend","uncon"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2707","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2707","humane_website_uri":"http:\/\/joind.in\/event\/zenduncon-2014","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/talk_comments","hosts":[{"host_name":"Michelangelo van Dam","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/19"},{"host_name":"Adam Culp","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/287"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2707\/attendees","city":"Santa Clara","country":"United States of America"},{"name":"ZendCon 2014","url_friendly_name":"zendcon-2014","start_date":"2014-10-27T00:00:00-07:00","end_date":"2014-10-30T23:59:59-07:00","description":"ZendCon 2014: The \"Must Attend\" Event for the PHP Community\n\nThe 10th Annual ZendCon will bring together developers, IT managers and PHP experts from around the world. With a focus on PHP, mobile and cloud development, attendees at this highly acclaimed conference will expand their skills and explore new technologies.\n\nZendCon provides unique opportunities to learn from a wide variety of technical sessions, hear keynote presentations from thought leaders, and engage with prominent PHP speakers and vendors. You\u2019ll learn about the latest innovations and network with peers to solve PHP challenges\n\nTake advantage of the ZendCon 2014 learning experience. Be a part of the rich and diverse PHP ecosystem. Join us in Santa Clara!","stub":null,"href":"http:\/\/www.zendcon.com\/","icon":"ZendCon2014-celebra.PNG","latitude":37.401880094196,"longitude":-121.97771345957,"tz_continent":"America","tz_place":"Los_Angeles","location":"Santa Clara, CA Convention Center","hashtag":"#zendcon","attendee_count":4,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":74,"cfp_start_date":null,"cfp_end_date":null,"cfp_url":null,"talk_comments_count":0,"tags":["php"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2667","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2667","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/talk_comments","hosts":[{"host_name":"Zend","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/22188"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2667\/attendees","city":"Santa Clara","country":"United States of America"},{"name":"PHP Conference Argentina 2014","url_friendly_name":"php-conference-argentina-2014","start_date":"2014-11-07T00:00:00-04:30","end_date":"2014-11-08T23:59:59-04:30","description":"Most important developer conference in Latin America","stub":null,"href":"www.phpconference.com.ar","icon":"logo-php90x90.png","latitude":0,"longitude":0,"tz_continent":"America","tz_place":"Caracas","location":"CIUDAD CULTURAL KONEX","hashtag":"","attendee_count":3,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":0,"cfp_start_date":"2014-04-07T19:30:00-04:30","cfp_end_date":"2014-05-08T19:30:00-04:30","cfp_url":"http:\/\/2014.phpconference.com.ar\/call-for-papers\/?lang=en","talk_comments_count":0,"tags":["mariadb","symfony","php"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/1944","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/attending","website_uri":"http:\/\/joind.in\/event\/view\/1944","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/talk_comments","hosts":[{"host_name":"Christian Mazur","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/24188"},{"host_name":"Mariano Iglesias","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/20850"},{"host_name":"Ale Mohamad","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/24256"},{"host_name":"Pablo Ignacio de la Vega","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/24259"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/1944\/attendees"},{"name":"php[world]","url_friendly_name":"phpworld","start_date":"2014-11-10T00:00:00-05:00","end_date":"2014-11-14T23:59:59-05:00","description":"Introducing a brand new conference from the team at php[architect]. This conference, php[world], is designed to bring together all of the various PHP communities into one place to share ideas together.\n\nWhether you are a core PHP developer, work in a framework (such as Zend Framework, Symfony, or Laravel), or work in an application framework (such as WordPress, Drupal, or Magento) ... this conference is designed for you.\n\nMultiple tracks will exist for the various frameworks and applications, plus plenty of sessions that will appeal to any PHP developer. We plan on making it the biggest and best conference for theentire breadth of PHP developers regardless of your daily environment.","stub":"phpworld","href":"http:\/\/world.phparch.com","icon":"sitepromo.png","latitude":38.9360464,"longitude":-77.2486698,"tz_continent":"America","tz_place":"New_York","location":"Sheraton Tyson's Corner","hashtag":"#phpworld","attendee_count":17,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":0,"cfp_start_date":"2014-05-22T20:00:00-04:00","cfp_end_date":"2014-06-19T20:00:00-04:00","cfp_url":"http:\/\/world.phparch.com\/call-for-papers\/","talk_comments_count":0,"tags":["php","wordpress","drupal","symfony","laravel"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2166","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2166","humane_website_uri":"http:\/\/joind.in\/event\/phpworld","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/talk_comments","hosts":[{"host_name":"Eli White","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/225"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2166\/attendees","country":"United States of America"},{"name":"PHPBenelux Conference 2015","url_friendly_name":"phpbenelux-conference-2015","start_date":"2015-01-23T00:00:00+01:00","end_date":"2015-01-24T23:59:59+01:00","description":"We\u2019re proud to announce the PHPBenelux Conference 2015, the crew is already organizing at full pace and the date is set; January 23rd and January 24th, 2015.\n\nLike last year we\u2019re already working on some great plans to deliver our visitors the best content mixed with a fun atmosphere where developers will learn, gather and enjoy.","stub":"phpbenelux-conference-2015","href":"http:\/\/phpcon.eu","icon":"phpbenelux_logo_90x4.png","latitude":51.1513735,"longitude":4.4229887,"tz_continent":"Europe","tz_place":"Amsterdam","location":"Hotel Ter Elst","hashtag":"#phpbnl15","attendee_count":1,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":0,"cfp_start_date":"2014-09-02T02:00:00+02:00","cfp_end_date":"2014-10-07T02:00:00+02:00","cfp_url":"http:\/\/cfp.phpbenelux.eu","talk_comments_count":0,"tags":["php"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2564","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2564","humane_website_uri":"http:\/\/joind.in\/event\/phpbenelux-conference-2015","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/talk_comments","hosts":[{"host_name":"Jeroen van Dijk","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/9127"},{"host_name":"Richard Tuin","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/6076"},{"host_name":"Paul Borgermans","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/425"},{"host_name":"Martin de Keijzer","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/679"},{"host_name":"Michelangelo van Dam","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/19"},{"host_name":"Thijs Feryn","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/1975"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2564\/attendees","country":"Belgium"},{"name":"SunshinePHP 2015","url_friendly_name":"sunshinephp-2015","start_date":"2015-02-05T00:00:00-05:00","end_date":"2015-02-07T23:59:59-05:00","description":"The large PHP community in Florida has organized its second annual PHP developer conference in Miami, and you're invited! We will host some of the best speakers, latest technology, and up to date news in the industry.","stub":"ssp15","href":"http:\/\/sunshinephp.com","icon":"sphp_joindin2.png","latitude":0,"longitude":0,"tz_continent":"America","tz_place":"New_York","location":"Embassy Suites Miami International","hashtag":"#ssp15","attendee_count":1,"attending":false,"comments_enabled":0,"event_comments_count":0,"tracks_count":0,"talks_count":0,"cfp_start_date":"2014-08-31T20:00:00-04:00","cfp_end_date":"2014-09-29T20:00:00-04:00","cfp_url":"http:\/\/cfp.sunshinephp.com","talk_comments_count":0,"tags":["php","soflophp","sunshinephp"],"uri":"http:\/\/api.joind.in\/v2.1\/events\/2571","verbose_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571?verbose=yes","comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/comments","talks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/talks","tracks_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/tracks","attending_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/attending","website_uri":"http:\/\/joind.in\/event\/view\/2571","humane_website_uri":"http:\/\/joind.in\/event\/ssp15","all_talk_comments_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/talk_comments","hosts":[{"host_name":"Adam Culp","host_uri":"http:\/\/api.joind.in\/v2.1\/users\/287"}],"attendees_uri":"http:\/\/api.joind.in\/v2.1\/events\/2571\/attendees"}] \ No newline at end of file diff --git a/styles/theme-base.css b/styles/theme-base.css index 50ba4ad..607f357 100755 --- a/styles/theme-base.css +++ b/styles/theme-base.css @@ -1823,6 +1823,11 @@ aside.tips div.inner { .newsentry header h2 { margin:0; } + +.newsentry .event-start-date { + font-size: 0.8em; +} + .newsentry { margin: 0 0 3rem; position: relative; -- 1.8.5.2 (Apple Git-48)
-- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php