Imagick Vector (Pdf, Svg) to Jpg


Find best resulation and apply for all vector image.
$imagick = new Imagick();
$imagick->setResolution(100,100);
$imagick->readimage("image.svg[0]"); //or "image.pdf[0]"
/* Apply Best Resolution */
$geo=$imagick->getImageGeometry();
$geo_height = intval($geo['height']);
$geo_width = intval($geo['width']);
if ($geo_width > 800 || $geo_height > 800) {
    //do not do anything if one of them is larger than 800px
}
else {
    if ($geo_width > $geo_height) {
        $r = round(800 / $geo_width) * 150;
    }
    else {
        $r = round(800 / $geo_height) * 150;
    }
    //readimage with new resolution
    $imagick->setResolution($r,$r);
    $imagick->readimage("image.svg[0]");
}
/* Apply Best Resolution End */

Paylaşım Linkleri Oluşturma (Share Links)

Create Share Links

Twitter
http://twitter.com/share?text=TITLE&url=URL

Facebook
http://www.facebook.com/sharer.php?u=URL

Pinterest
http://pinterest.com/pin/create/button/?url=URL&description=TITLE

LinkedIn
https://www.linkedin.com/shareArticle?mini=true&url=URL&title=TITLE

Kaynak

Numaralarına Göre Kredi Kartı Tipleri (Types of Credit Cards)

Types of Credit Cards

Issuing network
IIN ranges
Active
Length
Validation
American Express34, 37[5]Yes15[6]Luhn algorithm
Bankcard[7]5610, 560221–560225No16
China T-Union31[8][9]Yes19
China UnionPay62[10], 81Yes16–19[11]
Diners Club enRoute2014, 2149No15no validation
Diners Club International[12]36Yes14–19[11]Luhn algorithm
300–305, 3095, 38–39Yes16–19[11]
Diners Club United States & Canada[13]54, 55 (MasterCard co-branded)Yes16
Discover Card6011, 622126 - 622925, 624000 - 626999, 628200 - 628899,[14] 64, 65Yes16–19[11]
RuPay60, 6521, 6522Yes16
InterPayment636Yes16–19
InstaPayment637-639Yes16
JCB3528–3589Yes16–19[11]
Laser6304, 6706, 6771, 6709No16–19
Maestro UK6759, 676770, 676774[15]Yes12–19
Maestro50, 56–69[15]Yes12–19
Dankort5019Yes16
4571 (Visa co-branded)[16]Yes16
MIR2200–2204Yes16
NPS Pridnestrovie6054740-6054744Yes16
Mastercard2221-2720[17]Yes 2017[18]16
51–55Yes16
Solo6334, 6767No16, 18, 19
Switch4903, 4905, 4911, 4936, 564182, 633110, 6333, 6759No16, 18, 19
Troy979200–979289Yes16
Visa4 (including related/partner brands: Dankort, Electron, etc.)Yes16
UATP1Yes15
Verve506099–506198, 650002–650027Yes16, 19
LankaPay357111Yes16

American Express

Valid length: 15 digits. First digit must be a 3 and second digit must be a 4 or 7. 

Diners Club and Carte Blanche

Valid length: 14 digits. 
First digit must be 3 and second digit must be 0, 6, 8 or 9. The ranges are:
300000 through 305999
309500 through 309599
360000 through 369999
380000 through 399999

Discover

Valid length: 16 digits.
First 6 digits must be in one of the following ranges:
601100 through 601109
601120 through 601149
601174
601177 through 601179
601186 through 601199
644000 through 659999

enRoute

Valid length: 15 digits. First four digits must be 2014 or 2149.

JCB

Valid length: 16 to 19 digits.
First 4 digits must be in the range 3528 through 3589. 

MasterCard

Valid length: 16 digits.
First digit must be 5 and second digit must be in the range 1 through 5 inclusive. The range is 510000 through 559999.
First digit must be 2 and second digit must be in the range 2 through 7 inclusive. The range is 222100 through 272099.

Maestro

