Skip to content
迪利翻译:通往印度市场的桥梁——印地语翻译服务 迪利翻译拥有一支经验丰富的印地语翻译团队,能够为您提供精准、快 […]
迪利翻译:专业阿塞拜疆语翻译服务,连接东西方桥梁 迪利翻译提供专业、快速、可靠的阿塞拜疆语翻译服务,满足您所有 […]
迪利翻译:捷克语翻译服务——从语言起源到现代应用的专业解决方案 迪利翻译拥有一支经验丰富的捷克语翻译团队,能够 […]
迪利翻译:孟加拉语翻译服务,连接南亚与世界 迪利翻译提供专业、快速、可靠的孟加拉语翻译服务,满足您所有的孟加拉 […]
迪利翻译:爱沙尼亚语翻译服务,连接波罗的海文化桥梁 迪利翻译提供专业、快速、可靠的爱沙尼亚语翻译服务,满足您所 […]
[
'name' => 'Çeviri Siparişleri',
'singular_name' => 'Çeviri Siparişi',
],
'public' => false,
'show_ui' => true,
'menu_icon' => 'dashicons-media-text',
'supports' => ['title'],
'show_in_menu'=> true,
]);
});
/* =========================================================
2) FORM GÖNDERİMİ
========================================================= */
add_action('init', function () {
if (!isset($_POST['dilli_form_submit'])) {
return;
}
if (!isset($_POST['dilli_form_nonce']) || !wp_verify_nonce($_POST['dilli_form_nonce'], 'dilli_form_action')) {
wp_die('Güvenlik doğrulaması başarısız.');
}
$ad_soyad = sanitize_text_field(wp_unslash($_POST['ad_soyad'] ?? ''));
$email = sanitize_email(wp_unslash($_POST['email'] ?? ''));
$telefon = sanitize_text_field(wp_unslash($_POST['telefon'] ?? ''));
$kaynak_dil = sanitize_text_field(wp_unslash($_POST['kaynak_dil'] ?? ''));
$hedef_dil = sanitize_text_field(wp_unslash($_POST['hedef_dil'] ?? ''));
$aciklama = sanitize_textarea_field(wp_unslash($_POST['aciklama'] ?? ''));
$teslimat = sanitize_text_field(wp_unslash($_POST['teslimat'] ?? ''));
$musteri_tipi = sanitize_text_field(wp_unslash($_POST['musteri_tipi'] ?? ''));
$firma_unvani = sanitize_text_field(wp_unslash($_POST['firma_unvani'] ?? ''));
$vergi_dairesi = sanitize_text_field(wp_unslash($_POST['vergi_dairesi'] ?? ''));
$vergi_no = sanitize_text_field(wp_unslash($_POST['vergi_no'] ?? ''));
$fatura_adresi = sanitize_textarea_field(wp_unslash($_POST['fatura_adresi'] ?? ''));
$odeme_turu = sanitize_text_field(wp_unslash($_POST['odeme_turu'] ?? ''));
$ek_hizmetler = [];
if (!empty($_POST['ek_hizmetler']) && is_array($_POST['ek_hizmetler'])) {
$ek_hizmetler = array_map(function ($item) {
return sanitize_text_field(wp_unslash($item));
}, $_POST['ek_hizmetler']);
}
dilli_save_old_input([
'ad_soyad' => $ad_soyad,
'email' => $email,
'telefon' => $telefon,
'kaynak_dil' => $kaynak_dil,
'hedef_dil' => $hedef_dil,
'aciklama' => $aciklama,
'teslimat' => $teslimat,
'musteri_tipi' => $musteri_tipi,
'firma_unvani' => $firma_unvani,
'vergi_dairesi' => $vergi_dairesi,
'vergi_no' => $vergi_no,
'fatura_adresi' => $fatura_adresi,
'odeme_turu' => $odeme_turu,
'ek_hizmetler' => $ek_hizmetler,
]);
$errors = [];
$languages = dilli_get_languages();
$allowed_mimes = [
'pdf' => 'application/pdf',
'doc' => 'application/msword',
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'png' => 'image/png',
];
if (empty($ad_soyad)) $errors[] = 'Ad Soyad zorunludur.';
if (empty($email) || !is_email($email)) $errors[] = 'Geçerli bir e-posta giriniz.';
if (empty($telefon)) $errors[] = 'Telefon / WhatsApp zorunludur.';
if (empty($kaynak_dil) || !in_array($kaynak_dil, $languages, true)) $errors[] = 'Geçerli bir kaynak dil seçiniz.';
if (empty($hedef_dil) || !in_array($hedef_dil, $languages, true)) $errors[] = 'Geçerli bir hedef dil seçiniz.';
if ($kaynak_dil && $hedef_dil && $kaynak_dil === $hedef_dil) $errors[] = 'Kaynak dil ve hedef dil aynı olamaz.';
if (empty($teslimat)) $errors[] = 'Teslimat tipi seçiniz.';
if (empty($odeme_turu)) $errors[] = 'Ödeme türü seçiniz.';
if ($musteri_tipi === 'Kurumsal') {
if (empty($firma_unvani)) $errors[] = 'Kurumsal müşteri için firma ünvanı zorunludur.';
if (empty($vergi_no)) $errors[] = 'Kurumsal müşteri için vergi no zorunludur.';
if (empty($fatura_adresi)) $errors[] = 'Kurumsal müşteri için fatura adresi zorunludur.';
}
$uploaded_file_url = '';
$uploaded_file_name = '';
if (!empty($_FILES['belge']['name'])) {
require_once ABSPATH . 'wp-admin/includes/file.php';
$file_check = wp_check_filetype_and_ext(
$_FILES['belge']['tmp_name'],
$_FILES['belge']['name'],
$allowed_mimes
);
if (empty($file_check['ext']) || empty($file_check['type'])) {
$errors[] = 'Geçersiz dosya türü. Sadece şu uzantılara izin verilir: ' . DILLI_ALLOWED_EXTENSIONS;
} else {
$uploaded = wp_handle_upload($_FILES['belge'], [
'test_form' => false,
'mimes' => $allowed_mimes,
]);
if (isset($uploaded['error'])) {
$errors[] = 'Dosya yükleme hatası: ' . $uploaded['error'];
} else {
$uploaded_file_url = esc_url_raw($uploaded['url']);
$uploaded_file_name = sanitize_file_name(basename($uploaded['file']));
}
}
}
if (!empty($errors)) {
set_transient('dilli_form_errors', $errors, 5 * MINUTE_IN_SECONDS);
wp_safe_redirect(wp_get_referer() ?: home_url('/'));
exit;
}
$siparis_no = 'DL-' . wp_date('YmdHis') . '-' . wp_rand(100, 999);
$post_id = wp_insert_post([
'post_type' => 'dilli_siparis',
'post_status' => 'publish',
'post_title' => $siparis_no . ' - ' . $ad_soyad,
]);
if (is_wp_error($post_id) || !$post_id) {
set_transient('dilli_form_errors', ['Sipariş kaydedilirken bir hata oluştu.'], 5 * MINUTE_IN_SECONDS);
wp_safe_redirect(wp_get_referer() ?: home_url('/'));
exit;
}
update_post_meta($post_id, 'siparis_no', $siparis_no);
update_post_meta($post_id, 'ad_soyad', $ad_soyad);
update_post_meta($post_id, 'email', $email);
update_post_meta($post_id, 'telefon', $telefon);
update_post_meta($post_id, 'kaynak_dil', $kaynak_dil);
update_post_meta($post_id, 'hedef_dil', $hedef_dil);
update_post_meta($post_id, 'aciklama', $aciklama);
update_post_meta($post_id, 'teslimat', $teslimat);
update_post_meta($post_id, 'ek_hizmetler', $ek_hizmetler);
update_post_meta($post_id, 'musteri_tipi', $musteri_tipi);
update_post_meta($post_id, 'firma_unvani', $firma_unvani);
update_post_meta($post_id, 'vergi_dairesi', $vergi_dairesi);
update_post_meta($post_id, 'vergi_no', $vergi_no);
update_post_meta($post_id, 'fatura_adresi', $fatura_adresi);
update_post_meta($post_id, 'odeme_turu', $odeme_turu);
update_post_meta($post_id, 'dosya_url', $uploaded_file_url);
update_post_meta($post_id, 'dosya_adi', $uploaded_file_name);
$ek_hizmetler_text = !empty($ek_hizmetler) ? implode(', ', $ek_hizmetler) : 'Seçilmedi';
$dosya_text = $uploaded_file_url ? $uploaded_file_url : 'Dosya yüklenmedi';
$mail_subject = 'Yeni Çeviri Siparişi - ' . $siparis_no;
$mail_message = "Yeni bir çeviri siparişi oluşturuldu.\n\n";
$mail_message .= "Sipariş No: {$siparis_no}\n";
$mail_message .= "Ad Soyad: {$ad_soyad}\n";
$mail_message .= "E-posta: {$email}\n";
$mail_message .= "Telefon: {$telefon}\n";
$mail_message .= "Kaynak Dil: {$kaynak_dil}\n";
$mail_message .= "Hedef Dil: {$hedef_dil}\n";
$mail_message .= "Teslimat: {$teslimat}\n";
$mail_message .= "Ek Hizmetler: {$ek_hizmetler_text}\n";
$mail_message .= "Müşteri Tipi: {$musteri_tipi}\n";
$mail_message .= "Firma Ünvanı: {$firma_unvani}\n";
$mail_message .= "Vergi Dairesi: {$vergi_dairesi}\n";
$mail_message .= "Vergi No: {$vergi_no}\n";
$mail_message .= "Fatura Adresi: {$fatura_adresi}\n";
$mail_message .= "Ödeme Türü: {$odeme_turu}\n";
$mail_message .= "Açıklama: {$aciklama}\n";
$mail_message .= "Dosya: {$dosya_text}\n";
$headers = ['Content-Type: text/plain; charset=UTF-8'];
wp_mail(DILLI_ADMIN_EMAIL, $mail_subject, $mail_message, $headers);
set_transient('dilli_form_success', [
'siparis_no' => $siparis_no,
'odeme_turu' => $odeme_turu,
'ad_soyad' => $ad_soyad,
], 5 * MINUTE_IN_SECONDS);
dilli_clear_old_input();
wp_safe_redirect(wp_get_referer() ?: home_url('/'));
exit;
});
/* =========================================================
3) SHORTCODE
========================================================= */
add_shortcode('dilli_ceviri_formu', function () {
ob_start();
$errors = get_transient('dilli_form_errors');
$success = get_transient('dilli_form_success');
$languages = dilli_get_languages();
if ($errors) {
delete_transient('dilli_form_errors');
echo '';
foreach ($errors as $error) {
echo '- ' . esc_html($error) . '
';
}
echo '
';
}
if ($success) {
delete_transient('dilli_form_success');
echo '';
echo '
Siparişiniz başarıyla alındı.';
echo 'Sipariş Numaranız:
' . esc_html($success['siparis_no']) . '';
if ($success['odeme_turu'] === 'Havale / FAST') {
echo '
Havale / FAST Bilgileri';
echo 'Alıcı: Ebubekir Dilli
';
echo 'IBAN: TR05 0006 7010 0000 0037 4831 36
';
echo 'Açıklama: ' . esc_html($success['siparis_no']) . ' - ' . esc_html($success['ad_soyad']) . '
';
} else {
echo '
Kredi Kartı ile Öde';
}
echo '
';
}
?>