run("agenda", array("variable1" => "value1")); // /views/hello.blade.php must exist //allowed IP addresses $allowed_ips = [ '61.222.27.93', // AIA Taipei '59.125.7.31', // AIA Taichung '59.125.7.33', // AIA Taichung '203.69.71.172', // AIA South '61.216.49.199', // AIA South '61.60.216.21', // Ben '101.10.4.98' //temporary ]; // === Agenda did not open.(議程尚未公開) === // if ( // !( // get_current_user_id() || // in_array($_SERVER['REMOTE_ADDR'], $allowed_ips) || // (isset($_GET['conf2025'])) // ) // ) { // echo ''; // exit(); // }else{ // echo '
//

// Notice: The agenda is currently under development and may not be fully accurate. //
議程目前仍在開發中(未開放)。 //

//
'; // } $agenda_table = TBL_AGENDA; //TBL_AGENDA_WORKING get_header(); if (isset($_SESSION['can_view_agenda']) and $_SESSION['can_view_agenda']) { //TODO:check by in_array echo ''; } // === Functions === function _display_agenda_ft($DAY, $at_phone = false) { echo '
'; #if($at_phone){echo'
';} echo '

👇👇👇

Buy Tickets

'; #echo'

切換至

'; echo '
'; } function _display_during_to_time($during) { # 1200-1210 ->12:00-12:10 return preg_replace('/(\d{2})(\d{2})-(\d{2})(\d{2})/', '$1:$2-$3:$4', $during); } function display_between_company_and_jobposition($company, $jobposition) { $re = '/[a-zA-Z]/'; return preg_match($re, $company) === 0 && preg_match($re, $jobposition) === 0 ? '' : ' '; } function get_agenda_td_html($td, $ary_speakers, $chair_id = '', $confday = 0) { /** * * @var string $td This is a string variable. * @var array $speaker_data This is an array of speaker data. * @var string $type_of_speech This describes the type of speech. Valid options are: * - `single`: 一場一人 * - `multiple_same_topic`: 多人-同主題 * - `multiple_different_topics`: 多人-不同主題 * - `panel`: Panel */ // 拆分 ids // 正則表達式模式 $pattern = '/^\d+(\+\d+)*$/'; if(preg_match($pattern, $td)){ $speaker_ids = explode("+", $td); } elseif (strlen($td) == 0 || $td =="【 KEYNOTE 】") { // Assuming $pattern is string // No further processing is needed, return the image HTML return $td .'

speaker TBD

'; }else{ return ''.$td.''; } $speakers_info = array_map(function($id) use ($ary_speakers){ if( isset( $ary_speakers[$id] ) ){ $speaker = $ary_speakers[$id]; if( empty($speaker->photo) ){ $speaker->photo ="/img/speaker/speaker.png"; }else{ $speaker->photo = $speaker->photo.FE_VER; } if ( strpos( $_SERVER['REQUEST_URI'],"agenda_nocache" ) ){ if($speaker->conf =='HOST'){ $speaker->anchor = 'moderator/#speaker'.$speaker->post_id; $speaker->talk_title = null;//u bp $speaker->talk_title2 = null;//u bp } elseif($speaker->conf =='致詞嘉賓'){ $speaker->anchor = 'vip/#speaker'.$speaker->post_id; } }else{ // $speaker->anchor =""; if($speaker->conf =='HOST'){ $speaker->anchor = 'moderator/#speaker'.$speaker->post_id;//JavaScript:; $speaker->talk_title = null;//u bp $speaker->talk_title2 = null;//u bp $speaker->lecture_type = null;//u bp $speaker->can_playback = 'X'; $speaker->talkfile_link = 'X'; } elseif($speaker->conf =='致詞嘉賓'){ $speaker->anchor = 'vip/#speaker'.$speaker->post_id;//JavaScript:; } } }else{$speaker = null;} return $speaker; },$speaker_ids); //get chair info $chair_info = null; if(!empty($chair_id)){ $chair_info = $ary_speakers[$chair_id]; } // echo "
";print_r($speakers_info);echo $chair_id."
"; $speakers_count = count($speaker_ids); $type_of_speech = null; if($speakers_count==1){ $type_of_speech = 'single'; }elseif($speakers_count<=3 && empty($chair_id)){//empty($chair_id) && if ( $td == '5+6+7'|| $td == '1+3'|| $td == '1+83+2'|| $td == '3+67' || $td == '15+78' || $td == '80+81' || $td == '40+41' || $td == '8+9' ){ $type_of_speech = 'multiple_same_topic'; }else{ $type_of_speech = 'multiple_different_topics'; } }else{ $type_of_speech = 'panel'; } //2024 Register $type_of_speech = in_array( $td, ['1+2'] ) ? 'opening' : $type_of_speech; //2024 Special Panel $type_of_speech = in_array( $td, ['101+102+103'] ) ? 'special_panel' : $type_of_speech; //2024 Track5_Day2 Workshop $type_of_speech = in_array( $td, ['92+94+96+95'] ) ? 'workshop' : $type_of_speech; //2024 Flash Talk if( $td == '90+91+92' || $td == '93+94' || $td == '95+96' || $td == '97+99' ){ $type_of_speech ="flash_talk"; } //blade global $blade; // echo "
";
    // print_r($type_of_speech);
    // echo "
