function get_program_list_from_gdoc($source_url) { $handle = @fopen($source_url, 'r'); if (!$handle) { return FALSE; // failed } $program_list = array(); while (($PROG = fgetcsv($handle)) !== FALSE) { $program = make_program($PROG); if (!validate_program_data($program)) { continue; } // use strtotime to convert to unix timestamp. $program['from'] = strtotime($program['from']); $program['to'] = strtotime($program['to']); // empty string or NULL will get 0 $program['room'] = intval($program['room']); $program['type'] = intval($program['type']); $program['community'] = intval($program['community']); if (isset($program['bio'])) { $program['bio'] = Markdown_Without_Markup(linkify($program['bio'])); } if (isset($program['abstract'])) { $program['abstract'] = Markdown_Without_Markup(linkify($program['abstract'])); } if (isset($program['youtube'])) { $videos = array(); foreach (explode("\n", $program['youtube']) as $url) { if (trim($url)) { $videos[] = preg_replace('/^.+v=([^"&?\\/ ]{11}).*$/', '$1', trim($url)); // only get the ID } } $program['youtube'] = $videos; } // setting room = -1 and leaving speaker empty indicate a break session $program['isBreak'] = $program['room'] < 0 && !isset($program['speaker']) ? true : false; $program_list[] = $program; } fclose($handle); return $program_list; }
function get_sponsors_list_from_gdoc($source_url) { $handle = @fopen($source_url, 'r'); if (!$handle) { return FALSE; // failed } $SPONS = array(); // name, level, url, logoUrl, desc, enName, enDesc, zhCnName, zhCnDesc while (($SPON = fgetcsv($handle)) !== FALSE) { $sponsor = make_sponsor($SPON); if (!validate_sponsor_data($sponsor)) { continue; } $level = strtolower($sponsor['level']); if (!isset($SPONS[$level])) { $SPONS[$level] = array(); } // Create JSON object $SPON_obj = array('name' => array('zh-tw' => $sponsor['name']), 'desc' => array('zh-tw' => Markdown_Without_Markup($sponsor['desc'])), 'url' => $sponsor['url'], 'logoUrl' => MARKSITE_ABSOLUTE_PATH . SPONSOR_LOGO_RELATIVE_PATH . $sponsor['logoUrl']); if ($sponsor['enName']) { $SPON_obj['name']['en'] = $sponsor['enName']; } if ($sponsor['enDesc']) { $SPON_obj['desc']['en'] = Markdown_Without_Markup($sponsor['enDesc']); } if ($sponsor['zhCnName']) { $SPON_obj['name']['zh-cn'] = $sponsor['zhCnName']; } if ($sponsor['zhCnDesc']) { $SPON_obj['desc']['zh-cn'] = Markdown_Without_Markup(linkify($sponsor['zhCnDesc'])); } array_push($SPONS[$level], $SPON_obj); } fclose($handle); return $SPONS; }