Valid length: Up to 19 digits.
First digit must be 5 or 6. The ranges are:
50nnnn
56nnnn through 64nnnn
66nnnn through 69nnnn
Note: The range 60nnnn to 64nnnn is also used by Discover (see above). 

Visa

Valid length: Up to 19 digits. First digit must be a 4. 


Test Card Numbers
Types
5890040000000016      
Master Card (Debit)
5526080000000006
Master Card (Credit)
4766620000000001
Visa (Debit)
4603450000000000
Visa (Credit)
4987490000000002
Visa (Debit)
5311570000000005
Master Card (Credit)
9792020000000001
Troy (Debit)
9792030000000000
Troy (Credit)
5170410000000004
Master Card (Debit)
5400360000000003
Master Card (Credit)
374427000000003
American Express
4475050000000003
Visa (Debit)
5528790000000008
Master Card (Credit)
4059030000000009
Visa (Debit)
5504720000000003
Master Card (Credit)
5892830000000000
Master Card (Debit)
4543590000000006
Visa (Credit)
4910050000000006
Visa (Debit)
4157920000000002
Visa (Credit)
5168880000000002
Master Card (Debit)
5451030000000000
Master Card (Credit)

Source 1Source 2Source 3

VueJs Remove Spaces From Input Value


VueJs Remove Spaces From Input Value

Delete all spaces from input value:

<input type="text" name="card_number" v-model="foo">
<input type="hidden" name="bar" :value="foo.replace(/\s/g, '')">

VueJs Input Uppercase


VueJs Input Uppercase

VueJs Model method:
<input type="text" v-model="name" @input="name=name.toUpperCase()">

Pure JS method:
<input type="text" v-model="name" onkeyup="this.value=this.value.toUpperCase();">

VueJs Model method (with Turkish language function):
<input type="text" v-model="name" @input="name=name.turkishToUpper()">

<script>
/*TR UpperCase()*/
String.prototype.turkishToUpper = function(){
  var string = this;
  var letters = { "i": "İ", "ş": "Ş", "ğ": "Ğ", "ü": "Ü", "ö": "Ö", "ç": "Ç", "ı": "I" };
  string = string.replace(/(([iışğüçö]))/g, function(letter){ return letters[letter]; })
  return string.toUpperCase();
}
/*TR UpperCase*/
<script>

reveal.js Maximum call stack size exceeded error

Maximum call stack size exceeded error

I added width and height value in settings. And I get some error:

reveal.js:1980 Uncaught RangeError: Maximum call stack size exceeded.
    at dispatchEvent (reveal.js:1980)
    at layout (reveal.js:2296)
    at onWindowResize (reveal.js:5527)
    at dispatchEvent (reveal.js:1980)
    at layout (reveal.js:2296)
    at onWindowResize (reveal.js:5527)
    at dispatchEvent (reveal.js:1980)
    at layout (reveal.js:2296)
    at onWindowResize (reveal.js:5527)
    at dispatchEvent (reveal.js:1980)

In order to fix it, go to line 2295 in reveal.js file. And replace if condition like this:

if( oldScale !== scale && typeof event == 'undefined' ) {
    dispatchEvent( 'resize', {
        'oldScale': oldScale,
        'scale': scale,
        'size': size
    } );
}

CSS Üç Nokta


CSS ile cümle sonuna üç nokta ... ile sınırlandırmak istiyorsanız aşağıdaki CSS kodunu ilgili elemana uygulayın.

.ucnokta {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

Opencart Different Session ID Error in Multi Stores


Opencart Different Session ID Error in Multi Stores | Opencart Çoklu Mağazalar Arası Farklı Oturum Hatası

Durum: 

store1.example.com ---> birinci mağazanıza ait sub domain
store2.example.com ---> ikinci mağazanıza ait sub domain
Her iki mağaza da aynı alışveriş sepetini kullanıyor ve ödemesi tek bir checkout sayfasından yapılıyor olsun.

Hata: 

Menü üzerinden bir mağazadan diğer mağazaya geçtiğinizde sepete ekledikleriniz görünmüyor! Yani store1'de sepete elma ekledim fakat store2'ye gidince sepet boş görünüyor.

Çözüm: 

1) Öncelikle admin panelden her ürün için şu kontrolü yapın; admin>katalog>(ilgili ürün)>düzenle>bağlantılar bölümüne gelin, mağazalar kısmında store1 ve store2'yi seçili hale getirin ve Kaydedin. Böylece ürün her iki mağazada tanımlı hale gelmiş oldu.

