meta_data as $meta_datum) { if (is_array($meta_datum->value)) { // Eğer değer bir dizi ise ve içindeki bilgiler varsa if (isset($meta_datum->value[0]['tracking_provider'])) { $meta_datas['tracking_provider'] = $meta_datum->value[0]['tracking_provider']; $meta_datas['tracking_number'] = $meta_datum->value[0]['tracking_number']; } } elseif (is_object($meta_datum->value)) { // Eğer değer bir nesne ise $meta_datas[$meta_datum->key] = json_encode($meta_datum->value); // Nesne içinde 'tracking_provider' ve 'tracking_number' varsa if (isset($meta_datum->value->tracking_provider)) { $meta_datas['tracking_provider'] = $meta_datum->value->tracking_provider; } if (isset($meta_datum->value->tracking_number)) { $meta_datas['tracking_number'] = $meta_datum->value->tracking_number; } } else { // Diğer durumlarda $meta_datas[$meta_datum->key] = $meta_datum->value; // Eğer diğer durumda 'tracking_provider' ve 'tracking_number' varsa if (isset($meta_datum->value['tracking_provider'])) { $meta_datas['tracking_provider'] = $meta_datum->value['tracking_provider']; } if (isset($meta_datum->value['tracking_number'])) { $meta_datas['tracking_number'] = $meta_datum->value['tracking_number']; } } } $array_keys = array_keys($meta_datas); foreach ($array_keys as &$array_key) { $array_key = $key1 . $array_key . $key2; } $array_values = array_values($meta_datas); $message = str_replace($array_keys, $array_values, $text); return $message; } function netgsm_replace_order_meta_datas2($metadatas, $text, $key1='[meta:', $key2=']') { $meta_datas = []; foreach ($metadatas as $key=> $item) { $value = []; foreach ($item as $val) { array_push($value, $val); } $meta_datas[$key] = implode(',', $value); } $array_keys = array_keys($meta_datas); foreach ($array_keys as &$array_key) { $array_key = $key1.$array_key.$key2; } $array_values = array_values($meta_datas); $message = str_replace($array_keys, $array_values, $text); return $message; } function netgsm_replace_order_add_datas($order, $text, $param, $key1='[data:', $key2=']') { $datas = []; foreach ($order->{$param} as $key => $meta_datum) { if (is_array($meta_datum)){ foreach ($meta_datum as $k=>$item) { if(!is_array($item) && !is_object($item)){ $datas[$key.'_'.$k] = $item; } } } else { $datas[$key] = $meta_datum; } } $array_keys = array_keys($datas); foreach ($array_keys as &$array_key) { $array_key = $key1.$array_key.$key2; } $array_values = array_values($datas); $message = str_replace($array_keys, $array_values, $text); return $message; } function netgsm_meta_data_replace($data, $text, $key1='[meta:', $key2=']') { $meta_datas = []; foreach ($data as $key => $meta_datum) { $meta_datas[$key] = $meta_datum; } $array_keys = array_keys($meta_datas); foreach ($array_keys as &$array_key) { $array_key = $key1.$array_key.$key2; } $array_values = array_values($meta_datas); $message = str_replace($array_keys, $array_values, $text); return $message; } function netgsm_replace_array($old, $new, $data, $startChar='[', $endChar=']') { $old2 = []; $new2 = []; foreach($old as $key=>$value) { foreach($new as $key2=>$value2) { if($value == $startChar.$key2.$endChar){ array_push($old2, $value ); array_push($new2, $value2); } } } $result = str_replace($old2, $new2, $data); return $result; } function netgsm_replace_date($text){ $date = date('d.m.Y'); $text = str_replace('[tarih]',$date,$text); $needle = '[tarih'; $lastPos = 0; $positions = []; while (($lastPos = strpos($text, $needle, $lastPos))!== false) { $positions[] = $lastPos; $lastPos = $lastPos + strlen($needle); } $change = []; $val = []; foreach ($positions as $start) { $end = $start + 6; $a = substr($text, $end); $b = explode(']', $a); $b = $b[0]; array_push($change, '[tarih'.$b.']'); $date = date('d.m.Y', strtotime( $b.' day')); array_push($val, $date); } $text = str_replace($change, $val, $text); $text = $this->netgsm_replace_time($text); return $text; } function netgsm_replace_time($text){ $date = date('H:i:s'); $text = str_replace('[saat]',$date,$text); $needle = '[saat'; $lastPos = 0; $positions = []; while (($lastPos = strpos($text, $needle, $lastPos))!== false) { $positions[] = $lastPos; $lastPos = $lastPos + strlen($needle); } $change = []; $val = []; foreach ($positions as $start) { $end = $start + 5; $a = substr($text, $end); $b = explode(']', $a); $b = $b[0]; array_push($change, '[saat'.$b.']'); $date = date('H:i:s', strtotime( $b.' minutes')); array_push($val, $date); } $text = str_replace($change, $val, $text); return $text; } } ?>