Wednesday February 3, 2010 20:24

Php Apache Restart on Mac OS X

Apache web serveri Mac OS X terminal ekranından tekrar başlatmak için aşağıdaki komutu kullanılabilir.

sudo /usr/sbin/apachectl restart

Related Posts:

PrestaShop kullanarak e-ticaret sitesi hazırlamaya çalışıyorum. Ancak Türkçe dil paketi her zaman olduğu gibi beraberinde dil sorununu getirdi.

Google da arttım. PrestaShop forumlarında bir çözüm olduğu belli ancak ilgili sayfa çalışmıyordu bende. Bende araştırdım. Sorunu ve çözümünü buldum. Aşağıya not edeyim ki bir daha güncelleme vs. olduğunda başım ağrımasın.

Sorun şu, PHP Fatal error:  Call to undefined method Db::getInstance() in /var/…./…./classes/Meta.php on line 89.

Sorunun çözümü için /init.php dosyası açılır ve 81.satırdaki  kod Comment altına alınır. Ardından altına 2 adet kod satırı eklenir ve sorun çözülmüş olur. Eklenmesi gereken satır ve comment edilmesi gereken alan aşağıdaki gibi olmalıdır:


$ps_language = new Language(intval($cookie->id_lang));
    setlocale(LC_COLLATE, strtolower($ps_language->iso_code).'_'.strtoupper($ps_language->iso_code).'.UTF-8');
    //setlocale(LC_CTYPE, strtolower($ps_language->iso_code).'_'.strtoupper($ps_language->iso_code).'.UTF-8');
    setlocale(LC_CTYPE, 'en_EN.UTF-8');
    setlocale(LC_NUMERIC, 'en_EN.UTF-8');

şeklinde olacak. Çalıştığında sorun olmadığı görülecektir.

Related Posts:

  • No Related Posts

Sunday January 31, 2010 12:17

Mac OS X Show Desktop Butonu

Mac Os X ‘de, Windowsdaki masaüstünü göster butonunun yerini tutan bir uygulama var. Normal kurulumla gelmiyor ancak istenilirse eklenebilir güzel bir uygulama.

Show Desktop uygulaması küçük bir OS X uygulamasıdır. Tıklanıldığı zaman tüm pencereleri küçültür ve masaüstünü gösterir. Bu uygulama menü barda ya da Dock içerisinde de kullanılabilir. Hızlı erişim için Shift-Click butonuna tıklandığında tüm uygulamaları gösterir. Ayrıca dahil edilmeyecekler listesi de oluşturularak küçülmesini istemediğiniz ekranları da belirtebilirsiniz. Uygulamayı bu adresten edinebilirsiniz.

preferences_mini

Show Desktop uygulaması ayarları ekranı

menu_mini

Dock menüsündeki görünümü

menubar_mini

Show Desktop uygulaması menü barda da bulundurulabilir.

Related Posts:

Sunday January 31, 2010 12:13

Masaüstünü Göster Butonum Kayboldu

Windows işletim sisteminde Masaüstünü Göster butonunu kaybetmek can sıkıcı birşey. Aslında Win + D aynı işi yapıyor ancak bazen mouse ile de tıklama ihtiyacı duyabiliyor insan. Masaüstünü Göster butonunu geri getirmek için aşağıdaki kodu Notepad’ e yazıp kaydederken uzantısını SCF olarak kaydetmek yeterli olacaktır.