2) 1. aşamayı yaptığınız halde sorun devam ediyorsa sorun sistemin her iki mağaza için ziyaretçiye farklı sesssion id vermesi olabilir. Böylece aslında sepete ekleyen aynı kişi olsa bile farklı kişilermiş gibi algılanmış olur. Tabiki burada tarayıcının gizli sekme özelliğini kullanmamanız gerektiğini unutmayın. Bu duruma emin olmak için header.php sonuna var_dump($this->session->session_id); komutunu uygulayıp her iki mağazada test edebilirsiniz.
Gelelim çözüme:
system/library/session.php dosyasını açın. İlgili satırı bulun ve değiştirin.
Bul:
session_set_cookie_params(0, '/');

Değiştir:
session_set_cookie_params(0, '/', '.example.com');

admin panelden modifikasyonlar>refresh yaptıktan sonra tarayıcının tarama verilerini temizleyip tekrar sepet işlemlerini deneyin. Bu sefer mağazalar arası geçişte sepetiniz aynı şekilde kalıyor olması gerekir. Ben aynı sorunu yaşıyordum ve bu yöntemle sorunu çözdüm. Fakat sizde olmuyor ise farklı bir sorun var demektir ve bunu yorumlara yazmanızı rica ederim.

Best Jquery Range Sliders

En İyi Jquery Aralık Seçiciler - Best Jquery Range Sliders

Bana göre en kullanılışlı jquery slider örneklerini listelemeye çalıştım.
Güncel: 18 Eylül 2019

1. Ion.RangeSlider
http://ionden.com/a/plugins/ion.rangeSlider/

2. Slider Pips
https://simeydotme.github.io/jQuery-ui-Slider-Pips/

3. Slider for Bootstrap
https://seiyria.com/bootstrap-slider/

4. jQuery rangeRover
https://www.jqueryscript.net/form/Dynamic-Range-Slider-Plugin-jQuery-rangeRover.html

UTF-8 Error in Opencart

Warning: htmlentities(): charset `UTF-8;' not supported, assuming utf-8

SORUN:
Opencart admin panel ve mağaza sayfalarınızda aşağıdaki UTF-8 hatasını alıyorum:
Warning: htmlentities(): charset `UTF-8;' not supported, assuming utf-8 in

ÇÖZÜM:
php.ini dosyasını açın (Cpanel MultiPHP INI Düzenleyici üzerinden de yapabilirsiniz) ve UTF-8 olan satırın başına ; ekleyerek kaydedin. Böylece bu özelliği devre dışı bırakmış olacaksınız.
Önce:

Sonra:

jquery document ready | $(document).ready()


jquery document ready | $(document).ready()

Sayfa tamamen yüklendikten sonra çalışmasını istediğiniz jquery kodları için aşağıdaki kodlardan istediğinizi kullanabilirsiniz.

1. kullanım:
$(document).ready(function() {
    console.log("Tüm sayfa yüklendi");
});


2. kullanım:
$(function() {
    console.log("Tüm sayfa yüklendi");
});

Wordpress'e Jquery Kodu Ekleme (functions.php)

Wordpress'e Jquery Kodu Ekleme (functions.php) | Add Additional Jquery Code into Wordpress

- Ftp'den, cpanel dosya yöneticisinden veya wordpress theme editor içinden functions.php dosyasını açın. Konumu: / httpdocs / wp-includes / functions.php
- En alta bu kodları ekleyin ve örnekteki gibi jquery kodlarınızı düzenleyin. Hepsi bu kadar. Böylece bu kodlar bütün sayfalarda çalışmış olacaktır.
function wpb_hook_javascript() {
    ?>
    <script>
    var $j = jQuery.noConflict();
    $j(function(){

        $j('.baslik').text('Deneme');
        $j('.metin').hide();

    });
    </script>
    <?php
}
add_action('wp_head', 'wpb_hook_javascript');