"; $speaker_and_topic = $blade->run("agenda.agenda_speaker_and_topic", array( "td" => $td, "speakers_info" => $speakers_info, "type_of_speech" => $type_of_speech, "chair_info" => $chair_info, )); return $speaker_and_topic; } function _display_agenda_nav($ary_agenda_nav, $is_last_day = false, $is_phone = false) { if($is_phone){ echo ''; }else{ echo ''; } } $uri = explode('?', $_SERVER['REQUEST_URI'])[0]; $ary_speakers = array(); foreach ($wpdb->get_results('SELECT * FROM ' . TBL_SPEAKERS) as $v) { $ary_speakers[$v->id] = $v; } $ary_room = get_agenda_room(); //[["","online Track 1"],["","online Track 2"],["","online Track 3"]] $ary_caption = array('', '09/09 (Tue.) Day 1', '09/10 (Wed.) Day 2'); // $ary_agenda_nav = array( '', '09/09 (Tue.) Day 1', '09/10 (Wed.) Day 2', ); // === Phone Mode === $time_for_special_row = array( '0829-0829'=>'Moderator', '1211-1211' => 'Topic', '1212-1212' => 'Moderator', ); $ary_day = array('', ' 09/09', ' 09/10');//$ary_day = array('', '09/09 (Tue.)', '09/10 (Wed.)'); $display_days=array(1,2); $TALK_TRACKING_NUM = 4; ?>
style="width:20px;margin-right:3px;margin-top:-1px" alt="eng_icon">英語 style="width:20px;margin-right:2px;" alt="playback_icon">可回看 style="width:20px;margin-right:2px;" alt="slide_icon">簡報檔 style="width:20px;margin-right:2px;" alt="info_png">授權確認中

※ 講者授權回看與講義分享標示仍在調查補齊中

get_results($sql) as $v) { $day = $v->day; $during = $v->during; $room = $v->room; $speaker_id = $v->speaker_id; $chair_id = $v->chair_id; // $time_info =array_key_exists($during, $time_for_special_row) ? $ary_day[$day] . ' ' . $time_for_special_row[$during] : $ary_day[$day] . ' ' . _display_during_to_time($during); $time_info =array_key_exists($during, $time_for_special_row) ? ' ' . $time_for_special_row[$during] : ' ' . _display_during_to_time($during); $room_info = $ary_room[$room]['room'] ." - ".$ary_room[$room]['building']; ?>
during ?>" id="during.$room ?>" >

-

id="conf-day"> Academia Sinica Academic
Activities Center' : '' ?> get_results($sql); foreach ($ary_agenda as $k => $v) { $rooms = explode('`', $v->rooms); $speaker_ids = explode('`', $v->speaker_ids); $ary_td = array(); $chair_ids = explode('`', $v->chair_ids); $is_white_tr_free = preg_match('/^\d+(\+\d+)*/', $v->speaker_ids) == true || strpos($v->speaker_ids, '````') !== false || strpos($v->speaker_ids, 'Welcome & Opening Remarks') !== false || strpos($v->speaker_ids, '主題論壇') !== false || strpos($v->speaker_ids, '報到') !== false || strpos($v->speaker_ids, '開幕式') !== false || strpos($v->speaker_ids, 'photo') !== false || strpos($v->speaker_ids, 'Advancing Open Source AI for Economic Growth') !== false || strpos($v->speaker_ids, 'CISCO') !== false || strpos($v->speaker_ids, '玉山') !== false || strpos($v->speaker_ids, 'Device AI') !== false || strpos($v->speaker_ids, '麻瓜/文法商 做 AI & 負責任 AI') !== false || strpos($v->speaker_ids, '和碩') !== false || strpos($v->speaker_ids, '38') !== false || strpos($v->speaker_ids, 'cacafly') !== false || strpos($v->speaker_ids, '徐樂(灼見運動數據創辦人)') !== false || strpos($v->speaker_ids, '黃致豪(台灣體育運動大學)') !== false || strpos($v->speaker_ids, '資工') !== false || strpos($v->speaker_ids, 'Wrap-Up') !== false || strpos($v->speaker_ids, '陳伶志') !== false || strpos($v->speaker_ids, 'Deloitte') !== false || strpos($v->speaker_ids, 'Panel Discussion') !== false || strpos($v->speaker_ids, 'Panel Discussion') !== false || strpos($v->speaker_ids, 'KEYNOTE') !== false; //Exclude items where the "start_time" is equal to the "end_time" $timeIsEqual = count( array_unique( explode( "-" , $v->during ) // hhmm-hhmm ) ) == 1; $is_white_tr_free = $is_white_tr_free && !$timeIsEqual; $class_for_background_color = $is_white_tr_free ? 'whitefree' : ''; $time = array_key_exists($v->during, $time_for_special_row)? $time_for_special_row[$v->during] : _display_during_to_time($v->during); $ary_td = $speaker_ids; $count_tds = count($speaker_ids); $IS_CROSS_BAR = $count_tds === 1; ?> during ?>"> $td) { $td = get_agenda_td_html($ary_td[$j], $ary_speakers, $chair_ids[$j], $DAY); if($IS_CROSS_BAR): $colSpan = $TALK_TRACKING_NUM - $count_tds + 1; ?> 0) { foreach (range(1, $TALK_TRACKING_NUM - $count_tds) as $_) {?>


style="width:20px" alt="eng_icon"> 英語 style="width:20px" alt="playback_icon"> 可回看 style="width:20px" alt="slide_icon"> 簡報檔 style="width:20px;margin-right:2px;" alt="info_png">講者授權確認中 ' : '' ?>
※ 講者授權回看與講義分享標示仍在調查補齊中
Building Humanities and Social Sciences Building, Academia Sinica
Place
",$ary_room[$i]['building']); ?>
class="cross-bar" id="during.$j ?>"> id="during.$j ?>" >