user_login=='vansindata'); define('FE_EDIT_INPUTUI_TXTAREA', 'txtarea'); define('FE_EDIT_INPUTUI_TXT', 'singletxt'); define('FE_EDIT_INPUTUI_IMG', 'img'); define('MEDIUM_EXTERNAL_VIDEO_THUMBNAIL_SIZE', 'md'); define('LARGE_EXTERNAL_VIDEO_THUMBNAIL_SIZE', 'lg'); define('MAXIMUM_EXTERNAL_VIDEO_THUMBNAIL_SIZE', 'max'); define('DEFAULT_EXTERNAL_VIDEO_THUMBNAIL_SIZE', MEDIUM_EXTERNAL_VIDEO_THUMBNAIL_SIZE); function get_vimeo_thumb_src($vimeo_video_id, $size=DEFAULT_EXTERNAL_VIDEO_THUMBNAIL_SIZE){ $imgid = $vimeo_video_id; $hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/'.$imgid.'.php')); #'thumbnail_small' width=100 $key = 'thumbnail_medium'; # width=200 if($size==LARGE_EXTERNAL_VIDEO_THUMBNAIL_SIZE || $size==MAXIMUM_EXTERNAL_VIDEO_THUMBNAIL_SIZE){ $key='thumbnail_large'; # width=640 } return $hash[0][$key]; } function get_video_courses_valid_media_type($only=''){ $a = array(); if($only=='VOI'){ $a[]='VOICE'; }elseif($only=='VID'){ $a[] = 'YOUTUBE'; $a[] = 'VIMEO'; } return$a; } function is_video_courses_video($video_type){ return in_array($video_type, get_video_courses_valid_media_type('VID')); } function is_video_courses_voice($video_type){ return in_array($video_type, get_video_courses_valid_media_type('VOI')); } function get_video_src($post_id){ $video_type = get_post_meta($post_id,'video_type',true); $video_id = get_post_meta($post_id,'video_id',true); $ifr_src = ''; if($video_type==='VIMEO'){ $ifr_src = 'https://player.vimeo.com/video/'.$video_id; }else{ $ifr_src = 'https://www.youtube.com/embed/'.$video_id; } return$ifr_src; } function get_voice_src($post_id) { $voice_file_id = get_post_meta($post_id,'voice_file', true); $voice_src_url = wp_get_attachment_url($voice_file_id); return $voice_src_url ? $voice_src_url : ''; } function get_video_thumb_src($video_type, $video_id, $size=DEFAULT_EXTERNAL_VIDEO_THUMBNAIL_SIZE){ if($video_type=='VIMEO'){ $imgsrc = get_vimeo_thumb_src($video_id, $size); }else{ $img_filename = 'mqdefault.jpg'; if($size==LARGE_EXTERNAL_VIDEO_THUMBNAIL_SIZE){ $img_filename = 'hqdefault.jpg'; } else if($size==MAXIMUM_EXTERNAL_VIDEO_THUMBNAIL_SIZE) { $img_filename = 'maxresdefault.jpg'; } $imgsrc='https://img.youtube.com/vi/'.$video_id.'/'.$img_filename; } return$imgsrc; } function get_video_thumb_src_by_post_id($post_id,$size=DEFAULT_EXTERNAL_VIDEO_THUMBNAIL_SIZE){ $video_type = get_post_meta($post_id,'video_type',true); $video_id = get_post_meta($post_id,'video_id',true); return get_video_thumb_src($video_type,$video_id,$size); } /** * Frontend Edit for: * - post_title, post_content, post_excerpt... feature_image * acf-fields(post_meta) * test * - Add post by default checked category */ function FEedit_attrs($post_id,$field_name,$inputui_type='',$more_conf=array()){ // if(!IS_OPEN_FONTEND_EDIT){return'';} $a = array(); $a['data-edit-postid'] = $post_id; $a['data-edit-postfield'] = $field_name; if($inputui_type){ $a['data-edit-inputui'] = $inputui_type; } $attr = ''; foreach($a as$k=>$v){ $attr .= ' '.$k.'="'.$v.'"'; } return ' data-edit'.$attr; } if(isset($_GET['test_get_post_or_page_original_field_value'])){ d('xxx'); d(get_post_or_page_original_field_value(5694,'job_title')); d(get_post_or_page_original_field_value(5694,'post_title')); d(get_post_or_page_original_field_value(5694,'title2_in_content')); d(FEedit_attrs(123,'xxx')); } function get_v2_nav_conf($post=NULL, $use_at=NULL){ $ary_child = array(); if($post and is_liberal_pages($post)){ return array( ['txt'=>'企業 AI 博雅', 'href'=>LIBERAL_URL, 'child'=>''], ['txt'=>'AI 起手式', 'href'=>LIBERAL_URL . 'start', 'child'=>''], ['txt'=>'AI 選題工作坊', 'href'=>LIBERAL_URL . 'workshop', 'child'=>''], ['txt'=>'AI 人才能力評估', 'href'=>LIBERAL_URL . 'talent', 'child'=>''], ['txt'=>'AI 技術探索', 'href'=>LIBERAL_URL . 'research', 'child'=>''], ); }elseif($post and is_class2022_pages($post)){ return array( ['txt'=>'2022 最佳 AI 學習計畫', 'href'=>CLASS2022_URL, 'child'=>''], ['txt'=>'決策層峰', 'href'=>CLASS2022_URL . 'cxo', 'child'=>''], ['txt'=>'專業經理', 'href'=>CLASS2022_URL . 'mgr', 'child'=>''], ['txt'=>'技術領袖', 'href'=>CLASS2022_URL . 'tech', 'child'=>''], ); }elseif($post and is_omo_pages($post)){ return array( ['txt'=>'社群交流', 'href'=>OMO_URL, 'child'=>''], ['txt'=>'AI Plus 跨領域講座', 'href'=>OMO_AI_PLUS_URL, 'child'=>''], ['txt'=>'數位長爐邊會', 'href'=>OMO_CDO_TALK_URL, 'child'=>''], ['txt'=>'產業 AI 論壇', 'href'=>OMO_AI_FORUM_URL, 'child'=>''], ['txt'=>'AI Outlook 技術展望論壇', 'href'=>OMO_AI_OUTLOOK_URL, 'child'=>''], ); } $ary_child['class_join'] = array( array('txt'=>'最新開課','href'=>OPENING_CLASS_CATEGORY_URL), #array('txt'=>'開課總表','href'=>'/admission-2021/'), array('txt'=>'GenAI素養實作','txt-ft'=>'GenAI素養實作','href'=>'/admission-genai7-tp'/*/class-mgr/*/, 'child'=>array( )), array('txt'=>'大型語言模型','txt-ft'=>'大型語言模型','href'=>'javascript:;'/*/class-mgr/*/, 'child'=>array( array('txt'=>'初階班','href'=>'/admission-llma-tp/'), array('txt'=>'中階班','href'=>'/admission-llmc-tp/'), array('txt'=>'高階班','href'=>'/admission-llmb-tp/') )), array('txt'=>'經理人班','txt-ft'=>'經理人班','href'=>'javascript:;'/*/class-mgr/*/, 'child'=>array( array('txt'=>'第十八期','href'=>'/admission-manager-tp18/'), array('txt'=>'第十九期','href'=>'/admission-manager-tp/'), // array('txt'=>'台北總校','href'=>'/admission-manager-tp/'/* '/admission-finance-tp/'*/), // array('txt'=>'台中分校','href'=>'/admission-mgr-tc/' /*'/admission-mgr-tc/',/admission-manufacturing-tc/*/ ), // array('txt'=>'南部分校','href'=>'/admission-mgr-st/'/*/admission-mgr-st/*/), )), array('txt'=>'產業 AI 專班','txt-ft'=>'產業 AI 專班','href'=>'javascript:;', 'child'=>array( array('txt'=>'台北總校','href'=>'/admission-manufacturing-tp/'/* '/admission-finance-tp/'*/), array('txt'=>'台中分校','href'=>'/admission-manufacturing-tc/' /*'/admission-mgr-tc/',/admission-manufacturing-tc/*/ ), array('txt'=>'南部分校','href'=>'/admission-manufacturing-st/'/*/admission-mgr-st/*/), )), array('txt'=>'技術領袖班','txt-ft'=>'技術領袖班','href'=>'javascript:;'/*'/class-tech/'*/, 'child'=>array( // array('txt'=>'第三期','href'=>'/admission-tech-all3-tw/'), array('txt'=>'第四期','href'=>'/admission-tech-tw/'), // array('txt'=>'全域班別','href'=>'/admission-tech-all-tw/'/*/admission-tech-manufacturing-tw//admission-tech-tw/*/), // array('txt'=>'台北總校','href'=>'/admission-tech-tp/'/* '/admission-finance-tp/'*/), // array('txt'=>'台中分校','href'=>'/admission-tech-tc/' /*'/admission-mgr-tc/',/admission-manufacturing-tc/*/ ), // array('txt'=>'南部分校','href'=>'/admission-tech-st/'/*/admission-mgr-st/*/), )), array('txt'=>'專題實作班','txt-ft'=>'專題實作班','href'=>'/admission-tech-nlp-tw/', 'child'=>array( // array('txt'=>'全域班別','href'=>'/admission-tech-nlp-tw/'/*/admission-tech-manufacturing-tw//admission-tech-tw/*/), // array('txt'=>'台北總校','href'=>'/admission-tech-nlp-tw/'), // array('txt'=>'台中分校','href'=>'/admission-tech-nlp-tw/'), // array('txt'=>'南部分校','href'=>'/admission-tech-nlp-tw/'), )), array('txt'=>'智慧醫療班','txt-ft'=>'智慧醫療班','href'=>'/medical/', 'child'=>array( array('txt'=>'台北總校','href'=>'/admission-medical-tp/'), array('txt'=>'台中分校','href'=>'/admission-medical-tc/'), )), array('txt'=>'Edge AI 班','txt-ft'=>'Edge AI 班','href'=>'/admission-edge-ai/'), // array('txt'=>'人人該懂','txt-ft'=>'人人該懂','href'=>'javascript:;', 'child'=>array( // array('txt'=>'AI 巡禮班','href'=>'//'), // array('txt'=>'AI 原理班','href'=>'//'), // array('txt'=>'AI 應用班','href'=>'//'), // array('txt'=>'AI 實戰班','href'=>'//'), // )), /*array('txt'=>'跟上時代','txt-ft'=>'跟上時代','href'=>'javascript:;', 'child'=>array( array('txt'=>'Python 實作班','href'=>'/admission-python-202007/'), array('txt'=>'機器學習實作班','href'=>'/admission-ml-202008/'), array('txt'=>'深度學習實作班','href'=>'/admission-dl-202009/'), array('txt'=>'CNN 實作班','href'=>'/admission-cnn-202010/'), array('txt'=>'人工智慧專題班','href'=>'//'), )),*/ /* array('txt'=>'產業專班','txt-ft'=>'產業專班','href'=>'javascript:;', 'child'=>array( array('txt'=>'北部智慧醫療','href'=>'/medical-tp/'), #array('txt'=>'中部智慧醫療','href'=>'/medical-tc/'), array('txt'=>'中部智慧製造','href'=>'/admission-manufacturing-tc/'), #array('txt'=>'南部智慧製造','href'=>''), array('txt'=>'Edge AI','href'=>'/admission-edge-ai/'), )), */ ); $ary_child['course_info'] = array( array('txt'=>'教學優勢', 'href'=>wp_make_link_relative(get_the_permalink(FEATURES_PAGE_ID)) ), array('txt'=>'師資介紹','href'=>LECTURER_PAGE_LIST_URL), array('txt'=>'管理辦法','href'=>'/policy-tech/'), #array('txt'=>'出席辦法','href'=>'/presence-rule/'), // array('txt'=>'退費辦法','href'=>'/refund/'), array('txt'=>'常見問題','href'=>FAQ_CATEGORY_URL), // array('txt'=>'課程介紹','href'=>FAQ_CATEGORY_URL), ); $ary_child['news'] = array( #array('txt'=>'行事曆', 'href'=>CALENDAR_URL), array('txt'=>'學校公告', 'href'=>NEWS_CATEGORY_URL), array('txt'=>'熱門話題', 'href'=>HOT_ISSUE_CATEGORY_URL), array('txt'=>'影音專區', 'href'=>VIDEO_COURSES_CATEGORY_URL) ); $ary_child['industry'] = array( array('txt'=>'博雅課程', 'href'=>LIBERAL_URL /*'/event/general/'*/), array('txt'=>'專案顧問', 'href'=>'/advisory/'), array('txt'=>'移地解題', 'href'=>'/offsite-problem-solving/'), ); /* $ary_child['liberal'] = array( array('txt'=>'AI 起手式', 'href'=>get_the_permalink(LIBERAL_START_PAGE_ID)), array('txt'=>'選題工作坊', 'href'=>get_the_permalink(LIBERAL_WORKSHOP_PAGE_ID)), array('txt'=>'能力評估', 'href'=>get_the_permalink(LIBERAL_TALENT_PAGE_ID)), array('txt'=>'技術探索', 'href'=>get_the_permalink(LIBERAL_RESEARCH_PAGE_ID)), ); */ $ary_child['community'] = array( /* array('txt'=>'OMO', 'href'=>'/omo/', 'child'=>array( array('txt'=>'AI Plus', 'href'=>'/omo/ai-plus/'), array('txt'=>'數位長爐邊會', 'href'=>'/omo/cdo-talk/'), array('txt'=>'產業 AI 論壇', 'href'=>'/omo/ai-forum/'), array('txt'=>'AI Outlook', 'href'=>'/omo/ai-outlook/'), )), */ array('txt'=>'AI Plus', 'href'=>'/omo/ai-plus/'), array('txt'=>'數位長爐邊會', 'href'=>'/omo/cdo-talk/'), array('txt'=>'產業 AI 論壇', 'href'=>'/omo/ai-forum/'), array('txt'=>'AI Outlook', 'href'=>'/omo/ai-outlook/'), array('txt'=>'Meetup', 'href'=>MEETUP_PAGE_LIST_URL, 'child'=>array( array('txt'=>'台北', 'href'=>'/meetup-taipei/'), array('txt'=>'新竹', 'href'=>'/meetup-hsinchu/'), array('txt'=>'台中', 'href'=>'/meetup-taichung/'), array('txt'=>'台南', 'href'=>'/meetup-tainan/'), )), #array('txt'=>'人才媒合', 'href'=>'https://jobs.aiacademy.tw/'), array('txt'=>'Medium', 'href'=>'https://medium.com/ai-academy-taiwan'), ); $ary_child['alumni'] = array( // array('txt'=>'校友組織', 'href'=>WEB_URL.'alumni-member/'), array('txt'=>'人才媒合', 'href'=>'https://jobs.aiacademy.tw/'), array('txt'=>'支持校友', 'href'=>REGULATIONS_TO_ALUMNI_ORGANIZATION), array('txt'=>'學號查詢', 'href'=>ALUMNI_URL.'find_student_id/') ); $ary_child['about'] = array( array('txt'=>'基金會', 'href'=>WEB_URL.'foundation/'), array('txt'=>'願景使命', 'href'=>wp_make_link_relative(get_the_permalink(VISION_PAGE_ID))), array('txt'=>'校長的話', 'href'=>wp_make_link_relative(get_the_permalink(PRINCIPAL_SAYING_PAGE_ID))), array('txt'=>'執行長', 'href'=>wp_make_link_relative(get_the_permalink(CEO_INTRODUCTION))), array('txt'=>'陳昇瑋說', 'href'=>wp_make_link_relative(get_the_permalink(CEO_SAYING_PAGE_ID))), #move to foundation/ array('txt'=>'組織架構', 'href'=>wp_make_link_relative(get_the_permalink(ORG_PAGE_ID))), array('txt'=>'官方社群', 'href'=>OFFICIAL_SOCIAL_MEDIA_URL), array('txt'=>'個資聲明', 'href'=>WEB_URL.'privacy/'), ); $about_us = get_post(ABOUT_PAGE_ID); return array( array('txt'=>'企業專區', 'href'=>'/enterprise/', ''), array('txt'=>'招生專區', 'href'=>'javascript:;', 'child'=>$ary_child['class_join']), array('txt'=>'社群交流', 'href'=>'/omo/', 'child'=>$ary_child['community']), array('txt'=>'最新消息', 'href'=>'javascript:;', 'child'=>$ary_child['news']), # array('txt'=>'企業 AI 博雅', 'href'=>LIBERAL_URL, 'child'=>$ary_child['liberal'] /*$ary_child['industry']*/ ), array('txt'=>'課程資訊', 'href'=>'javascript:;', 'child'=>$ary_child['course_info']), array('txt'=>'校友資源', 'href'=>'javascript:;', 'child'=>$ary_child['alumni'] ), array('txt'=>$about_us->post_title, 'href'=>wp_make_link_relative(get_the_permalink($about_us->ID)), 'child'=>$ary_child['about'] ), ); } function v2_display_quicklinks_near_content($a_or_TYPE,$cur_idx=NULL,$css=''){ if($css){$css=';'.$css;} if($a_or_TYPE==='CLASS2022'){ $a = [ ['txt'=>'2022 最佳 AI 學習計畫', 'href'=>CLASS2022_URL, 'child'=>''], ['txt'=>'決策層峰', 'href'=>CLASS2022_URL . 'cxo', 'child'=>''], ['txt'=>'專業經理', 'href'=>CLASS2022_URL . 'mgr', 'child'=>''], ['txt'=>'技術領袖', 'href'=>CLASS2022_URL . 'tech', 'child'=>''], ]; $CSS = ''; }elseif($a_or_TYPE==='ENTERPRISE'){ $a = [ ['txt'=>'AIA全系列課程', 'href'=>'https://drive.google.com/file/d/1dw-u3wzk_GofKb9CAypRTAO2TGD4byBX/view?usp=sharing', 'child'=>''], ['txt'=>'產業經理人課程', 'href'=>'https://drive.google.com/file/d/19q9C95JFfSIFGPfuTwblgQwyejFtCAw8/view?usp=sharing', 'child'=>''], ['txt'=>'工程技術類課程', 'href'=>'https://drive.google.com/file/d/1ZexguwVcL52ijmLYYEZ64JRLd30M0zpb/view?usp=sharing', 'child'=>''], ]; $CSS = ''; }else{ $a = $a_or_TYPE; } return $CSS.''; } function v2_display_more_topnav($html_id=''){ echo''; ?> '; } function v2_display_nav($nav_conf,$max_display_level=0,$cur_level=1, $is_mobile=false){ /* $is_setting_max_display_level=$max_display_level>0; if($is_setting_max_display_level and $cur_level>$max_display_level){return;} */ $ret = ''; foreach($nav_conf as$k=>$v){ $child = isset($v['child']) && $v['child'] ? v2_display_nav($v['child'],$max_display_level, $cur_level+1, $is_mobile) : ''; $href = $v['href']; $target = strpos($href, 'http://')===0 || strpos($href, 'https://')===0 || (isset($v['target'])&&$v['target']=='_blank') ? ' target="_blank" rel="noopener"' : ''; $fa_icon = $is_mobile ? '' : ''; $ret .= '
  • '.$v['txt'].''.$fa_icon.$child.'
  • '; } return ''; } function v2_bdtop($text){ return '

    '.$text.'

    '; } function v2_bread($ary_middle=array()){ $last_txt = ''; $last = ''; if(is_page()){ global$post; $last_txt = $post->post_title; if(in_array($post->ID, array(ORG_PAGE_ID, CEO_SAYING_PAGE_ID, PRINCIPAL_SAYING_PAGE_ID,VISION_PAGE_ID))){ $about_us = get_post(ABOUT_PAGE_ID); $ary_middle[] = array('txt'=>$about_us->post_title, 'href'=>wp_make_link_relative(get_the_permalink($about_us->ID)) ); }elseif(in_array($post->ID, array(FEATURES_PAGE_ID))){ $ary_middle[] = array('txt'=>'課程資訊', 'href'=>OPENING_CLASS_CATEGORY_URL ); } }elseif(is_single()){ global$post; $IS_URI_OF_ADMISSION_TECH_TW_CLASS_FROM_2022 = preg_match(URI_REGEXP_OF_ADMISSION_TECH_TW_CLASS_FROM_2022, $_SERVER['REQUEST_URI'])===1; $last_txt = $post->post_title; $ary_cats = get_the_category($post->ID); $prev_cat_id = 0; $MAX = 6; $_ = 0; while($ary_cats){ if($_>=$MAX){break;} foreach($ary_cats as $idx=>$c){ if($c->parent==$prev_cat_id){ if($c->cat_ID==FOUNDATION_CAT_ID){ $href = FOUNDATION_PAGE_LIST_URL; }else{ $href = CATEGORY_PREFIX_URL.$c->slug.'/'; } $txt = $c->cat_name; if($IS_URI_OF_ADMISSION_TECH_TW_CLASS_FROM_2022){ if($txt==='台北總校'){$txt='全域班別';} if(strpos($txt,'專題實作班')!==false){$txt='技術領袖班、專題實作班';} } $ary_middle[] = array( 'txt'=>$txt, 'href'=>$href); $prev_cat_id = $c->cat_ID; unset($ary_cats[$idx]); break; } } $_+=1; } // end while }elseif(is_category()){ $cur_cat_id = get_query_var('cat'); $last_cat = get_category($cur_cat_id); $last_txt = $last_cat->cat_name; $c = $last_cat; $MAX = 6; $_ = 1; while($c->parent){ if($_>=$MAX){break;} $c = get_category($c->parent); $ary_middle[] = array( 'txt'=>$c->cat_name, 'href'=>CATEGORY_PREFIX_URL.$c->slug.'/' ); $_ += 1; } $ary_middle=array_reverse($ary_middle); } if($last_txt){ $last = '
  • '.$last_txt.'
  • '; } $middle = ''; foreach($ary_middle as$v){ $middle.='
  • '.$v['txt'].'
  • '; } return''; } function v2_display_tag_link($text,$href,$is_cur=false,$style_no=0,$more_cssclass=''){ return ''.$text.''; } function v2_display_tag_nav($ary_conf=array(), $all_conf=array(), $editlink='',$html_id=''){ $s=''; if($all_conf){ $ary_conf = array_merge(array($all_conf),$ary_conf); } foreach($ary_conf as$k=>$v){ $s.='' .v2_display_tag_link($v['txt'], $v['href'], isset($v['cur'])&&$v['cur'], 0, isset($v['more_cssclass'])?$v['more_cssclass']:'' ) .''; } $s=$editlink.''; return$s; } define('DEFAULT_PAGER_MORE_PAGE_N',2); function v2_display_pager($ary_or_str_href_prefix_suffix , $cur_page , $total , $page_size , $display_more_page_N = DEFAULT_PAGER_MORE_PAGE_N , $conf=[]){ $is_querystring_pagenum = $conf['is_querystring_pagenum'] ?? false; $max_num_pages = ceil($total / $page_size); if( $max_num_pages>(2*$display_more_page_N+1) ){ $append_N = $display_more_page_N; $prepend_N = $display_more_page_N; if(($cur_page - $display_more_page_N - 1)<0){ $N = abs($cur_page - $display_more_page_N - 1); $append_N += $N; $prepend_N -= $N; }elseif(($cur_page + $display_more_page_N)>$max_num_pages){ $N = abs($cur_page + $display_more_page_N - $max_num_pages); $prepend_N += $N; $append_N -= $N; } $start = $cur_page - $prepend_N; $end = $cur_page + $append_N; }else{ $start = MIN_PAGE; $end = $max_num_pages; } if(is_string($ary_or_str_href_prefix_suffix)){ $href_prefix = $ary_or_str_href_prefix_suffix; $href_suffix = ''; }else{ $href_prefix = $ary_or_str_href_prefix_suffix[0]; $href_suffix = $ary_or_str_href_prefix_suffix[1]; } if ($is_querystring_pagenum) { $href_suffix = preg_replace('/'.CUSTOME_PAGE_NUM_QS_KEY.'=[^&]*/', '', $href_suffix); } if(substr($href_prefix,-1)!=='/'){ $href_prefix .= '/'; } $HREF_MIDDLE = $is_querystring_pagenum ? '?'.CUSTOME_PAGE_NUM_QS_KEY.'=' : 'page/'; $HREF_CONCATER = $is_querystring_pagenum ? '&' : '/'; if(isset($_GET['ee'])){ var_dump($href_prefix); var_dump($HREF_MIDDLE); var_dump($HREF_CONCATER); var_dump($href_suffix); } $ret=''; $first_href = $cur_page>MIN_PAGE ? $href_prefix.$HREF_MIDDLE.($cur_page-1).$HREF_CONCATER.$href_suffix : 'javascript:;'; $ret.='<'; for($i=$start;$i<=$end;$i++){ $b = $i==$cur_page; $href = $b ? 'javascript:;' : $href_prefix.$HREF_MIDDLE.$i.$HREF_CONCATER.$href_suffix; $ret .= ''.$i.''; } $last_href = $cur_page<$max_num_pages ? $href_prefix.$HREF_MIDDLE.($cur_page+1).$HREF_CONCATER.$href_suffix : 'javascript:;'; $ret.='>'; //return '
    '.$ret.'
    '; //adding button for first & max page in 2022.10 by ben $page1_href = $href_prefix.$HREF_MIDDLE.(1).$HREF_CONCATER.$href_suffix; $page1='第一頁'; $page_max_href= $href_prefix.$HREF_MIDDLE.($max_num_pages).$HREF_CONCATER.$href_suffix; $page_max='最後一頁'; return '

    '.$ret.'

    '.$page1.$page_max.'

    '; } // end pgr function v2_display_list1($ary,$more_href='', $html_structure='TABLE', $html_id='', $more_text = 'More'){ $s=''; if($html_structure==='DIV'){ // for RWD foreach($ary as$v){ $s.='
    '; $max_idx = count($v)-1; foreach($v as$idx=>$v2){ $html_attr = ''; $ary_class = array('ofh'); if($idx===0){ $ary_class[] = 'first'; } if($idx===$max_idx){ $ary_class[] = 'last'; } $html_attr.=' class="'.implode(' ', $ary_class).'"'; $s.=''.$v2.''; } $s.='
    '; } if($more_href){ $s.=''; } return'
    '.$s.'
    '; } // table foreach($ary as$v){ $s.=''; $max_idx = count($v)-1; foreach($v as$idx=>$v2){ $html_attr = ''; if($idx===0){ $html_attr.=' class="first"'; } if($idx===$max_idx){ $html_attr.=' class="last"'; } $s.=''.$v2.''; } $s.=''; } if($more_href){ $s.=''.$more_text.''; } $s=''.$s.'
    '; return$s; } // need? define('DEFAULT_BTN2_TEXT','簡章'); function _display_btn2($type, $href, $text, $title='', $conf=array()){ $more_cssclass = ''; if($type){ if($type=='SIGNUP_CLOSED'){ $more_cssclass = ' signup-closed'; }else{ $more_cssclass = ' btn2'.$type; } } $target = ''; if(strpos($href,'http')===0 || (isset($conf['is_target_blank']) && $conf['is_target_blank'])){ $target.=' target="_blank" rel="noopener"'; } return ''.$text.''; } function display_btn2a($href,$text, $title='', $conf=array()){ return _display_btn2('a', $href, $text, $title, $conf); } function display_btn2b($href,$text, $title='', $conf=array()){ return _display_btn2('b', $href, $text, $title, $conf); } function display_btn2_signup_closed($href,$text, $title='', $conf=array()){ return _display_btn2('SIGNUP_CLOSED', $href, $text, $title, $conf); } function display_btn2c($href,$text, $title='', $conf=array()){ return _display_btn2('c', $href, $text, $title, $conf); } function display_btn2d($href,$text, $title='', $conf=array()){ return _display_btn2('d', $href, $text, $title, $conf); } define('DEFAULT_PUREBOXA_STYLE_NO',1); define('DEFAULT_PUREBOXA_STYLE_NO_BUT_CENTER_IMG',11); # first used at /foundation list page define('TRANSPARENT_BG_PUREBOXA_STYLE_NO', 2); define('FOUR_BY_THREE_IMAGE_PUREBOXA_NO', 3); # 1: (guest)white-bg-box 2: (guest)transparent-bg-box # 3: box with 1.91:1 image aspect ratio function v2_display_pureboxA($title,$v2_editlink,$content,$link,$imgsrc,$style_no=DEFAULT_PUREBOXA_STYLE_NO,$html_id='',$conf=array()){ $hd_htmltag = isset($conf['hd_htmltag']) ? $conf['hd_htmltag'] : 'h3'; $bd_htmltag = isset($conf['bd_htmltag']) ? $conf['bd_htmltag'] : 'div'; $ft_html = isset($conf['ft_html']) ? $conf['ft_html'] : ''; $ary_tags = isset($conf['ary_tags']) ? $conf['ary_tags'] : []; $tags = ''; foreach($ary_tags as$k=>$v){ $tags .= '#'.$v['txt'].''; } if($tags){$ft_html .= $tags;} $ft_html = $ft_html ? '
    '.$ft_html.'
    ' : ''; $_is_external_link = strpos($link, $_SERVER['SERVER_NAME'])===false && preg_match('/^\/[A-Za-z0-9\-\_]/',$link)===0; /*if(0){ var_dump($link);echo'
    '; var_dump($_SERVER['SERVER_NAME']);echo'
    '; var_dump(strpos($link, $_SERVER['SERVER_NAME']));echo'
    '; var_dump(preg_match('/^\/[A-Za-z0-9\-\_]/',$link));echo'
    '; }*/ $title2 = $link ? ''.$title.'' : $title; $content = $content ? '<'.$bd_htmltag.' class=bd>'.$content.'' : ''; $modifier_class = $style_no>1 ? ' boxA'.$style_no : ''; if(strpos($imgsrc, 'youtube')!==false && strpos($imgsrc,'img.youtube')===false){ $thumbnail_src = isset($conf['thumbnail_src']) ? $conf['thumbnail_src'] : ""; $img = '
    '; }else{ $img = ''; } return'
    '.$img.' <'.$hd_htmltag.' class="hd">'.$title2.$v2_editlink.'' .$content .$ft_html .'
    '; } function v2_display_pureboxBB($school){ $email = $school['email']; $admission = ''; if(strpos($email, 'hi@')!==false){$admission=TP_OPENING_CLASS_CATEGORY_URL;} elseif(strpos($email, 'tc@')!==false){$admission=TC_OPENING_CLASS_CATEGORY_URL;} elseif(strpos($email, 'st@')!==false){$admission=ST_OPENING_CLASS_CATEGORY_URL;} $admission = $admission ? '
  • 招生資訊:點擊查看
  • ' : ''; return'

    '.$school['title'].'

    • 電話:'.$school['tel'].'
    • 信箱:'.$email.'
    • 地址:'.$school['addr'].'
    • 上班時間:'.$school['working'].'
    • '.$admission.'
    '; } function v2_display_pureboxB($title,$link,$imgsrc, $style_no=1){ # 1: (guest)school_box 2: (partner)center-big-box $title2 = $link ? ''.$title.'' : $title; $modifier_class = $style_no>1 ? ' boxB'.$style_no : ''; $start_tag = ''; $end_tag = ''; if($link){ $start_tag = ''; $end_tag = ''; } return'
    '.$start_tag .($style_no==2 ? '' : ''.$title.'') .''.$title.''.$end_tag.'
    '; } function v2_display_pureboxC($post){ extract($post); return'

    '.$box_title.$box_title_append.'

    ' .'
    ' .''.$title.'' .'
    '.$content.'
    '; } function v2_display_pureboxQ($q){ ?>' : ''; return'
    ' .$img.'

    '.$title.call_user_func_array('v2_editlink', $ary_editlink_paras).'

    '.$content.'
    ' .'
    '; } function v2_display_listT_with_pureboxT($ary_pureboxT){ $li=''; foreach($ary_pureboxT as$v){$li.='
  • '.$v.'
  • ';} return'
      '.$li.'
    '; } function v2_display_pureboxT($ary_editlink_paras, $bg_imgsrc, $cover_imgsrc, $title_black, $title_gray, $href, $content=''){ $cover = $cover_imgsrc ? ''.strip_tags($title_gray).'' : ''; $cover = ''.$cover.''; return'
    ' .'
    ' .''.$cover .'

    '.$title_black.'

    '.$title_gray.'

    ' .call_user_func_array('v2_editlink', $ary_editlink_paras) .'
    ' .'
    ' ; } // [video-courses] for video courses category list item box function v2_display_pureboxV($title, $summary, $imgsrc, $link, $editlink, $cover_accessory = '') { return '' .'
    ' .' ' .' ' .' '.($cover_accessory ? $cover_accessory : '') .' '.$editlink.'' .' ' .'

    '.$title.'

    ' .'
    ' .' '.($summary ? '

    '.$summary.'

    ' : '') .'
    '; } function v2_display_pureboxV_cover_accessory($modifier_class) { return '
    '; } function v2_display_tmpl($htmlid,$s){ $s = str_replace(array("\n","\r"),'',$s); return'
    '; } function page_head2($text, $href=''){ if($href){ $text = ''.$text.''; } return'

    '.$text.'

    '; } function page_head2_func($atts, $content){ return page_head2($content, isset($atts['href']) ? $atts['href'] : ''); } add_shortcode( 'page_head2', 'page_head2_func' ); function page_head2_sub_func($atts, $content){ $href = isset($atts['href']) ? $atts['href'] : ''; $text = $content; if($href){ $text = ''.$text.''; } return'

    '.$text.'

    '; } add_shortcode( 'page_head2_sub', 'page_head2_sub_func' ); function aia_title($text){ return'

    '.$text.'

    '; } function v2_editlink($pagepost_id__OR__category_name, $is_display_block=false, $url_hash='', $label=''){ if(!IS_SHOW_EDIT_LINK){return'';} if($url_hash){$url_hash='#'.$url_hash;} $display_text0 = '編緝'; if(preg_match('/^[0-9]+$/', $pagepost_id__OR__category_name)){ $href = WEB_URL.'wp-admin/post.php?post='.$pagepost_id__OR__category_name.'&action=edit'; }else{ if(strpos($pagepost_id__OR__category_name,'CATE')===0){ $href = WEB_URL.'wp-admin/term.php?taxonomy=category&tag_ID=' . str_replace('CATE','',$pagepost_id__OR__category_name).'&post_type=post'; }else{ $display_text0 = '新增'; $href = WEB_URL.'wp-admin/edit.php?category_name=' . $pagepost_id__OR__category_name; } } $href.=$url_hash; if($label){$label='「'.$label.'」';} $display_text = $display_text0.$label; # if($is_display_block){ return ''; } return''.$display_text.''; } function home_rowA($a, $prepend_html=''){ $s = ''; foreach($a as$v){ if(!$v[0]){continue;} $s.='
    '; $s.=v2_display_pureboxB($v[0], $v[1], $v[2],2); $s.='
    '; } return'
    ' .$prepend_html .$s.'
    '; } function home_row_faq(){ ?>
    slug; $imgsrc = get_all_imgsrc($c->category_description, true); $imgsrc = $imgsrc ? $imgsrc[0] : ''; $desc = strip_tags($c->category_description); $ary_q[]=array('href'=>CATEGORY_PREFIX_URL.$slug, 'title'=>$c->cat_name, 'imgsrc'=>$imgsrc, 'desc'=>$desc,'cat'=>$c); } foreach($ary_q as$q): ?>
    cat_ID,true);?>
    1): $ary_tag_nav = array(); foreach($ary_only_display_category_ids as$cid){ $c=get_category($cid); if($c->cat_ID===NEWS_CAT_ID){continue;} $ary_tag_nav[] = array('txt'=>$c->cat_name, 'slug'=>$c->slug, 'href'=>CATEGORY_PREFIX_URL.$c->slug.'/', 'more_cssclass'=>'notR', ); } $NEWS_SLUG = get_category(NEWS_CAT_ID)->slug; echo v2_display_tag_nav($ary_tag_nav, array('cur'=>1,'txt'=>'總覽', 'href'=>NEWS_CATEGORY_URL, 'slug'=>$NEWS_SLUG), v2_editlink(HOME_PAGE_ID, true, 'acf-home_guest_newslist_category_ids','顯示的分類'), 'home-tagnav' ); endif; $ary_lst_final = []; foreach($ary_topest_post_ids as $id_){ $ary_lst_final[] = get_post($id_); } $ary_lst = get_posts( array_merge( array('posts_per_page'=>$page_size, 'category'=>$ary_only_display_category_ids,) , v2_get_news_posts_argv()) ); foreach($ary_lst as $_){ if(count($ary_lst_final)>=HOME_NEWS_DISPLAY_NUM){break;} if(!in_array($_->ID, $ary_topest_post_ids)){ $ary_lst_final[] = $_; } } foreach($ary_lst_final as$k=>$v): # $v is $post $cats = get_the_category($v->ID); $cat=$cats[0]; $ary_lst[$k] = array( '' # '2019 年 04 月 31 日' ,v2_display_tag_link($cat->cat_name, CATEGORY_PREFIX_URL.$cat->slug.'/' ) ,v2_editlink($v->ID).''.$v->post_title.'' ); endforeach; echo v2_display_list1($ary_lst, $more_href, 'DIV', 'home-newslst', '看更多消息'); } function is_google_optimize_anti_flicker_snippet_custom_field_enabled() { $post_id = get_the_ID(); if ($post_id === False) { return False; } $is_anti_flicker_enabled = get_post_meta($post_id, 'insert_anti_flicker_snippet', true); return $is_anti_flicker_enabled; } function insert_google_optimize_anti_flicker_snippet() { $GTM_CONTAINER_ID = 'GTM-M3BRKB4'; echo " "; } function get_aia_post_meta($post_id) { $a = []; foreach(get_post_meta($post_id) as $k=>$v){ if(substr($k,0,1)!='_' && substr($k,0,10)!='rank_math_' && substr($k,0,5)!='qode_' && strpos($k,'ignore_me_')===false ){ $a[$k]=$v; } } return$a; } function display_content_by_content_type($post, $display_content_type='') { if (empty($display_content_type)) { return ''; } if (!in_array($display_content_type, ['_EDGEAI_', '_MEDICAL_', '_MGR_', '_TECH_'])) { return ''; } // -------------------------------------------- $metas = get_aia_post_meta($post->ID); if ('_TECH_'===$display_content_type) { $a = ['course_place', 'end_class_date', 'exam_date', 'exam_result_date', 'exam_time', 'national_holiday_text', 'open_class_date', 'people_number', 'register_edate', 'signup_edate', 'signup_link', 'week_num']; }elseif('_MGR_'===$display_content_type){ $a = ['course_place', 'end_class_date', 'national_holiday_text', 'open_class_date', 'people_number', 'register_edate', 'result_date', 'signup_edate', 'signup_link', 'week_num']; }elseif('_MEDICAL_'===$display_content_type){ $a = ['end_class_date', 'open_class_date', 'people_number', 'register_edate', 'result_date', 'signup_edate']; }elseif('_EDGEAI_'===$display_content_type){ $a = ['course_place', 'end_class_date', 'exam_date', 'exam_time', 'open_class_date', 'people_number', 'register_edate', 'result_date', 'signup_edate', 'signup_link', 'week_num']; $post_title = $post->title; } $ary = $a; foreach($a as $v){ if (!isset($metas[$v])){ continue; } $$v = $metas[$v][0]; if(strpos($v, '_date')!==false || strpos($v, '_edate')!==false || strpos($v, '_sdate')!==false){ # extra variable(s) preg_match_all('/[0-9]/', $$v, $_); $_ = $_[0]; ${$v.'_y'} = $_[0].$_[1].$_[2].$_[3]; $ary[] = $v.'_y'; ${$v.'_m'} = ${$v.'_mm'} = $_[4].$_[5]; ${$v.'_m'}+=0; $ary=array_merge($ary, [$v.'_m', $v.'_mm']); ${$v.'_d'} = ${$v.'_dd'} = $_[6].$_[7]; ${$v.'_d'}+=0; $ary=array_merge($ary, [$v.'_d', $v.'_dd']); } } # extra variable(s) if(isset($open_class_date) and $open_class_date and isset($end_class_date) and $end_class_date){ $week_num = '---'; } # read file $s = file_get_contents(__DIR__.'/_single_content_type/'.$display_content_type.'.html'); foreach($ary as $v){ if (isset($$v)) { $s = str_replace('{'.$v.'}',$$v,$s); } } return do_shortcode($s); } function v2_display_list2($ary_th, $ary_body){ $thead = $ary_th ? ''.implode('',$ary_th).'' : ''; $thead = '
    '.$thead.'
    '; $tbl = '
    '.$thead; $body=''; foreach($ary_body as$v){ $body.='
    '; foreach($v as$k2=>$v2){ $body.='' .(isset($ary_th[$k2])&&$ary_th[$k2] ? ''.$ary_th[$k2].'' : '') .$v2.''; } $body.='
    '; } return $tbl.$body.'
    '; } /*** end of v2 functions **/