jquery-formatCurrency TL Uyumlu Yapma


Rakamları para formatına çevirmek için jquery-formatCurrency eklentisini kullanıyor iseniz (ki tavsiye ederim) ve TL uyumlu çevirmesini istiyorsanız basitçe başarabilirsiniz:

1. https://code.google.com/archive/p/jquery-formatcurrency/ adresinden son versiyonu indirin.
2. jquery.formatCurrency.js dosyasını açın ve aşağıdaki değişikliği yapın:

    Gördüğünüz gibi EN için yazılmış kısmı TR haline çevirdik.
4. Sonra kaydedip bu dosyayı ftp den yükleyin.
5. Sayfanızda head etiketleri arasında bu js dosyasını çağırın:
<script src="jquery.formatCurrency.js"></script>
6. Sonrasında kullanımı basit. Diyelim rakamınız, id'si #ucret olan input giriş kutusunda yazıyor. Bu şekilde input kutusu içindeki rakamın formatını değiştirmiş olursunuz:
$('#ucret').formatCurrency();

Not: Dilerseniz regions['tr-TR'] şeklinde her dil için ayrı formatlar tanımlayabilirsiniz. O zaman aşağıdaki gibi kullanmanız gerekecektir:
$('#ucret').formatCurrency({roundToDecimalPlace: 2, region: 'tr-TR' }); //₺1.000,00


₺ Türk Lirası Simgesi Rakamın Başına Yazılır



Türk lirasının kısaltması "TL", Türk lirasının simgesi ise "₺"dir. Türk lirasını ifade edebilmek amacıyla kullanıldığı yere göre, aynı anda kullanmamak koşuluyla ya simge ya da kısaltma kullanılabilir. Metinlerde ve resmi yazışmalarda açıkça yazılması (Türk lirası) veya kısaltmasının (TL) kullanılması tercih edilirken grafik, tablo vb. yerlerde simgenin kullanılması tavsiye edilir.

Uluslararası uygulamalara paralel olarak simge, rakamın (parasal tutarın) solunda ve boşluk bırakılmadan kullanılır.

Kıymetli evrakta ise simgenin bedelin solunda ve boşluk bırakılmadan kullanılması uygun olacaktır. Kaynak

TCMB kurallarına göre örnek kullanım:
₺20
₺28,25
₺1.000
₺1.000.000
₺255.000,00

₺ simgesini yazmak için klavye kısayolu:
Windows: Alt Gr + T
MacOS: Alt + T

HP veya Samsung Yazıcıların Harddiskine Ağ Üzerinden Ulaşma


Connect to Printer Harddisk via Network

Windows için;
Tarayıcının veya bir klasörün adres çubuğuna yazıcının ip adresini şu şekilde girin:

\\192.168.188.145


MacOs için;
Finder üzerinde sağ tuşa tıklayıp Sunucuya Bağlan veya Git seçeneğine tıklayın, yazıcının ip adresini şu şekilde girin (sonuna yazıcıdaki root klasörünün adı eklenmelidir, bunu yazıcı üzerinden görebilirsiniz):

smb://192.168.188.145/nfsroot
Kullanıcı: admin
Şifre: (admin şifreniz)

Opencart Modal-Popup Login&Register&Forget (Free)


Opencart sisteminde oturum açma, kayıt olma işlemleri için sistem sizi ayrı sayfalara yönlendirmektedir. Bu da tekrar aradığı ürüne dönmek isteyen kullanıcı için bir sorun teşkil etmektedir. Bu eklenti sayesinde popup/modal pencere ile olduğunuz sayfadan ayrılmadan üyelik işlemlerini yapabilirsiniz. Bu eklenti neleri sağlıyor:

- Modal pencere ile Oturum Açma işlemi
- Modal pencere ile Kayıt Olma işlemi
- Modal pencere ile Şifremi Unuttum işlemi
- Oturum Açma, Çıkış ve Kayıt Ol işlemlerinden sonra son açılan sayfaya geri dönme