[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

Bu dosya aşağıdaki adrese kopyalanır.

C:\ Document and Settings \ Username \ Application Data \ Microsoft \ Internet Explorer \ Quick Launch

Related Posts:

  • No Related Posts

Sunday December 27, 2009 13:55

Client Height, Width ile Pencere Boyutunu Almak

Ben genelde bu kodu, bir web sayfası yapmaya başlamadan önce muhakkak çalıştırıyorum. Bu sayede her bir browser için maximum ne kadarlık bir alan ile sınırlı olduğumu hatırlıyorum.

Bu kodlar ile boş bworserda yer alan beyaz alanın kaç pixel olduğunu öğrenebilir, DIV lere ya da diğer elementlere id vererek onların ebatlarını da öğrenebiliyorum. Aslında birçok yerde kullandım. Sayfa ortlamada, according menu yaparken vs. vs.

3 farklı method ile yükseklik buldurmaya çalıştım. Her biri bazı browserlarda çalışmamaktadır. Aksilik çıkarmasın diye ben hepsini ekledim. Ekleyim ki kaybetmeyeyim. Client-Height-Detect demosu için tıklayınız.

Related Posts:

  • No Related Posts

Sunday December 27, 2009 13:41

Browser Detector

Browserin versiyonu, türü, hangi işletim sisteminde çalıştığı gibi kullanıcı bilgilerini edinmek için gereken bir kod.

Aşağıda yeniden yazdığım browser detection kodları mevcut sürekli tekrar terar araştırmaktan bıktım. Bu sefer web sitesine koyayım da artık bulma derdinden kurtulayım. İlk iki uyarı Chrom ve Safari için. 3. uyarı da browserin ne olduğunu bildiriyor. Kullanırken örnek olması bakımından faydalı olacaktır.

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
body { behavior:url(script.htc); }
</style>
<script language="JavaScript" type="text/javascript">
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
alert(is_chrome);
var is_safari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;
alert(is_safari);
alert(navigator.userAgent.toLowerCase());
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Browser Detect
</title>
</head>
<body>
</body>
</html>

Ayrıca demo için detect-browser tıklayınız.

Related Posts:

Sunday December 27, 2009 13:12

HTML Source Formating, HTML Beauty

Html kodlarının karman çorman olması yüzünden neyin nerede olduğunu bazen anlamakta zorlandığım oluyor. Bazen oluyor ki, bir table in başladığı kodla diğer table bittiği kodu eşleştirip table kodunu kaldırdığımda darma dağınık bir sayfa  ile karşılaşıyorum.

Bunu önlemek için ya başta kodları temiz yazmak gerekiyor, ya da html kodlarını düzeltecek bir uygulama kullanmak gerekiyor. Dreamwaver bu işi zaten yapıyor ancak, o yaparken satırların başına TAB yerine SPACE koyuyor ki ben de bunu sevmiyorum. Düzeltmeye çalıştım bir kaç kez. Settinge girdim çıktım ancak bulamadım.

htmlbeauty

Geçenlerde arşivimi karıştırırken bir HTML cleaner, beauty, formating kodu buldum. Javascript ile yazılmış bu kod bana Dreamweaverdan daha başarılı gibi geldi. Web siteme ekleyip bundan sonra acil durumlar için bunu kullanmayı düşünüyorum.

Kodlamayı SCOPE içerisinde düzeltirken dilersem TAB dilersem SPACE seçebileceğim. SPACE’in de seçenekleri var 2, 4, 8 SPACE gibi. Kullanmak istediğim mutlaka zamanlarlar olacaktır. Bir kenarda durmasında fayda var. Kodları test etmek için buraya tıklayınız.

Kodları indirmek için tıklayınız.

Related Posts:

  • No Related Posts

Saturday November 7, 2009 23:11

SVN ile Doküman Versiyon Kontrolü

Birden çok kişinin aynı iş üzerinde çalıştığı projelerde, bu kişilerin her birinin yaptığı değişikliklerin diğerleri ile paylaşılmasını ve güncel kalmalarını sağlayan bir sistem.

SVN ve CVS genellikle dosya değişikliklerini takip etmek, hata yapıldığında ya da istenildiğinde geri dönebilmek, takım halinde çalışan arkadaşların aynı dosya üzerinde aynı anda değişiklik yapmabilmelerini ve sürekli güncel kalabilmelerini sağlamak amacıyla kullanılan bir sistem olarak düşünülebilir.

Subversion Server ve Subversion Command-Line Client’ın makinada yüklü olması gerekir. Diğer subversiyon seçenekleri için  http://subversion.tigris.org/ adresi ziyaret edilebilir.

[REAL_PATH] =C:\svn_repository\repo
[URL] = https://localhost:8443/svn/

SVN CREATE

Svn ile yeni bir repository oluşturmak için kullanılır.

svnadmin create [REAL_PATH]

SVN IMPORT

Svn import repository ilk oluşturulmasından sonra mevcut dosyaların repoya aktarılmasına yarar. Svn  import komutunun arkasından kaynak klasör sonrada hedef klasör bildirilir. Commit’ te de olduğu gibi -m ya da –-message ile import edilen dosya(lar) hakkında bilgi bırakılır.

svn import [REAL_PATH] [URL] –m ‘”init icerik”

SVN CHECKOUT

Dosyalar artık repositoryde, import ederken kullanılan kaynak klasör içinde yer alan dosyalara artık ihtiyaç yok, çünkü artık dosyalar repodan çıkartılıp editlenip tekrar repoya gönderilecek. İşte bu aşamada Svn Checkout ile repository de yer alan dosyalar geçici bir klasöre çıkartılır.  Ve bu klasör içinde yer alan dosyalar artık editlenmeye hazırdır.

svn checkout [URL] [REAL_PATH]

SVN ADD

Klasöre çıkardığımız dosyaların içine dışarıdan bir dosya eklemek istendiğinde kullanılır.

svn add [REAL_PATH]

SVN COMMIT

Geçici olarak klasöre çıkardığımız dosyaları artık editleyip kaydedeceğiz ve çalışmış olduğumuz dosyaları, repoya güncel haliyle koyacağız. Yani Commit edeceğiz.
svn commit C:\svn_repository\repo\Temp -m “degisiklik”

SVN DIFF

SVN diff  revizyonlarda nelerin değiştiğini, hangi satırlarda ne tür değişiklikler yapıldığını görüntülemek için kullanılır.

svn diff [URL] –revision 4

SVN LOG

SVN log ile yapılan değişiklikler listelenir. Komut içinde revizyonunu görmek istediğiniz dosyanın geçirmiş olduğu revizyonların tarih ve eklenen mesajlarına ait bilgileri listeler.

Reponun geçirdiği bütün revizyonları görmek için
“svn log [URL]” yazmak yeterli. Bu sayede dosya kaç adet revizyon geçirdiyse revizyon no, tarih, kaç satır değiştirilmiş ve revizyon commit edilirken ne mesaj girilmiş görmeye yarar.

Belirli bir dosyanin geçirmiş olduğu 3. revizyonu görmek  için
“svn log [URL] –revision 3 abc.html” yazılır. Bu sayede hangi tarihte revizyon yapıldığını ve yapılan revizyonun hangi mesaj ile kayıt edildiği görülebilir.

svn log [URL] –revision {2009-06-20}:{2009-06-29} ile iki tarih arasında ne gibi değişiklikler yapılmış görüntülenebilinir.

Ya da svn log [URL] –revision {2009-06-20}:1234 ile belirli bir tarihten itibaren 1234. revizyona gelene kadarli bilgileri listeler.

svn log [URL]
svn log [URL] –revision 3 abc.html
svn log [URL] –revision {2009-06-20}:{2009-06-29}
svn log [URL] –revision {2009-06-20}:1234

SVN UPDATE

SVN update ile belirli bir revizyona geri dönülebilir. Geri dönülmek istenen revizyon numarası “svn update [REAL_PATH] –revision 3 abc.html” ya da “svn update [REAL_PATH] –revision 3″

SVN COPY ve SVN MOVE

Svn ile copy ve move yapmaya yarar. SVN serverin yeni dosyaları anlayabilmesi için işletim sisteminin komutları yerine bu komutların kullanılması gerekmektedir.

SVN LIST

svn list [URL] ile de repodaki dosya yapısı izlenir.

Related Posts:

Friday September 11, 2009 07:32

Javascript ile Cookie Yazmak, Okumak ve Silmek

Cookieler sabit diskimizde yer alan basit bir text dosyasıdır. Cookieler siteleri ziyaret ettiğimizde otomatik olarak yaratılır ve bizim ziyaretimiz hakkında bilgi tutarlar.

Hangi bilgileri tutacağına webmaster karar verir. Cookieler genellikle kullanıcıların varsa daha önceki ziyareti esnasında girmiş olduğu bilgilerini, yapmış olduğu alışverişlerini gibi bazı bilgileri tutabilir. Javascript ile Cookie atayabiliriz.

Javascript ile Cookie Yaratma

Aşağıdaki kodu çalıştırdıktan sonra Cookie klasöründe bir adet dosya oluşacaktır. Eğer cookie yaratılmamışsa Expires değerini şuanki tarihten ileri bir tarihe veriniz. Ayrıca başka bir değişken de atayabilirsiniz (Örneğin “deger2=”).

<script language="javascript" type='text/javascript'>
	document.cookie =
	"myContents=Quackit JavaScript cookie experiment;
	expires=Fri, 19 Oct 2009 12:00:00 UTC; path=/";
</script>

Javascript ile Cookie Okumak

<script language="javascript" type='text/javascript'>
	document.write(document.cookie);
</script>

Yukarıdaki kod ile kolayca Cookiler okunabilir. Ancak herbir değişkeni tek tek elde etmek için

<script language="javascript" type='text/javascript'>
document.write(document.cookie.split(";")[1])
</script>

şeklinde yazmak gerekmektedir.

Javascript ile Cookieleri Silmek

Yapılması gereken şey çok basit cookieyi geçmiş bir tarihe set etmek:

<script language="javascript" type='text/javascript'>
document.cookie =
"myContents=Quackit JavaScript cookie experiment;
expires=Fri, 14 Oct 2005 12:00:00 UTC; path=/";
</script>

Cookie Yönetim Scripti

Aşağıdaki script cookieleri oluşturmayı, okumayı ve silmeyi sağlayan küçük bir uygulama örneğidir.

function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name) {
createCookie(name,"",-1);
}

