File: /var/www/html/wp-content/themes/ormedia/keylabData/testing/r_testing.php
<?php
//ini_set('display_errors',1);
if(isset($_REQUEST['checking_api_file'])){
exit();
}
$msg = "success";
$valid = true;
if (isset($_REQUEST['period_s'])){
$period = $_REQUEST['period_s'];
} else {
$period_s = "-1 month";
}
if (isset($_REQUEST['period_e'])){
$period_e = $_REQUEST['period_e'];
} else {
$period_e = "+6 month";
}
if (isset($_REQUEST['type'])){
provide_type();
} else {
if (isset($_REQUEST['property_id'])) {
$property_id = $_REQUEST['property_id'];
if(isset($_REQUEST['agm'])) {
$statement = "SELECT * FROM `keylab_calendar` WHERE property_id = $property_id AND type = 99 AND time > NOW() ORDER BY time ASC limit 1";
} else {
provide_type();
if (isset($_REQUEST['date'])){
$date = $_REQUEST['date'];
$before = date('Y-m-d H:i:s', strtotime($period_s, strtotime($date)));
$after = date('Y-m-d H:i:s', strtotime($period_e, strtotime($date)));
$rv->period = $before." - ".$after;
$statement = "SELECT * FROM `keylab_calendar` WHERE property_id = $property_id AND time > '$before' AND time < '$after' ORDER BY time DESC";
} else {
$statement = "SELECT * FROM `keylab_calendar` WHERE property_id = $property_id ORDER BY time DESC";
}
}
} elseif (isset($_REQUEST['admin_wp_id'])) {
provide_type();
$admin_wp_id = $_REQUEST['admin_wp_id'];
$statement = "SELECT * FROM `keylab_calendar` WHERE property_id IN (SELECT property_id FROM `keylab_property` WHERE admin_wp_id = $admin_wp_id) ORDER BY time DESC";
} else {
$valid = false;
$msg = "insufficient arguments";
}
if ($valid) {
$results = $wpdb->get_results($statement);
// $rv->last_query = $wpdb->last_query;
if($_REQUEST['platform']=="app"){
get_agm();
}
if (isset($_REQUEST['by_date'])) {
get_agm();
$list = new stdClass();
$results_r = array_reverse($results);
$last_date = "";
$index = -1;
foreach ($results_r as $result) {
$date = substr($result->time, 0, 10);
if ($date != $last_date){
$index++;
$last_date = $date;
}
// $result->ann_list = unserialize($result->ann_list) ?: [];
// $result->source = unserialize($result->source) ?: [];
$result->ann_list = handle_object($result->ann_list);
$result->source = handle_object($result->source);
$list->$date[] = $result;
}
$rv->list = $list;
} else {
$rv->list = $results;
}
}
}
function handle_object($obj){
// var_dump($obj);
$res = unserialize($obj);
// var_dump($res);
if (!$res){
return [];
}
// $res = str_replace(,$res);
return $res;
}
function provide_type()
{
global $rv;
$array = array(
0 => "會議",
1 => "工作項目",
2 => "文件到期",
99 => "AGM",
);
if($_REQUEST['platform']=="app"){
$arr = [];
foreach ($array as $key => $value) {
$obj = [];
$obj['key'] = (string)$key;
$obj['name'] = $value;
array_push($arr, $obj);
}
$rv->type = $arr;
}else{
$rv->type = $array;
}
}
function get_agm(){
global $rv;
global $property_id;
global $wpdb;
$statement = "SELECT * FROM `keylab_calendar` WHERE property_id = $property_id AND type = 99 AND time > NOW() ORDER BY time ASC limit 1";
$agm = $wpdb->get_results($statement);
foreach ($agm as $key => $value) {
$value->ann_list = handle_object($value->ann_list);
}
$rv->agm = $agm;
}
foreach ($rv->list as $item){
$item->ann_list = unserialize($item->ann_list) ?: [];
$item->source = unserialize($item->source) ?: [];
}
$rv->msg = $msg;
exit(json_encode($rv));
//var_dump($result);
?>