Live Demo
Opencart 2.3.0.2 için denenmiştir.


https://drive.google.com/file/d/1xnw5IyaSnqlDy1oPPIxlKBpZeNp7etmY/view?usp=sharing


Not: Bu eklentinin orjinal hali ehub tarafından yapılmıştır. Fakat buradaki halinde hatalar olduğu için düzenleyip yükledim.

Adım adım Html5 Temel Web Site Kurulumu


Html5 Web Tutorial with Folder Structure

Burada gördüğünüz klasör yapısı standart bir Html5 web projesinin ilk halidir. Bazı farklılıklar olabilir. Örneğin css, js klasörleri dist veya assist gibi bir klasör içinde yer alabilir. Fakat temel olan ve benim de tavsiye ettiğim yapı budur. Gelelim bu yapıyı güncel haliyle nasıl kuracağımıza;

Not: Burada bir backhand developer olarak bir proje yaptığınızı varsayıyorum. Yani tamamen işiniz kodlar ile. Bu işi bir program (Adobe XD, Figma vs) yapıyor iseniz zaten bu tarz frontend yazılımlar size kodları hazır halde verecektir.

1. Bir web projesi için kolları sıvadığınızda ilk iş olarak temel yapıyı oluşturmak istersiniz ve bunu güncel araçlarla kurmayı dilersiniz. Ben burada microsoft, nike gibi firmalar tarafından da kullanılan HTML5 Boilerplate'i seçtim. Bu araç size standart yapıyı verecektir.

2. https://html5boilerplate.com/ adresinden son versiyonu indirin ve tüm klasörleri sitenizin root'una upload edin.

3. Bu yapıda hazırda yerleşik olmayan ama işimizi kolaylaştıracak Bootstrap framework'ü kendimiz entegre edicez. Böylece son versiyonu kullanmış oluruz. https://getbootstrap.com/ adresinden indirip upload ediniz. Zaten css ve js olarak iki klasörden oluşmakta. Bunları mevcut olanların içine eklemiş olacaksınız.

4. index.html sayfanızın head bölümünde tüm css'lerin en üstüne bunu ekleyin:

<link rel="stylesheet" href="css/bootstrap.min.css">

5. Bu iki js dosyasını (yok ise popper.min.js indirip upload edin) jquery dosyasının çağırıldığı koddan sonraya ekleyin:

<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>

6. Şablonunuz hazır. Artık header, content ve footer bölümlemelerinizi yaparak sayfanızı tasarlayabilirsiniz.

Bu yazıda sizlere temel ve güncel bir HTML5 şablonunun nasıl oluşturulacağını anlatmaya çalıştım.

Opencart İade Nedenleri İngilizce-Türkçe



ENGLISH TÜRKÇE
Dead On Arrival Ürün Tarafıma Ulaşmadı
Faulty (Please Supply Details) Ayıplı/Hasarlı Ürün (Detayları Aşağıya Yazınız)
Order Error Hatalı Sipariş Verdim
Other (Please Supply Details) Diğer (Detayları Aşağıya Yazınız)
Received Wrong Item Farklı Ürün Geldi


Sipariş durumlarının çevirisi için tıklayınız >

Opencart Sipariş Durumları İngilizce-Türkçe Çeviri



ENGLISH TÜRKÇE ALTERNATİF
Canceled İptal
Canceled Reversal İptal İşleminden Vazgeçildi İptali Geri Al
Chargeback Taksitli Geri Ödeme Kredi Kartına Taksitli İade
Completed Teslim Edildi Tamamlandı
Denied Reddedildi
Expired Süresi Doldu
Failed Başarısız
Pending (Default) Onay Bekliyor
Processed Hazırlandı
Processing Hazırlanıyor
Refunded Geri Ödendi
Reversed İade İşleminden Vazgeçildi İadeyi Geri Al
Shipped Kargoya Verildi
Voided Hükümsüz
Returned İade Edildi
Pending Approval for Return İade İçin Onay Bekliyor
Pending Product Ürün Bekleniyor
Product Changed Ürün Değişimi Yapıldı

İade nedenleri çevirisi için tıklayınız >