Related Posts:

Thursday September 10, 2009 12:29

Yatay ve Düşey Hizalı Div oluşturmak

Bir önceki yazımda bahsettiğim Siyah, transparan, full Layer’ın içine koyacağım yatay ve düşey hizalanmış bir layer oluşturmaya çalışacağım.

Ve bu işi SCRIPT taglarını kullanmadan yapmaya çalışacağım. Bunun için önce tüm alanı kaplayan bir div oluşturmam ve bu alanın yükseliğini ve genişliğini browserin her boyutlandırdığında anlayacak CSS kodlarını yazmam gerekli. Bu sayede reklam divim sayfanın ortasının neresi olduğunu anlayacak ve kendini o konuma yönlendirecek. işte bu noktada yine birçok Css hack kodları işe uğraşıp doğru neticeyi alabildim.

Yine her browserda çalışabilecek bir kod oluşturdum. Kullanacağım web templatelerinde artık sayfanın ortasını bulmak bu kadar zaman harcamayacağım.

Daha sonra Siyah, full, transparan div çalışmam ile bu çalışmamı birleştirip, arkada siyah bir background ve üstünde reklam vs. gösteren bir çözüm elde edeceğim.

Sayfanın ortasında yer alan div örneği aşağıdaki gibidir.


< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-9" />
<title>Untitled Document</title>
<style type="text/css">
	body{
		margin:0px;
		padding:0px;
		height:100%;
		width:100%;
	}

	html{
		width:100%;
		height:100%;
	}

	#reklam-full{
		position:fixed;
		#position:fixed;
		* Position:absolute;
		display: table;
		width:100%;
		height:100%;
		_height:expression(document.body.clientHeight);
		z-index:2;
		background:#9C9;

		filter:alpha(opacity=50);
		-moz-opacity: 0.5;
		opacity: 0.5;
	}

	#reklam-cell{
		#position: absolute;
		#top: 50%;
		display: table-cell;
		vertical-align: middle;
	}

	#reklam{
		#position: relative;
		#top: -50%;

		width:500px;
		height:300px;
		background-color:#FFF;
		border:1px solid red;
		margin-left:auto;
		margin-right:auto;
	}

</style>

</head>

<body>

<div id="reklam-full">
	<div id="reklam-cell">
    	<div id="reklam">
	    	Kahdalı mıçıda gelecekmi gelecekse ne işi var
        </div>
    </div>
</div>

<div>
Lorem Ipsum is simply dummy text of the printing and typesetting
industry. Lorem Ipsum has been the industry's standard dummy text
ever since the 1500s, when an unknown printer took a galley of
type and scrambled it to make a type specimen book. It has
survived not only five centuries, but also the leap into
electronic typesetting, remaining essentially unchanged. It was
popularised in the 1960s with the release of Letraset sheets
containing Lorem Ipsum passages, and more recently with desktop
publishing software like Aldus PageMaker including versions of
Lorem Ipsum.Why do we use it?It is a long established fact that
a reader will be distracted by the readable content of a page
when looking at its layout.
</div>

</body>
</html>

vertical-horizontal-centering.html

Related Posts: