Plugin Directory

Changeset 3401475


Ignore:
Timestamp:
11/24/2025 12:20:21 AM (4 months ago)
Author:
eafatura
Message:

Kargoya Verildi durumu eklendi. Eafatura API Servisinin, bu duruma getirdiği siparişler için gönderimi isteğinize bağlı, kargo takip bilgileri içeren Kargoya Verildi E-Posta gönderimi eklendi. 2.1.5

Location:
eafatura-e-arsiv-entegrasyon
Files:
106 added
9 edited

Legend:

Unmodified
Added
Removed
  • eafatura-e-arsiv-entegrasyon/trunk/assets/admin/css/admin-min.css

    r3401085 r3401475  
    1 .ea-field,.ea-kicker,.ea-switch label,.ea-title{text-align:center}.eaee-label,.eaee-spinner,.eaee-view .eaee-ico{vertical-align:middle}.ea-wrap{max-width:960px}.ea-card{background:#fff;border:1px solid #e6e7ea;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.05);padding:24px;margin-top:12px;transition:none!important}.ea-title{font-size:22px;font-weight:700;margin:0 0 8px;color:#1d2327}.ea-kicker{font-size:14px;color:#5e6670;margin:0 0 18px}.ea-logo-wrap{display:flex;justify-content:center;margin:20px 0}.ea-logo-big{max-height:96px;width:auto}.ea-actions{display:flex;gap:12px;align-items:center;margin-top:16px;justify-content:center}.eafatura-icon{font-size:16px;line-height:1}.eafatura-icon.success{opacity:1}.eafatura-icon.disabled{opacity:.45}.ea-copy,.ea-eye{display:inline-flex;align-items:center;gap:6px}.ea-field{margin-bottom:14px}.ea-input{max-width:520px;width:100%;border-radius:10px;border:1px solid #d9dadd;padding:10px 12px;box-shadow:inset 0 1px 0 rgba(0,0,0,.02);transition:border-color .15s,box-shadow .15s}#evet:checked+label,#hayir:checked+label,.ea-btn-primary{background:#1d72e8;border-color:#1d72e8;box-shadow:0 6px 18px rgba(29,114,232,.2)}.ea-input:focus{outline:0;border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.15),inset 0 1px 0 rgba(0,0,0,.02)}.ea-input-row{display:flex;gap:8px;align-items:center;justify-content:center}.ea-help{margin-top:6px;color:#646970}.ea-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:8px;max-width:220px}.ea-switch input[type=radio]{position:absolute;opacity:0;pointer-events:none}.ea-switch label{padding:10px 12px;border:1px solid #d9dadd;border-radius:999px;cursor:pointer;transition:.18s;background:#fafafa}#evet:checked+label,#hayir:checked+label{color:#fff}.ea-btn{border-radius:10px;padding:10px 16px;line-height:1.2}.ea-btn-primary{color:#fff}.ea-btn-primary:hover{background:#1763cc;border-color:#1763cc;color:#fff}.ea-btn-ghost{background:#fff;border:1px solid #d1d5db;color:#111827}.ea-btn-ghost:hover{background:#f3f4f6;border-color:#c7cbd1}.ea-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;margin-top:10px;border:1px solid}.ea-alert-warn,.ea-inline-notice.is-warn{background:linear-gradient(180deg,#fff8e5 0,#fff3cf 100%);border-color:#f1d48a;color:#6d5a2c}.ea-inline-notice{display:flex;align-items:flex-start;gap:10px;margin-top:12px;border:1px solid;border-radius:10px;padding:10px 12px}.ea-inline-notice .ea-inline-icon{font-size:18px;line-height:1.2}.ea-inline-notice .ea-inline-body{flex:1}.ea-inline-notice .ea-inline-text{margin-top:2px;opacity:.9}.ea-inline-notice .ea-inline-close{border:none;background:0 0;font-size:20px;line-height:1;cursor:pointer;color:#334155}.ea-inline-notice.is-success{background:linear-gradient(180deg,#ecfdf5 0,#e6f8f0 100%);border-color:#a7f3d0;color:#065f46}.ea-toast{position:fixed;bottom:24px;right:24px;background:#1d2327;color:#fff;border-radius:8px;padding:10px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(8px);transition:transform .18s,opacity .18s;z-index:100000}.ea-toast.is-show{opacity:1;transform:translateY(0)}.ea-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#e8f1ff 0,#f3f7fd 100%);border:1px solid #d0e2ff}.ea-hero__title{margin:0 0 4px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;color:#1d2327}.ea-hero__desc{margin:0;color:#5e6670}.ea-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#1b4b91;border:1px solid #cfe3ff}.ea-settings-card{padding:0;overflow:hidden}.ea-settings-head{padding:16px 20px;border-bottom:1px solid #e6e7ea;background:#f8fafc}.ea-settings-brand{display:flex;align-items:center;gap:14px}.ea-settings-brand .ea-logo-big{max-height:56px;width:auto}.ea-settings-head .ea-title{margin:0;font-size:20px;color:#0f172a}.ea-settings-head .ea-kicker{margin:2px 0 0;font-size:13px;color:#64748b}.ea-settings-body{padding:20px}.eaee-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid #dcdcdc;background:#fff;text-decoration:none}.eaee-action.button,.eaee-view{align-items:center;justify-content:center;gap:6px;min-width:0;padding:6px 10px;border-radius:8px;display:inline-flex;white-space:nowrap;max-width:100%;box-sizing:border-box}.eaee-pill--ok{background:#eaffef;border-color:#b5e3c1}.eaee-action.button{justify-content:center;gap:8px;transition:background-color .2s,color .2s,transform .15s,border-color .2s;cursor:pointer}.eaee-action.button.eaee-is-loading{background:#6b7280!important;color:#fff!important;border-color:#6b7280!important;pointer-events:none;opacity:.95}.eaee-action.button.eaee-is-success{background:#16a34a!important;color:#fff!important;border-color:#15803d!important}.eaee-action.button.eaee-is-error{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important}.eaee-view{justify-content:center;gap:6px;text-decoration:none;background:#1d72e8;border:1px solid #1d72e8;color:#fff;box-shadow:0 6px 18px rgba(29,113,232,.18)}.eaee-view.is-outline{background:#fff;color:#1d72e8;border-color:#cfe3ff}.eaee-view.is-outline:hover{background:#eff6ff;color:#174ea6}.eaee-view .eaee-ico{display:inline-block;line-height:1;font-size:14px}.eaee-view .eaee-label{line-height:1;vertical-align:middle}.eaee-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;display:inline-block;animation:.8s linear infinite eaee-rot;margin-right:8px}.eaee-pop{animation:.35s eaee-pop}@keyframes eaee-pop{0%{transform:scale(.98)}50%{transform:scale(1.04)}100%{transform:scale(1)}}@keyframes eaee-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ea-card,.ea-input,.ea-switch label,.ea-toast,.eaee-action.button{transition:none!important}}@media (prefers-color-scheme:dark){.ea-hero{background:linear-gradient(180deg,#0f1720 0,#0b1220 100%);border-color:#1f2b3a}.ea-badge{background:#0e2a55;color:#d6e6ff;border-color:#214b88}.ea-title{color:#e5e7eb}}.button.button-small.eaee-view{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid #c3c4c7;background:#fff;color:#1d2327;line-height:1.2;text-decoration:none;white-space:nowrap;max-width:100%;box-sizing:border-box}.button.button-small.eaee-view:hover{background:#f0f0f1;border-color:#8c8f94;color:#1d2327}.button.button-small.eaee-view .dashicons{font-size:16px;width:16px;height:16px;line-height:16px}.button.button-small.eaee-view .eaee-label{display:inline-block;line-height:16px}.button.button-small.eaee-view:focus{outline:0;border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.25)}.eaee-view.is-wait{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;cursor:not-allowed}.eaee-view.is-wait .dashicons{color:#9ca3af}.eaee-action.is-waiting[disabled],.eaee-view.is-waiting[disabled]{opacity:1!important;cursor:default!important;background:#fff!important;color:#1d2327!important;border-color:#dcdcdc!important}.column-eaee_barcode .button.button-small,.column-eaee_invoice .button.button-small{display:inline-flex;justify-content:center;width:100%;box-sizing:border-box;margin-bottom:2px}
     1.ea-field,.ea-kicker,.ea-switch label,.ea-title{text-align:center}.eaee-label,.eaee-spinner,.eaee-view .eaee-ico{vertical-align:middle}.ea-wrap{max-width:960px}.ea-card{background:#fff;border:1px solid #e6e7ea;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.05);padding:24px;margin-top:12px;transition:none!important}.ea-title{font-size:22px;font-weight:700;margin:0 0 8px;color:#1d2327}.ea-kicker{font-size:14px;color:#5e6670;margin:0 0 18px}.ea-logo-wrap{display:flex;justify-content:center;margin:20px 0}.ea-logo-big{max-height:96px;width:auto}.ea-actions{display:flex;gap:12px;align-items:center;margin-top:16px;justify-content:center}.eafatura-icon{font-size:16px;line-height:1}.eafatura-icon.success{opacity:1}.eafatura-icon.disabled{opacity:.45}.ea-copy,.ea-eye{display:inline-flex;align-items:center;gap:6px}.ea-field{margin-bottom:14px}.ea-input{max-width:520px;width:100%;border-radius:10px;border:1px solid #d9dadd;padding:10px 12px;box-shadow:inset 0 1px 0 rgba(0,0,0,.02);transition:border-color .15s,box-shadow .15s}#evet:checked+label,#hayir:checked+label,.ea-btn-primary{background:#1d72e8;border-color:#1d72e8;box-shadow:0 6px 18px rgba(29,114,232,.2)}.ea-input:focus{outline:0;border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.15),inset 0 1px 0 rgba(0,0,0,.02)}.ea-input-row{display:flex;gap:8px;align-items:center;justify-content:center}.ea-help{margin-top:6px;color:#646970}.ea-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:8px;max-width:220px}.ea-switch input[type=radio]{position:absolute;opacity:0;pointer-events:none}.ea-switch label{padding:10px 12px;border:1px solid #d9dadd;border-radius:999px;cursor:pointer;transition:.18s;background:#fafafa}#evet:checked+label,#hayir:checked+label{color:#fff}.ea-btn{border-radius:10px;padding:10px 16px;line-height:1.2}.ea-btn-primary{color:#fff}.ea-btn-primary:hover{background:#1763cc;border-color:#1763cc;color:#fff}.ea-btn-ghost{background:#fff;border:1px solid #d1d5db;color:#111827}.ea-btn-ghost:hover{background:#f3f4f6;border-color:#c7cbd1}.ea-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;margin-top:10px;border:1px solid}.ea-alert-warn,.ea-inline-notice.is-warn{background:linear-gradient(180deg,#fff8e5 0,#fff3cf 100%);border-color:#f1d48a;color:#6d5a2c}.ea-inline-notice{display:flex;align-items:flex-start;gap:10px;margin-top:12px;border:1px solid;border-radius:10px;padding:10px 12px}.ea-inline-notice .ea-inline-icon{font-size:18px;line-height:1.2}.ea-inline-notice .ea-inline-body{flex:1}.ea-inline-notice .ea-inline-text{margin-top:2px;opacity:.9}.ea-inline-notice .ea-inline-close{border:none;background:0 0;font-size:20px;line-height:1;cursor:pointer;color:#334155}.ea-inline-notice.is-success{background:linear-gradient(180deg,#ecfdf5 0,#e6f8f0 100%);border-color:#a7f3d0;color:#065f46}.ea-toast{position:fixed;bottom:24px;right:24px;background:#1d2327;color:#fff;border-radius:8px;padding:10px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(8px);transition:transform .18s,opacity .18s;z-index:100000}.ea-toast.is-show{opacity:1;transform:translateY(0)}.ea-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#e8f1ff 0,#f3f7fd 100%);border:1px solid #d0e2ff}.ea-hero__title{margin:0 0 4px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;color:#1d2327}.ea-hero__desc{margin:0;color:#5e6670}.ea-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#1b4b91;border:1px solid #cfe3ff}.ea-settings-card{padding:0;overflow:hidden}.ea-settings-head{padding:16px 20px;border-bottom:1px solid #e6e7ea;background:#f8fafc}.ea-settings-brand{display:flex;align-items:center;gap:14px}.ea-settings-brand .ea-logo-big{max-height:56px;width:auto}.ea-settings-head .ea-title{margin:0;font-size:20px;color:#0f172a}.ea-settings-head .ea-kicker{margin:2px 0 0;font-size:13px;color:#64748b}.ea-settings-body{padding:20px}.eaee-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid #dcdcdc;background:#fff;text-decoration:none}.eaee-action.button,.eaee-view{align-items:center;justify-content:center;gap:6px;min-width:0;padding:6px 10px;border-radius:8px;display:inline-flex;white-space:nowrap;max-width:100%;box-sizing:border-box}.eaee-pill--ok{background:#eaffef;border-color:#b5e3c1}.eaee-action.button{justify-content:center;gap:8px;transition:background-color .2s,color .2s,transform .15s,border-color .2s;cursor:pointer}.eaee-action.button.eaee-is-loading{background:#6b7280!important;color:#fff!important;border-color:#6b7280!important;pointer-events:none;opacity:.95}.eaee-action.button.eaee-is-success{background:#16a34a!important;color:#fff!important;border-color:#15803d!important}.eaee-action.button.eaee-is-error{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important}.eaee-view{justify-content:center;gap:6px;text-decoration:none;background:#1d72e8;border:1px solid #1d72e8;color:#fff;box-shadow:0 6px 18px rgba(29,113,232,.18)}.eaee-view.is-outline{background:#fff;color:#1d72e8;border-color:#cfe3ff}.eaee-view.is-outline:hover{background:#eff6ff;color:#174ea6}.eaee-view .eaee-ico{display:inline-block;line-height:1;font-size:14px}.eaee-view .eaee-label{line-height:1;vertical-align:middle}.eaee-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;display:inline-block;animation:.8s linear infinite eaee-rot;margin-right:8px}.eaee-pop{animation:.35s eaee-pop}@keyframes eaee-pop{0%{transform:scale(.98)}50%{transform:scale(1.04)}100%{transform:scale(1)}}@keyframes eaee-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ea-card,.ea-input,.ea-switch label,.ea-toast,.eaee-action.button{transition:none!important}}@media (prefers-color-scheme:dark){.ea-hero{background:linear-gradient(180deg,#0f1720 0,#0b1220 100%);border-color:#1f2b3a}.ea-badge{background:#0e2a55;color:#d6e6ff;border-color:#214b88}.ea-title{color:#e5e7eb}}.button.button-small.eaee-view{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid #c3c4c7;background:#fff;color:#1d2327;line-height:1.2;text-decoration:none;white-space:nowrap;max-width:100%;box-sizing:border-box}.button.button-small.eaee-view:hover{background:#f0f0f1;border-color:#8c8f94;color:#1d2327}.button.button-small.eaee-view .dashicons{font-size:16px;width:16px;height:16px;line-height:16px}.button.button-small.eaee-view .eaee-label{display:inline-block;line-height:16px}.button.button-small.eaee-view:focus{outline:0;border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.25)}.eaee-view.is-wait{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;cursor:not-allowed}.eaee-view.is-wait .dashicons{color:#9ca3af}.eaee-action.is-waiting[disabled],.eaee-view.is-waiting[disabled]{opacity:1!important;cursor:default!important;background:#fff!important;color:#1d2327!important;border-color:#dcdcdc!important}.column-eaee_barcode .button.button-small,.column-eaee_invoice .button.button-small{display:inline-flex;justify-content:center;width:100%;box-sizing:border-box;margin-bottom:2px}.column-order_status .status-ea-shipped,.order-status.status-ea-shipped,.woocommerce-orders-table__cell-order-status .woocommerce-orders-table__status-ea-shipped{background:#7b58da!important;color:#fff!important;border-radius:3px!important;padding:3px 8px!important;font-size:12px!important;line-height:1.4!important;text-transform:uppercase!important;font-weight:400!important}.column-order_status .status-ea-shipped,.order-status.status-ea-shipped{display:inline-block!important}.column-wc_actions .view::after[title="Kargoya Verildi"]{color:#7b58da!important}
  • eafatura-e-arsiv-entegrasyon/trunk/assets/admin/js/shipping-settings-min.js

    r3370644 r3401475  
    1 jQuery(document).ready(function(e){var t;let a=e(".eaee-nav-item"),i=e("#eaee_shipping_company"),n=e(".eaee-save-shipping-settings"),o=e(".eaee-clear-settings-btn"),s=e("#eaee-save-default-shipping"),d=e("#eaee-dynamic-notice-area");function r(t){a.removeClass("is-active"),e(".eaee-conditional-group").addClass("is-hidden");let n=e(`.eaee-nav-item[data-target="${t}"]`),o=e(`#eaee-${t}-options`);n.addClass("is-active"),o.removeClass("is-hidden"),i.val(t)}s.on("click",function(){let t=e(this),a=e("#eaee_default_shipping_integration").val(),i=t.find(".button-text"),n=i.text();t.prop("disabled",!0).find(".dashicons").addClass("is-loading"),i.text("Kaydediliyor..."),d.empty(),e.post(eaee_shipping_vars.ajax_url,{action:"eaee_save_default_shipping",nonce:eaee_shipping_vars.nonce,default_integration:a}).done(function(e){e.success?d.html('<div class="notice notice-success is-dismissible"><p>'+e.data.message+"</p></div>"):d.html('<div class="notice notice-error is-dismissible"><p>'+e.data.message+"</p></div>")}).fail(function(){d.html('<div class="notice notice-error is-dismissible"><p>Sunucu hatası oluştu.</p></div>')}).always(function(){t.prop("disabled",!1).find(".dashicons").removeClass("is-loading"),i.text(n)})}),a.on("click",function(){r(e(this).data("target"))}),0===e(".eaee-nav-item.is-active").length&&e(".eaee-nav-item").first().addClass("is-active"),r(e(".eaee-nav-item.is-active").data("target")),n.on("click",function(){let t=e(this),a=t.closest("form"),i=a.data("integration-type"),n=!0;if(a.find("[required]").each(function(){e(this).val().trim()?e(this).css("border-color",""):(n=!1,e(this).css("border-color","red"))}),!n){alert("L\xfctfen t\xfcm zorunlu alanları doldurun.");return}let o=t.find(".button-text"),s=o.text();t.prop("disabled",!0).find(".dashicons").removeClass("dashicons-saved").addClass("dashicons-update-alt is-loading"),o.text("Kaydediliyor...");let d={action:"eaee_save_shipping_settings",nonce:eaee_shipping_vars.nonce,integration_type:i,data:a.serialize()};e.post(eaee_shipping_vars.ajax_url,d).done(function(e){e.success?(alert("Ayarlar başarıyla kaydedildi! Sayfa yenileniyor..."),window.location.reload()):(alert("Hata: "+e.data.message),t.prop("disabled",!1).find(".dashicons").addClass("dashicons-saved").removeClass("dashicons-update-alt is-loading"),o.text(s))}).fail(function(){alert("Sunucu hatası. L\xfctfen tekrar deneyin."),t.prop("disabled",!1).find(".dashicons").addClass("dashicons-saved").removeClass("dashicons-update-alt is-loading"),o.text(s)})}),o.on("click",function(){if(!confirm("Kaydedilmiş ayarları silmek istediğinizden emin misiniz?"))return;let t=e(this),a=t.closest("form, .eaee-conditional-group").data("integration-type");t.text("Siliniyor..."),e.post(eaee_shipping_vars.ajax_url,{action:"eaee_clear_shipping_settings",nonce:eaee_shipping_vars.nonce,integration_type:a}).done(function(e){e.success?window.location.reload():(alert("Hata: "+e.data.message),t.text("Değiştir / Temizle"))}).fail(function(){alert("Sunucu hatası. L\xfctfen tekrar deneyin."),t.text("Değiştir / Temizle")})}),(t=e('.eaee-print-button[data-action="print"]')).length&&t.off("click.eaeePrint").on("click.eaeePrint",function(e){e.preventDefault(),function e(){var t=document.getElementById("eaee-shipping-label-content");if(t){var a=t.outerHTML,i=window.open("","_blank","noopener,noreferrer,width=520,height=860");if(!i){window.print();return}i.document.open(),i.document.write("<!doctype html><html><head><meta charset='utf-8'><title>Shipping Label</title><style>@page{size:100mm 150mm;margin:0}html,body{margin:0;padding:0;background:#fff}*,*::before,*::after{box-sizing:border-box}.eaee-label-wrap{border:0!important;outline:1px solid #000!important;width:99mm!important;min-height:149mm!important;padding:9.5mm!important;page-break-after:always!important;box-shadow:none!important;border-radius:0!important;transform:none!important;max-width:100%!important;max-height:150mm!important;overflow:visible!important}.eaee-grid{gap:6mm!important}</style></head><body>"+a+"</body></html>"),i.document.close(),i.onload=function(){try{i.focus()}catch(e){}try{i.print()}catch(t){}try{i.close()}catch(a){}}}}()}),function e(){var t=document.getElementById("eaee-shipping-label-content");if(t){var a=t.getAttribute("data-barcode")||"";a&&"undefined"!=typeof JsBarcode&&JsBarcode("#eaee-barcode",a,{format:"CODE128",displayValue:!1,width:2,height:62,margin:0,flat:!0})}}()});
     1jQuery(document).ready(function(e){var a;let i=e(".eaee-nav-item"),t=e("#eaee_shipping_company"),n=e(".eaee-save-shipping-settings"),s=e(".eaee-clear-settings-btn"),o=e("#eaee-save-default-shipping"),d=e("#eaee-dynamic-notice-area");function l(a){i.removeClass("is-active"),e(".eaee-conditional-group").addClass("is-hidden");let n=e(`.eaee-nav-item[data-target="${a}"]`),s=e(`#eaee-${a}-options`);n.addClass("is-active"),s.removeClass("is-hidden"),t.val(a)}function r(){var a=e("#eaee_enable_shipped_status").is(":checked");e("#eaee_enable_shipped_email").prop("disabled",!a),e("#eaee_shipped_email_message").prop("disabled",!a),a||e("#eaee_enable_shipped_email").prop("checked",!1)}o.on("click",function(){let a=e(this),i=e("#eaee_default_shipping_integration").val(),t=a.find(".button-text"),n=t.text();a.prop("disabled",!0).find(".dashicons").addClass("is-loading"),t.text("Kaydediliyor..."),d.empty(),e.post(eaee_shipping_vars.ajax_url,{action:"eaee_save_default_shipping",nonce:eaee_shipping_vars.nonce,default_integration:i}).done(function(e){e.success?d.html('<div class="notice notice-success is-dismissible"><p>'+e.data.message+"</p></div>"):d.html('<div class="notice notice-error is-dismissible"><p>'+e.data.message+"</p></div>")}).fail(function(){d.html('<div class="notice notice-error is-dismissible"><p>Sunucu hatası oluştu.</p></div>')}).always(function(){a.prop("disabled",!1).find(".dashicons").removeClass("is-loading"),t.text(n)})}),i.on("click",function(){l(e(this).data("target"))}),0===e(".eaee-nav-item.is-active").length&&e(".eaee-nav-item").first().addClass("is-active"),l(e(".eaee-nav-item.is-active").data("target")),n.on("click",function(){let a=e(this),i=a.closest("form"),t=i.data("integration-type"),n=!0;if(i.find("[required]").each(function(){e(this).val().trim()?e(this).css("border-color",""):(n=!1,e(this).css("border-color","red"))}),!n){alert("L\xfctfen t\xfcm zorunlu alanları doldurun.");return}let s=a.find(".button-text"),o=s.text();a.prop("disabled",!0).find(".dashicons").removeClass("dashicons-saved").addClass("dashicons-update-alt is-loading"),s.text("Kaydediliyor...");let d={action:"eaee_save_shipping_settings",nonce:eaee_shipping_vars.nonce,integration_type:t,data:i.serialize()};e.post(eaee_shipping_vars.ajax_url,d).done(function(e){e.success?(alert("Ayarlar başarıyla kaydedildi! Sayfa yenileniyor..."),window.location.reload()):(alert("Hata: "+e.data.message),a.prop("disabled",!1).find(".dashicons").addClass("dashicons-saved").removeClass("dashicons-update-alt is-loading"),s.text(o))}).fail(function(){alert("Sunucu hatası. L\xfctfen tekrar deneyin."),a.prop("disabled",!1).find(".dashicons").addClass("dashicons-saved").removeClass("dashicons-update-alt is-loading"),s.text(o)})}),s.on("click",function(){if(!confirm("Kaydedilmiş ayarları silmek istediğinizden emin misiniz?"))return;let a=e(this),i=a.closest("form, .eaee-conditional-group").data("integration-type");a.text("Siliniyor..."),e.post(eaee_shipping_vars.ajax_url,{action:"eaee_clear_shipping_settings",nonce:eaee_shipping_vars.nonce,integration_type:i}).done(function(e){e.success?window.location.reload():(alert("Hata: "+e.data.message),a.text("Değiştir / Temizle"))}).fail(function(){alert("Sunucu hatası. L\xfctfen tekrar deneyin."),a.text("Değiştir / Temizle")})}),(a=e('.eaee-print-button[data-action="print"]')).length&&a.off("click.eaeePrint").on("click.eaeePrint",function(e){e.preventDefault(),function e(){var a=document.getElementById("eaee-shipping-label-content");if(a){var i=a.outerHTML,t=window.open("","_blank","noopener,noreferrer,width=520,height=860");if(!t){window.print();return}t.document.open(),t.document.write("<!doctype html><html><head><meta charset='utf-8'><title>Shipping Label</title><style>@page{size:100mm 150mm;margin:0}html,body{margin:0;padding:0;background:#fff}*,*::before,*::after{box-sizing:border-box}.eaee-label-wrap{border:0!important;outline:1px solid #000!important;width:99mm!important;min-height:149mm!important;padding:9.5mm!important;page-break-after:always!important;box-shadow:none!important;border-radius:0!important;transform:none!important;max-width:100%!important;max-height:150mm!important;overflow:visible!important}.eaee-grid{gap:6mm!important}</style></head><body>"+i+"</body></html>"),t.document.close(),t.onload=function(){try{t.focus()}catch(e){}try{t.print()}catch(a){}try{t.close()}catch(i){}}}}()}),function e(){var a=document.getElementById("eaee-shipping-label-content");if(a){var i=a.getAttribute("data-barcode")||"";i&&"undefined"!=typeof JsBarcode&&JsBarcode("#eaee-barcode",i,{format:"CODE128",displayValue:!1,width:2,height:62,margin:0,flat:!0})}}(),r(),e("#eaee_enable_shipped_status").on("change",r),e("#eaee-save-special-features").on("click",function(a){a.preventDefault();var i=e(this);i.prop("disabled",!0);var t=e("#eaee_enable_shipped_status").is(":checked")?1:0,n=e("#eaee_enable_shipped_email").is(":checked")?1:0,s=e("#eaee_shipped_email_message").val();e.post(eaee_shipping_vars.ajax_url,{action:"eaee_save_special_features",nonce:eaee_shipping_vars.nonce,eaee_enable_shipped_status:t,eaee_enable_shipped_email:n,eaee_shipped_email_message:s}).done(function(e){e&&e.success?alert("Ayarlar kaydedildi."):alert("Kaydederken bir hata oluştu.")}).fail(function(){alert("Sunucu hatası oluştu.")}).always(function(){i.prop("disabled",!1)})})});
  • eafatura-e-arsiv-entegrasyon/trunk/eafatura-e-arsiv-entegrasyon.php

    r3401085 r3401475  
    55 * Plugin URI:  https://www.eafatura.com/
    66 * Description: Eafatura.com müşterileri için WooCommerce e-Arşiv Fatura, TY E-Faturam ve Kargo Barkod entegrasyonu.
    7  * Version:     2.1.4
     7 * Version:     2.1.5
    88 * Author:      Mersev Bilişim Yazılım Ltd. Şti.
    99 * Author URI:  https://www.mersev.com.tr/
     
    1616
    1717if (!defined('ABSPATH')) exit;
     18
    1819define('EAEE_FILE', __FILE__);
    1920define('EAEE_PATH', plugin_dir_path(__FILE__));
    2021define('EAEE_URL',  plugin_dir_url(__FILE__));
    21 define('EAEE_VER',  '2.1.4');
     22define('EAEE_VER',  '2.1.5'); // Versiyonu güncelledim
     23
    2224require_once EAEE_PATH . 'includes/helpers.php';
    2325
     
    3941 */
    4042register_activation_hook(__FILE__, function () {
    41     // Daha önce kuruluysa hiçbir şey yapma
    4243    if (get_option('eaee_plugin_version')) {
    4344        return;
    4445    }
    45 
    46     eaee_create_logs_table(); // helper'dan çağır
    47 
    48     add_option('eaee_do_onboarding_redirect', 1); // sadece ilk kurulum
     46    eaee_create_logs_table();
     47    add_option('eaee_do_onboarding_redirect', 1);
    4948    update_option('eaee_plugin_version', EAEE_VER);
    5049});
     
    8079
    8180
    82 
    8381/**
    8482 * ------------------------------------------------------------
    85  * Admin sipariş listesi kolonları + bulk aksiyonlar (sınıf mevcutsa)
     83 * (Plugins Loader)
    8684 * ------------------------------------------------------------
    8785 */
    8886add_action('plugins_loaded', function () {
    8987
     88    // 1. Admin Menü
    9089    if (class_exists('\\EAEE\\Admin\\Menu')) {
    9190        \EAEE\Admin\Menu::init();
    9291    }
    9392
    94     // Sipariş listesi + bulk actions
     93    // 2. Sipariş Durumu (ShippingStatus)
     94    if (class_exists('\\EAEE\\Woo\\ShippingStatus') && get_option('eaee_enable_shipped_status', 0)) {
     95        \EAEE\Woo\ShippingStatus::init();
     96    }
     97
     98    // ---------------------------------------------------------
     99    // 3. E-Posta Sınıfı
     100    // ---------------------------------------------------------
     101    add_filter('woocommerce_email_classes', function ($emails) {
     102        if (class_exists('\\EAEE\\Woo\\Email\\ShippingSent') && get_option('eaee_enable_shipped_email', 0)) {
     103            $emails['wc_ea_shipped'] = new \EAEE\Woo\Email\ShippingSent();
     104        }
     105        return $emails;
     106    });
     107    if (get_option('eaee_enable_shipped_email', 0)) {
     108        add_filter('woocommerce_email_actions', function ($actions) {
     109            $actions[] = 'woocommerce_order_status_ea-shipped';
     110            return $actions;
     111        });
     112    }
     113
     114    add_filter('woocommerce_locate_template', function ($template, $template_name, $template_path) {
     115        $plugin_templates = [
     116            'emails/customer-shipped-order.php' => EAEE_PATH . 'templates/emails/customer-shipped-order.php',
     117            'emails/plain/customer-shipped-order.php' => EAEE_PATH . 'templates/emails/plain/customer-shipped-order.php',
     118        ];
     119
     120        if (isset($plugin_templates[$template_name]) && file_exists($plugin_templates[$template_name])) {
     121            return $plugin_templates[$template_name];
     122        }
     123
     124        return $template;
     125    }, 20, 3);
     126    // ---------------------------------------------------------
     127
     128    // 4. Sipariş Listesi ve Bulk Actions
    95129    if (class_exists('\\EAEE\\Admin\\OrdersList')) {
    96130        \EAEE\Admin\OrdersList::register();
    97131    }
    98     if (class_exists('\\EAEE\\Admin\\OrdersList')) {
     132
     133    // 5. Shortcode
     134    if (class_exists('\\EAEE\\Frontend\\TrackingShortcode')) {
    99135        \EAEE\Frontend\TrackingShortcode::register();
    100136    }
    101     /*
    102    // Talep Durumuna Göre Açılabilir
    103     if (class_exists('\\EAEE\\Admin\\BulkActions')) {
    104         \EAEE\Admin\BulkActions::register();
    105     }
    106         */
    107137
    108     // Opsiyonel boot
     138    // 6. App Boot
    109139    if (class_exists('\\EAEE\\App') && method_exists('\\EAEE\\App', 'boot')) {
    110140        \EAEE\App::boot();
    111141    }
     142
    112143    require_once EAEE_PATH . 'includes/helpers.php';
    113144}, 0);
    114145
     146
    115147/**
    116148 * ------------------------------------------------------------
    117  * Tek Seferlik Migration (sürüm tabanlı)
     149 * Migration / Update / Deactivation
    118150 * ------------------------------------------------------------
    119151 */
    120 
    121 // Mevcut sürüm sabiti: EAEE_VER
    122152add_action('plugins_loaded', 'eaee_maybe_run_upgrade', 1);
    123153
     
    125155{
    126156    $stored_version = get_option('eaee_plugin_version');
    127 
    128     // İlk kurulum: sadece versiyonu yaz, temizlik yapma
    129157    if (!$stored_version) {
    130158        update_option('eaee_plugin_version', EAEE_VER);
    131159        return;
    132160    }
    133 
    134     // Güncelleme: eski < yeni ise migration çalıştır
    135161    if (version_compare($stored_version, EAEE_VER, '<')) {
    136162        eaee_run_migration_once_per_version(EAEE_VER);
     
    140166}
    141167
    142 /**
    143  * Her sürümde 1 kez çalışacak migration.
    144  */
    145168function eaee_run_migration_once_per_version($version)
    146169{
    147170    $flag_key = 'eaee_cleanup_done_' . $version;
    148 
    149     // Bu sürüm için daha önce çalıştıysa tekrar çalıştırma
    150     if (get_option($flag_key)) {
    151         return;
    152     }
    153 
    154     // ---------------- /TEMİZLİK / RESET ALANI ----------------
     171    if (get_option($flag_key)) return;
    155172    add_option($flag_key, 1);
    156173}
    157 /**
    158  * ------------------------------------------------------------
    159  * Deaktivasyon İşlemleri (plugin devre dışı bırakıldığında)
    160  * ------------------------------------------------------------
    161  */
     174
    162175register_deactivation_hook(__FILE__, 'eaee_on_plugin_deactivate');
    163176
    164177function eaee_on_plugin_deactivate()
    165178{
    166     // Lisans bilgisini kaldır
    167179    delete_option('eaee_license_id');
    168 
    169     // Transient cache'i temizle
    170180    delete_transient('eaee_customer_data_cache');
    171181    delete_site_transient('eaee_customer_data_cache');
    172 
    173182    delete_option('_transient_eaee_customer_data_cache');
    174183    delete_option('_site_transient_eaee_customer_data_cache');
     184    delete_option('eaee_enable_shipped_status');
     185    delete_option('eaee_enable_shipped_email');
     186    delete_option('eaee_shipped_email_message');
    175187}
    176188
    177189add_action('admin_notices', function () {
    178     if (! current_user_can('manage_options')) {
    179         return;
    180     }
    181     if (! get_option('eaee_after_update_notice')) {
    182         return;
    183     }
    184     echo '<div class="notice notice-success is-dismissible"><p>Eafatura eklentisi başarıyla güncellendi. Ayarlarınız korunmuştur.</p></div>';
     190    if (! current_user_can('manage_options')) return;
     191    if (! get_option('eaee_after_update_notice')) return;
     192
     193    echo '<div class="notice notice-success is-dismissible"><p>Eafatura eklentisi güncellendi.</p></div>';
    185194    delete_option('eaee_after_update_notice');
    186195});
  • eafatura-e-arsiv-entegrasyon/trunk/includes/Admin/Assets.php

    r3401085 r3401475  
    2121        add_action('wp_ajax_eaee_clear_shipping_settings', [self::class, 'clear_shipping_settings_callback']);
    2222        add_action('eaee_log_tracker_assets', [self::class, 'logTrackerAssets']);
     23        add_action('wp_ajax_eaee_save_special_features', [self::class, 'eaee_save_special_features_ajax']);
    2324
    2425
     
    3738        add_action('wp_ajax_eaee_disconnect_gib', [self::class, 'disconnect_gib_callback']);
    3839    }
    39 
    40    public static function save_default_shipping_callback()
    41 {
    42     check_ajax_referer('eaee_shipping_nonce', 'nonce');
    43 
    44     if (!current_user_can('manage_woocommerce')) {
    45         wp_send_json_error(['message' => 'Yetkisiz işlem.'], 403);
    46     }
    47 
    48     $default_integration = sanitize_key($_POST['default_integration'] ?? '');
    49 
    50     if ($default_integration === '') {
    51         wp_send_json_error(['message' => 'Geçerli bir kargo profili seçilmedi.']);
    52     }
    53 
    54     // Eafatura API'ye varsayılan firmayı bildir
    55     $apiRes = \EAEE\Services\EafaturaApi::update_default_company($default_integration);
    56 
    57     if (!is_array($apiRes) || empty($apiRes['ok'])) {
    58         wp_send_json_error([
    59             'message' => $apiRes['error'] ?? 'Eafatura sunucusuna varsayılan kargo bilgisi iletilirken hata oluştu.'
    60         ]);
    61     }
    62 
    63     // *** ÖNEMLİ: Şablonda okuduğun option'a yaz ***
    64     update_option('eaee_default_shipping_integration', $default_integration);
    65 
    66     // Eğer başka yerde halen eaee_shipping_company kullanıyorsan, istersen senkron tut:
    67     update_option('eaee_shipping_company', $default_integration);
    68 
    69     wp_send_json_success(['message' => 'Varsayılan kargo entegrasyonu başarıyla güncellendi.']);
    70 }
     40    public static function eaee_save_special_features_ajax()
     41    {
     42        if (! current_user_can('manage_woocommerce')) {
     43            wp_send_json_error(['message' => 'Yetkisiz erişim']);
     44        }
     45
     46        check_ajax_referer('eaee_shipping_nonce', 'nonce');
     47
     48        // Boolean/int ayarlar için güvenli cast
     49        $enable_status = isset($_POST['eaee_enable_shipped_status'])
     50            ? (int) sanitize_text_field(wp_unslash($_POST['eaee_enable_shipped_status']))
     51            : 0;
     52        if (isset($_POST['eaee_enable_shipped_status'])) {
     53            EafaturaApi::set_statuses($enable_status);
     54        }
     55
     56        $enable_email = isset($_POST['eaee_enable_shipped_email'])
     57            ? (int) sanitize_text_field(wp_unslash($_POST['eaee_enable_shipped_email']))
     58            : 0;
     59
     60        // Çok satırlı metin için güvenli sanitizasyon
     61        $message = isset($_POST['eaee_shipped_email_message'])
     62            ? sanitize_textarea_field(wp_unslash($_POST['eaee_shipped_email_message']))
     63            : '';
     64
     65        update_option('eaee_enable_shipped_status', $enable_status ? 1 : 0);
     66        update_option('eaee_enable_shipped_email',  $enable_email ? 1 : 0);
     67        update_option('eaee_shipped_email_message', $message);
     68
     69        wp_send_json_success();
     70    }
     71    public static function save_default_shipping_callback()
     72    {
     73        check_ajax_referer('eaee_shipping_nonce', 'nonce');
     74
     75        if (!current_user_can('manage_woocommerce')) {
     76            wp_send_json_error(['message' => 'Yetkisiz işlem.'], 403);
     77        }
     78
     79        $default_integration = sanitize_key($_POST['default_integration'] ?? '');
     80
     81        if ($default_integration === '') {
     82            wp_send_json_error(['message' => 'Geçerli bir kargo profili seçilmedi.']);
     83        }
     84
     85        // Eafatura API'ye varsayılan firmayı bildir
     86        $apiRes = \EAEE\Services\EafaturaApi::update_default_company($default_integration);
     87
     88        if (!is_array($apiRes) || empty($apiRes['ok'])) {
     89            wp_send_json_error([
     90                'message' => $apiRes['error'] ?? 'Eafatura sunucusuna varsayılan kargo bilgisi iletilirken hata oluştu.'
     91            ]);
     92        }
     93
     94        // *** ÖNEMLİ: Şablonda okuduğun option'a yaz ***
     95        update_option('eaee_default_shipping_integration', $default_integration);
     96
     97        // Eğer başka yerde halen eaee_shipping_company kullanıyorsan, istersen senkron tut:
     98        update_option('eaee_shipping_company', $default_integration);
     99
     100        wp_send_json_success(['message' => 'Varsayılan kargo entegrasyonu başarıyla güncellendi.']);
     101    }
    71102
    72103    public static function disconnect_gib_callback()
  • eafatura-e-arsiv-entegrasyon/trunk/includes/Services/EafaturaApi.php

    r3401085 r3401475  
    3232    {
    3333        $url = self::BASE . '/secure-logout';
     34
     35        $headers = [
     36            'X-License-Id' => Options::getLicenseId(),
     37            'Site-URL'     => get_site_url(),
     38            'X-Uuid'       => get_option('eafatura_uuid'),
     39            'Content-Type' => 'application/json',
     40        ];
     41
     42        return Http::get($url, $headers);
     43    }
     44
     45    public static function set_statuses(int $enable_status)
     46    {
     47        $url = self::BASE . '/get-woo-statuses?status=' . $enable_status;
    3448
    3549        $headers = [
     
    5064    public static function getMarketplaceComments(string $marketplace, string $marketplace_product_id, string $woocommerce_product_id): array|WP_Error
    5165    {
    52         $url = self::BASE . '/get-marketplace-comments'; // Bu endpoint Eafatura backend'inizde olmalı
     66        $url = self::BASE . '/get-marketplace-comments';
    5367
    5468        $headers = [
     
    203217            'shipping_lines'  => $shipping_lines,
    204218
    205             // İstediğin alanlar:
    206219            'discount_total'  => (float) $order->get_discount_total(),      // Kupon indirimlerinin vergisiz toplamı
    207220            'discount_tax'    => (float) $order->get_discount_tax(),        // İndirimlere ait vergi
     
    218231    }
    219232
    220     /** stdClass vs string hatalarını tek yerde çözer -> helpers.php dosyasına taşınabilir */
    221233    public static function strMsg($val): string
    222234    {
  • eafatura-e-arsiv-entegrasyon/trunk/includes/helpers.php

    r3370644 r3401475  
    317317            '_transient_eaee_customer_data_cache',
    318318            '_site_transient_eaee_customer_data_cache',
     319            'eaee_enable_shipped_status',
     320            'eaee_enable_shipped_email',
     321            'eaee_shipped_email_message'
    319322        );
    320323        foreach ($legacy_options as $opt) {
  • eafatura-e-arsiv-entegrasyon/trunk/readme.txt

    r3401085 r3401475  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 2.1.4
     7Stable tag: 2.1.5
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    78786. Örnek bir kargo etiketi önizemesi
    79797. Hata izleme ekranı, servis ve sistem hatalarını görüntüleme ve anında Eafatura'ya gönderme.
     808. Kargo takip ekranınızı oluşturun.
    80818. [Eafatura'da WooCommerce Kolay Kurulum Sihirbazı Nasıl Kullanır Video Kılavuzu](https://www.youtube.com/watch?v=5hbUEaSklJw)
    8182
     
    122123== Changelog ==
    123124Sürüm Geçmişi:
     1252.1.5 - Kargoya Verildi durumu eklendi. Eafatura API Servisinin, bu duruma getirdiği siparişler için gönderimi isteğinize bağlı, kargo takip bilgileri içeren Kargoya Verildi E-Posta gönderimi eklendi.
    1241262.1.4 - Sipariş listesine kargo takip butonu eklendi. Ayrıca kendi kargo gönderi takip ekranınızı tasarlayabilmeniz için shortcode özelliği eklendi.
    1251272.1.3 - Sipariş listesindeki eylem butonlarının bazı müşterilerde çalışmama sorunu düzeltildi. Barkod yazdırma ekranında geliştirmeler yapıldı.
  • eafatura-e-arsiv-entegrasyon/trunk/templates/shipping-settings.php

    r3401085 r3401475  
    55 */
    66if (!defined('ABSPATH')) exit;
    7 
    87// Mevcut kayıtlı entegrasyonları ve varsayılanı çek
    98$saved_integrations = [
    10     'yurtici_normal'     => get_option('eaee_yurtici_normal_saved'),
     9    'yurtici_normal' => get_option('eaee_yurtici_normal_saved'),
    1110    'yurtici_tahsilatli' => get_option('eaee_yurtici_tahsilatli_saved'),
    12     'mng_normal'         => get_option('eaee_mng_normal_saved'),
    13     'aras_normal'        => get_option('eaee_aras_normal_saved'),
    14     'aras_tahsilatli'    => get_option('eaee_aras_tahsilatli_saved'),
     11    'mng_normal' => get_option('eaee_mng_normal_saved'),
     12    'aras_normal' => get_option('eaee_aras_normal_saved'),
     13    'aras_tahsilatli' => get_option('eaee_aras_tahsilatli_saved'),
    1514];
    1615$default_integration = get_option('eaee_default_shipping_integration');
    17 
    1816// Select menüsü için okunabilir isimler
    1917$integration_labels = [
    20     'yurtici_normal'     => 'Yurtiçi Kargo - Gönderici Ödemeli',
     18    'yurtici_normal' => 'Yurtiçi Kargo - Gönderici Ödemeli',
    2119    'yurtici_tahsilatli' => 'Yurtiçi Kargo - Tahsilatlı',
    22     'mng_normal'         => 'MNG Kargo',
    23     'aras_normal'        => 'Aras Kargo - Gönderici Ödemeli',
    24     'aras_tahsilatli'    => 'Aras Kargo - Tahsilatlı',
     20    'mng_normal' => 'MNG Kargo',
     21    'aras_normal' => 'Aras Kargo - Gönderici Ödemeli',
     22    'aras_tahsilatli' => 'Aras Kargo - Tahsilatlı',
    2523];
    2624$yc_normal_saved = get_option('eaee_yurtici_normal_saved');
     
    3028$mng_normal_saved = get_option('eaee_mng_normal_saved');
    3129$already_inserted_text = esc_html__('Bu gönderim tipi için bilgileriniz Eafatura sisteminde şifrelenerek kaydedildi. Güvenliğiniz sebebiyle ayrıca gösterilmiyor.', 'eafatura-e-arsiv-entegrasyon');
     30$shipped_email_message = get_option('eaee_shipped_email_message', 'Siparişiniz kargoya verildi! Detayları aşağıda görüntüleyebilirsiniz.');
     31$shipped_status_enabled = (int) get_option('eaee_enable_shipped_status', 0);
     32$shipped_email_enabled  = (int) get_option('eaee_enable_shipped_email', 0);
    3233?>
    3334<div class="wrap eaee-premium-ui">
     
    3839        </div>
    3940    </div>
    40 
    41    
    42 
    4341    <div id="eaee-shipping-settings-app" class="eaee-shipping-layout">
    44 
    4542        <div class="eaee-shipping-nav">
    4643            <button type="button" class="eaee-nav-item is-active" data-target="yurtici">
     
    5855            <button type="button" class="eaee-nav-item" data-target="tracking">
    5956                <span class="dashicons dashicons-location-alt"></span>
    60                 <span>Kargo Takip Ekranı</span>
     57                <span>Kargo Genel Ayarlar</span>
    6158            </button>
    6259        </div>
    63 
    6460        <div class="eaee-shipping-content">
    65   <div class="eaee-card" id="eaee-default-shipping-card">
     61            <div class="eaee-card" id="eaee-default-shipping-card">
    6662                <div class="eaee-card-header">
    6763                    <h2><?php esc_html_e('Varsayılan Kargo Entegrasyonu', 'eafatura-e-arsiv-entegrasyon'); ?></h2>
     
    137133                    </div>
    138134                </form>
    139 
    140135                <form class="eaee-shipping-form" data-integration-type="yurtici_tahsilatli">
    141136                    <div class="eaee-card">
     
    179174                </form>
    180175            </div>
    181 
    182176            <div id="eaee-mng-options" class="eaee-conditional-group is-hidden">
    183177                <form class="eaee-shipping-form" data-integration-type="mng_normal">
     
    222216                </form>
    223217            </div>
    224 
    225 
    226 
    227 
    228 
    229218            <div id="eaee-aras-options" class="eaee-conditional-group">
    230219                <form class="eaee-shipping-form" data-integration-type="aras_normal">
     
    268257                    </div>
    269258                </form>
    270 
    271259                <form class="eaee-shipping-form" data-integration-type="aras_tahsilatli">
    272260                    <div class="eaee-card">
     
    310298                </form>
    311299            </div>
    312 
    313300            <div id="eaee-tracking-options" class="eaee-conditional-group is-hidden">
    314301                <div class="eaee-card">
     
    329316                    </div>
    330317                </div>
     318                <div class="eaee-card">
     319                    <div class="eaee-card-header">
     320                        <h2><?php esc_html_e('Özel Kargo Özellikleri', 'eafatura-e-arsiv-entegrasyon'); ?></h2>
     321                    </div>
     322                    <div class="eaee-card-body">
     323                        <form id="eaee-special-features-form">
     324                            <div class="eaee-form-row">
     325                                <label class="eaee-form-label">
     326                                    <h3><?php esc_html_e('Kargoya Verildi Sipariş Durumu', 'eafatura-e-arsiv-entegrasyon'); ?></h3>
     327                                    <p><?php esc_html_e('Sipariş detaylarında dropdown ve toplu işlemlere "Kargoya Verildi" durumunu ekler.', 'eafatura-e-arsiv-entegrasyon'); ?></p>
     328                                </label>
     329                                <div class="eaee-form-field">
     330                                    <input type="checkbox" name="eaee_enable_shipped_status" id="eaee_enable_shipped_status" <?php checked(get_option('eaee_enable_shipped_status', 0), 1); ?>>
     331                                    <label for="eaee_enable_shipped_status"><?php esc_html_e('Etkinleştir', 'eafatura-e-arsiv-entegrasyon'); ?></label>
     332                                </div>
     333                            </div>
     334                            <div class="eaee-form-row">
     335                                <label class="eaee-form-label">
     336                                    <h3><?php esc_html_e('Kargoya Verildi E-Postası', 'eafatura-e-arsiv-entegrasyon'); ?></h3>
     337                                    <p><?php esc_html_e('Sipariş "Kargoya Verildi" durumuna geçtiğinde müşteriye otomatik e-posta gönderir.', 'eafatura-e-arsiv-entegrasyon'); ?></p>
     338                                </label>
     339                                <div class="eaee-form-field">
     340                                    <input
     341                                        type="checkbox"
     342                                        name="eaee_enable_shipped_email"
     343                                        id="eaee_enable_shipped_email"
     344                                        <?php checked($shipped_email_enabled, 1); ?>
     345                                        <?php disabled(!$shipped_status_enabled); ?>>
     346                                    <label for="eaee_enable_shipped_email"><?php esc_html_e('Etkinleştir', 'eafatura-e-arsiv-entegrasyon'); ?></label>
     347                                </div>
     348                            </div>
     349                            <div class="eaee-form-row">
     350                                <label class="eaee-form-label">
     351                                    <h3><?php esc_html_e('Kargoya Verildi E-Posta Mesajı', 'eafatura-e-arsiv-entegrasyon'); ?></h3>
     352                                    <p><?php esc_html_e('E-posta içeriğindeki mesajı özelleştirin. Örnek: Siparişiniz yola çıktı! Detaylar aşağıda.', 'eafatura-e-arsiv-entegrasyon'); ?></p>
     353                                </label>
     354                                <div class="eaee-form-field">
     355                                    <textarea
     356                                        name="eaee_shipped_email_message"
     357                                        id="eaee_shipped_email_message"
     358                                        class="eaee-input"
     359                                        rows="3"
     360                                        <?php disabled(!$shipped_status_enabled); ?>><?php echo esc_textarea($shipped_email_message); ?></textarea>
     361                                </div>
     362                            </div>
     363                        </form>
     364                    </div>
     365                    <div class="eaee-card-footer">
     366                        <button type="button" class="button button-primary eaee-btn" id="eaee-save-special-features">
     367                            <span class="dashicons dashicons-saved"></span>
     368                            <span class="button-text"><?php esc_html_e('Özellikleri Kaydet', 'eafatura-e-arsiv-entegrasyon'); ?></span>
     369                        </button>
     370                    </div>
     371                </div>
    331372            </div>
    332373        </div>
    333374    </div>
     375
    334376</div>
  • eafatura-e-arsiv-entegrasyon/trunk/uninstall.php

    r3370644 r3401475  
    5353        'eaee_mng_tahsilatli_saved',
    5454        'eaee_aras_normal_saved',
    55         'eaee_aras_tahsilatli_saved'
     55        'eaee_aras_tahsilatli_saved',
     56        'eaee_enable_shipped_status',
     57    'eaee_enable_shipped_email',
     58    'eaee_shipped_email_message'
    5659    ];
    5760
Note: See TracChangeset for help on using the changeset viewer.