<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>:: samkon.org &#187; fonksiyon ve betikler</title>
	<atom:link href="http://www.samkon.org/?feed=rss2&#038;cat=73" rel="self" type="application/rss+xml" />
	<link>http://www.samkon.org</link>
	<description>Imagination is more important than knowledge.. &#124; Albert Einstein</description>
	<lastBuildDate>Mon, 11 Jan 2010 21:05:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Proje Gelişmeleri #29, #30, #31, #32</title>
		<link>http://www.samkon.org/?p=278</link>
		<comments>http://www.samkon.org/?p=278#comments</comments>
		<pubDate>Sat, 20 Dec 2008 16:08:04 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[duyurular]]></category>
		<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[access list]]></category>
		<category><![CDATA[base_functions.php]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[gelişme]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[qvariables.php]]></category>
		<category><![CDATA[samkon]]></category>
		<category><![CDATA[tasarım]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=278</guid>
		<description><![CDATA[Projem adına uzun zamandır çalışamıyordum. Aşağıda belirteceğim gelişmeler genel olarak yüzeysel gelişmeler olsada  bunlardan en önemlisi diğer çalışmalarımdan bir sayfa tasarımını bahane ederek proje sayfasının tasarımını daha göze hitap eder hale getirmem oldu.
Gelişme #29
Grupların yetkilerinin yönetilebileceği &#8220;access list&#8221; alanı oluşturuldu ve bu alanın geliştirilmesine hala devam ediliyor. Bu alan kısaca yöneticilerin onayı ile grupların sahip [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.samkon.org/proje" target="_blank">Projem</a> adına uzun zamandır çalışamıyordum. Aşağıda belirteceğim gelişmeler genel olarak yüzeysel gelişmeler olsada  bunlardan en önemlisi diğer çalışmalarımdan bir sayfa tasarımını bahane ederek proje sayfasının tasarımını daha göze hitap eder hale getirmem oldu.</p>
<h3><span style="color: #ff9900;">Gelişme #29</span></h3>
<p>Grupların yetkilerinin yönetilebileceği &#8220;<em>access list</em>&#8221; alanı oluşturuldu ve bu alanın geliştirilmesine hala devam ediliyor. Bu alan kısaca yöneticilerin onayı ile grupların sahip olabilecekleri çeşitli yetkileri temsil etmektedir. Geliştirilme aşamasında olmasından ötürü daha sonraki gelişmelerde üzerinde çok durulacak olduğundan daha fazla detay girmeyi gerekli görmüyorum.</p>
<h3><span style="color: #ff9900;">Gelişme #30</span></h3>
<p>Admin panelinin içeriğinin gösterildiği alanda küçük görsel düzenlemeler yapıldı.</p>
<h3><span style="color: #ff9900;">Gelişme #31</span></h3>
<p>&#8220;<em>access list</em>&#8221; alanının veritabanı tablosu ile ilgili bir düzenlemeye gidildi. Aynı zamanda yetki seçeneği oluşturmak adına bir form oluşturuldu. Sonraki gelişmelerde bu form alanının  işlenmesi sağlanacak.</p>
<h3><span style="color: #ff9900;">Gelişme #32</span></h3>
<p>Yazının başında belirttiğim yeni temanın dosyaları sisteme yüklendi.</p>
<h3><span style="color: #ff9900;">Gelişme #33</span></h3>
<p><span style="color: #ff9900;"><span style="color: #000000;">Yüklenen yeni tema dosyaları ve bu dosyaların işlenerek sayfaya yüklenmesini sağlayan betiklerden &#8220;<em>qvariables.php</em>&#8221; betiği ve &#8220;<em>base_functions.php</em>&#8221; betiğindeki çeşitli fonksiyonlar düzenlendi.</span><br />
</span></p>
<p>Böylece yeni bir tasarım çalışmamı projem adına yeni bir temaya çevirerek aktif hale getirmiş oldum. En azından <a href="http://www.samkon.org/proje" target="_blank">proje</a> sayfası artık daha göze yatkın bir tasarıma sahip.</p>
<p>Bu tasarımı aynı zamanda bir wordpress temasına çevirip sisteme yüklemeyi düşünüyorum. Bu nedenle ilgili proje sayfasından görmüş olduğunuz tasarım hakkındaki fikirlerinizi de bu başlık altında bana iletebilirsiniz. Açıkçası henüz tamamlanmamış bu tasarımı oluştururken ben çok şey öğrendim ve zevk aldım. Doya doya kullanacağımız günlerin gelmesi dileğiyle :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=278</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proje Gelişmeleri #26 #27 #28</title>
		<link>http://www.samkon.org/?p=190</link>
		<comments>http://www.samkon.org/?p=190#comments</comments>
		<pubDate>Fri, 24 Oct 2008 02:51:58 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[ask_group_login]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[remove user]]></category>
		<category><![CDATA[remove.php]]></category>
		<category><![CDATA[remove_user.php]]></category>
		<category><![CDATA[samkon cms]]></category>
		<category><![CDATA[sogroupaccess]]></category>
		<category><![CDATA[sogroups]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[yönetim paneli]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=190</guid>
		<description><![CDATA[Projemi hızlandırmak adına artık her gelişme adına detaylı bilgiler sunmak yerine, subversion deposundaki gelişme numaraları adına kısa açıklamalarda bulunma yöntemini kullanacağım.
Gelişme #26 &#8211; div to table

Yönetim panelinde verileri listelemek için tablolar yerine div etiketleri kullanılıyordu. Bu bazen düşük ekran çözünürlüğüne sahip monitörlerde satırların birbirine karışmasına yol açabiliyordu.
Basitçe bu div etiketleri table etiketlerine dönüştürüldü. Böylece problemin [...]]]></description>
			<content:encoded><![CDATA[<p>Projemi hızlandırmak adına artık her gelişme adına detaylı bilgiler sunmak yerine, subversion deposundaki <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/?view=log" target="_blank">gelişme numaraları</a> adına kısa açıklamalarda bulunma yöntemini kullanacağım.</p>
<p><span style="color: #ff6600;"><span style="text-decoration: underline;"><strong>Gelişme #26 &#8211; div to table<br />
</strong></span></span></p>
<p>Yönetim panelinde verileri listelemek için tablolar yerine div etiketleri kullanılıyordu. Bu bazen düşük ekran çözünürlüğüne sahip monitörlerde satırların birbirine karışmasına yol açabiliyordu.</p>
<p>Basitçe bu div etiketleri table etiketlerine dönüştürüldü. Böylece problemin ortadan kalktığını düşünüyorum. Test edilmedi.</p>
<p><span style="color: #ff6600;"><span style="text-decoration: underline;"><strong>Gelişme #27 &#8211; kullanıcı silme<br />
</strong></span></span></p>
<p>Proje gelişmeleri ile ilgili son girdimde belirttiğim kullanıcı silme işlevi gerçekleştirildi.</p>
<p>Bu arada remove.php betiğini oluşturup çeşitli girdilerin aynı betik üzerinden silinmesini sağladığım için kendime teşekkür ederim. Sayesinde silme işlemini gerçekleştirmem 10 dakikamı almadı :)</p>
<p><span style="color: #ff6600;"><span style="text-decoration: underline;"><strong>Gelişme #28 &#8211; veritabanında düzenlemeler</strong></span></span></p>
<p>Kullanıcı gruplarının çeşitli işlemlerini gerçekleştirebilmelerini denetlememi sağlayan sütunlar #sogroups tablosundan yeni oluşturduğum #sogroupaccess tablosuna taşındı.</p>
<p>#sogroups tablosunda grup kullanıcısının root haklara sahip olup olmadığını belirleyen &#8220;admin_root_access&#8221; adında tek bir sütun bırakıldı.</p>
<p>ask_group_login() fonksiyonu bu nedenle tekrar düzenlendi.<br />
<span id="more-190"></span><br />
<span style="color: #ff6600;"><span style="text-decoration: underline;"><strong>Gelecek Gelişme Hakkında<br />
</strong></span></span></p>
<p>Yönetim panelinin düzenlenecek olan <em>community &gt; groups</em> alanında tüm grupları &#8220;<em>admin_root_access</em>&#8221; yetkisi kontrolü ile birlikte listeleyecek bir betik oluşturulacak ve grubun diğer yetkilerinin yönetildiği bir başka sayfaya link verilecek..</p>
<p>Bu link verilen sayfada ise #sogroupaccess tablosundaki sütun değerleri yönetilecek..</p>
<p>Ayrıca proje gelişimi sırasında çeşitli yetkileri kolayca düzenleyebilmek adına #sogroupaccess tablosuna ait verilerin yönetilebileceği ayrı bir &#8220;<em>groups access</em>&#8221; bölümü oluşturulacak.</p>
<p>Bu başlıklar hakkında en kısa zamanda <a href="http://samkon.org/sp-steps/" target="_blank">proje basamaklarına</a> da girdiler eklemeliyim.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=190</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>create_user.php &amp; create_user()</title>
		<link>http://www.samkon.org/?p=106</link>
		<comments>http://www.samkon.org/?p=106#comments</comments>
		<pubDate>Thu, 14 Aug 2008 19:13:57 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[check_user_avalibility()]]></category>
		<category><![CDATA[create_user()]]></category>
		<category><![CDATA[create_user.php]]></category>
		<category><![CDATA[eregi()]]></category>
		<category><![CDATA[souser]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=106</guid>
		<description><![CDATA[Uzun bir süredir projemle ilgilenmediğimin farkındaydım. Fakat günlük koşuşturmacalarımdam bir türlü zaman bulamadığımdan bilgisayarın başına oturamıyordum. Bugün bilgisayar başına geçtiğimde projemi biraz kurcaladım ve giderek kendi kurduğum sisteme yabancılaşmaya başladığımı hissettim. Öyle ki arada &#8220;ben neler yapmışım haberim yok&#8221; dediğim anlar bile oldu :) Bu nedenle artık kaldığım yerden devam etme vakti gelmişti.
Daha önceden kullanıcı [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun bir süredir projemle ilgilenmediğimin farkındaydım. Fakat günlük koşuşturmacalarımdam bir türlü zaman bulamadığımdan bilgisayarın başına oturamıyordum. Bugün bilgisayar başına geçtiğimde projemi biraz kurcaladım ve giderek kendi kurduğum sisteme yabancılaşmaya başladığımı hissettim. Öyle ki arada &#8220;<em>ben neler yapmışım haberim yok&#8221;</em> dediğim anlar bile oldu :) Bu nedenle artık kaldığım yerden devam etme vakti gelmişti.</p>
<p>Daha önceden kullanıcı eklemek adına oluşturduğum formu biraz <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=23&amp;view=markup#l_541" target="_blank">düzenledim.</a></p>
<p>Görüldüğü üzere bu form &#8220;<a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=23&amp;view=markup#l_264" target="_blank"><em>create_user()</em></a>&#8221; adında bir<em> js</em> fonksiyonunu çağırmakta. Bu fonksiyon ise projem hakkında daha önceden işlediğim konulara benzer olarak &#8220;<a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/create_user.php?revision=24&amp;view=markup" target="_blank"><em>create_user.php</em></a>&#8221; betiğine formdaki gerekli verileri göndermekte. Bu betik ise basitçe verilerin gerekli kontrollerden geçmesi halinde veritabanına kullanıcı kaydını gerçekleştirmektedir.</p>
<p><span id="more-106"></span></p>
<p><strong>Hatırlamam Gerekenler:</strong></p>
<ul>
<li>Bu betiğin, veritabanı ile haşır neşir olan ve kendisi gibi &#8220;<em>../jobs</em>&#8221; dizini altında bulunan diğer betiklerden farkı ise &#8220;<em>check_user_avalibility()</em>&#8221; adında yeni bir fonksiyon ile kullanıcı kontrolü yapmasıdır.</li>
<li>Aynı zamanda betik <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/create_user.php?revision=24&amp;view=markup#l_6" target="_blank">6. satırda</a> bulunan <em>eregi</em> fonksiyonu ile karakter düzenlemesi yaparak numerik ve metin karakterleri dışında kullanıcı ismine girilmiş olan karakterleri silmektedir.</li>
</ul>
<p><strong>Gelecek Çalışma:</strong></p>
<ul>
<li>Kullanıcı silme işlemi ile ilgili olan sayfa düzenlemelerinin yapılması</li>
<li><em>&#8220;remove_user()</em>&#8221; <em>js</em> dosyası ve &#8220;<em>../jobs/remove_user.php</em>&#8221; betiğinin oluşturulması</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=106</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>edit_user_by_id() fonksiyonu &amp; update_user.php betiği</title>
		<link>http://www.samkon.org/?p=56</link>
		<comments>http://www.samkon.org/?p=56#comments</comments>
		<pubDate>Wed, 02 Jul 2008 19:52:02 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[edit_user_by_id()]]></category>
		<category><![CDATA[update_user()]]></category>
		<category><![CDATA[update_user.php]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=56</guid>
		<description><![CDATA[Uzun zaman sonra tekrar projemle ilgilenecek kısa bir zaman buldum. Çıkmazda kaldığım ufak bir hata (yada tahmin edilmesi zor bir detay demeliyim) bu kısa zamanımın büyük bir bölümünü almış olsada yine bilgisayarımla çok keyifli zamanlar geçirdim diyebilirim.
Anlatacaklarım daha önceki konularda da bahsettiğim gibi klasik AJAX işlemleri olacağından fazla üzerinde durmadan yüzeysel olarak bahsedeceğim.
Öncelikle admin panelimizden [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun zaman sonra tekrar projemle ilgilenecek kısa bir zaman buldum. Çıkmazda kaldığım ufak bir hata (yada tahmin edilmesi zor bir detay demeliyim) bu kısa zamanımın büyük bir bölümünü almış olsada yine bilgisayarımla çok keyifli zamanlar geçirdim diyebilirim.</p>
<p>Anlatacaklarım daha önceki konularda da bahsettiğim gibi klasik AJAX işlemleri olacağından fazla üzerinde durmadan yüzeysel olarak bahsedeceğim.</p>
<p><span id="more-56"></span>Öncelikle admin panelimizden &#8220;community -&gt; user&#8221; alanına girdiğimizde en altta <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=21&amp;view=markup#l_490" target="_blank">load_users_content() </a>fonksiyonunda yeni oluşturduğum kullanıcı ekleme işleminde kullanacağımız form ile birlikte üstünde kullanıcılarımızın yer aldığı bir tablo görüyoruz. Burada oluşturduğum form hakkında umarım bir sonraki girdimde bahsedeceğim. İlgili ekran görüntüsü <a href="http://img379.imageshack.us/img379/5923/userpanelgz4.jpg" target="_blank">1</a>.</p>
<p>Herhangi bir kullanıcıyı düzenlemek için düzenleme butonuna tıkladığımızda <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=21&amp;view=markup#l_555" target="_blank">edit_user_by_id()</a> fonksiyonu tarafından karşımıza ilgili kullanıcının özelliklerini düzenleyebileceğimiz bir form gelmektedir. İlgili ekran görüntüsü <a href="http://img357.imageshack.us/img357/5672/editinguserao8.jpg" target="_blank">2</a>.</p>
<p>Bu formdaki bilgiler &#8220;save&#8221; butonuna basıldıktan sonra <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=21&amp;view=markup#l_241" target="_blank">update_user()</a> javascript fonksiyonu tarafından okunur ve bu veriler <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/update_user.php?revision=21&amp;view=markup" target="_blank">update_user.php</a> betiğine gönderilir. Bundan sonrası tamamen bu betiğin görevidir. İlgili işlemleri yapar, çıktıyı üretir, ardından çıktıyı kendisini çağıran javascript fonksiyonuna geri gönderir ve bu javascript fonksiyonu sonucu sayfaya yazdırır.</p>
<p>Bu arada formdaki select kutusuna ilgili group isimlerini yazdırabilmek için <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=21&amp;view=markup#l_219" target="_blank">get_group_list() </a>adında kullanışlı bir fonksiyon oluşturdum.</p>
<p>AJAX metodunu anlatır tarzda bir girdi oldu yine.</p>
<p>Kapanış yazılarını hiç yapamıyorum nedense.. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;community&#8217; menüsü: &#8216;users&#8217; ve &#8216;groups&#8217; alt menüleri</title>
		<link>http://www.samkon.org/?p=49</link>
		<comments>http://www.samkon.org/?p=49#comments</comments>
		<pubDate>Sun, 09 Mar 2008 13:21:00 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[admin_functions.php]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[edit menus]]></category>
		<category><![CDATA[edit_group_by_id()]]></category>
		<category><![CDATA[edit_user_by_id()]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[load_groups_content()]]></category>
		<category><![CDATA[load_users_content()]]></category>
		<category><![CDATA[sogroups]]></category>
		<category><![CDATA[sousers]]></category>
		<category><![CDATA[topluluk]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=49</guid>
		<description><![CDATA[Burayı takip etmeyen kullanıcılar başlığı görünce ne çıkartabilirler bilmiyorum fakat başlık atarken kastetmek istediğim projemin yönetim panelinde community adında bir ana menü ve bu ana menüye bağlı users ve groups adında iki alt menü oluşturduğumu belirtmekti.
Yavaş yavaş ilerlettiğim samkon içerik yönetim sistemi projesinde  sistem değişkenlerini yönetme işlemini en son girdimle tamamlamış bulunduğumdan, uzun zamandır [...]]]></description>
			<content:encoded><![CDATA[<p>Burayı takip etmeyen kullanıcılar başlığı görünce ne çıkartabilirler bilmiyorum fakat başlık atarken kastetmek istediğim projemin yönetim panelinde <strong>community </strong>adında bir ana menü ve bu ana menüye bağlı <strong>users </strong>ve <strong>groups </strong>adında iki alt menü oluşturduğumu belirtmekti.</p>
<p>Yavaş yavaş ilerlettiğim <strong>samkon içerik yönetim sistemi</strong> projesinde  sistem değişkenlerini yönetme işlemini en son girdimle tamamlamış bulunduğumdan, uzun zamandır buraya geldiğimde ne yapacağım diye düşünüp durduğum, kafamda yöntemler oluşturup aralarından birini seçmekte zorlandığım işlemlerin başlangıcı olan <strong>topluluk yönetme işlemlerine</strong> (kullanıcılar ve gruplar) vakit ayırıp biran önce kafamdaki soru işaretlerini ortadan kaldırmaya başlamak istedim.</p>
<p><span id="more-49"></span> Birazdan giriş yaptığım <strong>users</strong> alanı adına her kullanıcı bir grubu temsil edeceğinden kafamda bir problem oluşmazken topu atmış bulunduğum <strong>groups </strong>yönetimi için grupların çeşitli alanlardaki yetki düzenlemeleri ile ilgili kafam bir hayli karışık.</p>
<p>Sorun sistemin tamamen yapılandırılmamış olmasından kaynaklanıyor. Sistemde kullanıcıların yetkilerine göre gerçekleştirebilecekleri kaç çeşit işlem olacağı bir soru işareti kafamda (?) Bir yandan da kaç çeşit işlem olacağını dolayısı ile kaç çeşit grup tanımlamam gerekeceğini saymadan her tür işleme bir tabloda alan ayırayım ve gruba bu tablo için iki değerlikli veriler yazdırayım diyorum. Buda işimi aşırı uzatıyor, ayrıca veritabanı üzerinde zırt pırt eklemelere gitmem gerekebilecek. Bunun yerine çeşitli işlem tiplerini ifade eden çeşitli izin alanları oluşturup aynı seviyedeki işlemleri bu izin alanına göre işlem görmesini sağlamak çok daha mantıklı ve alan açısından ekonomik geliyor. Aynı zamanda tek bir alan açıp 0-100 arası gibi belli bir değer aralığında gruplara izin derecesi vermek de mümkün.</p>
<p>Neyse bu uzun tartışmalı konuyu beynimin bir ucuna atarak bu girdide asıl bahsetmem gereken konuya dönmek istiyorum artık:</p>
<p>Önceden menülerin yönetimi adına oluşturduğumuz &#8216;<strong>edit menus</strong>&#8216; alanında ilgili <strong>community</strong> ana menüsünü ve alt menülerini oluşturdum: <a href="http://aycu10.webshots.com/image/45089/2005070653206176265_rs.jpg" target="_blank">bknz</a>.</p>
<p>Daha sonra imajdan da görebileceğiniz <strong>users</strong> ve <strong>groups</strong> alt menülerinin ihtiyaç duydukları <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=20&amp;view=markup#l_477" target="_blank">load_users_content()</a> ve <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=20&amp;view=markup#l_525" target="_blank">load_groups_content()</a> fonksiyonlarını <strong>admin_functions.php</strong> betiğinde oluşturdum.</p>
<p>Şimdilik sadece<strong> load_users_content()</strong> fonksiyonu üzerinde çalıştım ve kullanıcıları çeşitli özellikleriyle birlikte bir tablo üzerinde gösterilmesini sağladım. <a href="http://aycu11.webshots.com/image/47130/2005013984585953652_rs.jpg" target="_blank">bknz 2</a>.</p>
<p>Gözünüze takılabilecek olan <strong>edit_user_by_id()</strong> ve <strong>edit_groups_by_id() </strong>fonksiyonları ise tahmin edeceğiniz üzere sırasıyla id bilgisi verilen kullanıcı ve grup bilgilerini düzenleme işlemini görecek olan fonksiyonlar olarak ileride geliştirilecek işlevlerdir.</p>
<p>Yazının başında bahsettiğim kafama takılan konu hakkında fikirlere açığımdır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sistem değişkeni oluşturma işlemleri</title>
		<link>http://www.samkon.org/?p=48</link>
		<comments>http://www.samkon.org/?p=48#comments</comments>
		<pubDate>Fri, 07 Mar 2008 11:43:01 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[]]></category>
		<category><![CDATA[admin_functions.js]]></category>
		<category><![CDATA[admin_functions.php]]></category>
		<category><![CDATA[create_systemvalue.php]]></category>
		<category><![CDATA[create_system_value()]]></category>
		<category><![CDATA[dinamik]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[load_form_for_variable_type()]]></category>
		<category><![CDATA[load_systemvalues_content()]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[page-content-list-dynamic-area]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[sovariablebools]]></category>
		<category><![CDATA[sovariablechars]]></category>
		<category><![CDATA[system values]]></category>
		<category><![CDATA[vartype]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=48</guid>
		<description><![CDATA[Yönetim panelinin &#8216;system values&#8216; olarak adlandırılan sistem değişkenlerini kontrol etmemizi sağlayan alanda (load_systemvalues_content() fonksiyonu) yeni sistem değişkenleri oluyşturulmasını sağlayacak dinamik bir form oluşturdum. Dinamiklikten kastım formda görmüş olduğunuz vartype id bilgisine sahip olan elemanımız aşağıdaki özelliği ile
 onclick=\&#8221;load_form_for_variable_type();\&#8221;
admin_functions.js betiğinde yer alan load_form_for_variable_type() fonksiyonuna bağlanması ve kendisine girilen değere bağlı olarak page-content-list-dynamic-area id bilgisine sahip alanda [...]]]></description>
			<content:encoded><![CDATA[<p>Yönetim panelinin &#8216;<strong>system values</strong>&#8216; olarak adlandırılan sistem değişkenlerini kontrol etmemizi sağlayan alanda (load_systemvalues_content() fonksiyonu) yeni sistem değişkenleri oluyşturulmasını sağlayacak dinamik bir <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=19&amp;view=markup#l_310" target="_blank">form</a> oluşturdum. Dinamiklikten kastım formda görmüş olduğunuz <strong>vartype </strong>id bilgisine sahip olan elemanımız aşağıdaki özelliği ile</p>
<blockquote><p><font color="#999999"> onclick=\&#8221;load_form_for_variable_type();\&#8221;</font></p></blockquote>
<p><strong>admin_functions.js</strong> betiğinde yer alan <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?view=markup#l_243" target="_blank">load_form_for_variable_type()</a> fonksiyonuna bağlanması ve kendisine girilen değere bağlı olarak <strong>page-content-list-dynamic-area</strong> id bilgisine sahip alanda yeni form elemanları oluşturmasıdır. Bahsettiklerimi kısaca eklenecek sistem değişkeni tipine göre yeni bir form elemanı oluşturma işlemi olarak değerlendirebilirsiniz.</p>
<p><span id="more-48"></span> Ben de ilk defa javascript ile bu kadar haşır neşir olduğumdan ortaya çıkan tablodan büyük haz duydum. Eğer tarayıcı tabanlı bu tür uygulamalara meraklıysanız ilgili basit fonksiyonu incelemenizi tavsiye ederim.</p>
<p>Son olarak doldurulan form bilgileri <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?view=markup#l_219" target="_blank">create_system_value()</a> fonksiyonu ile toplanarak <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/create_systemvalue.php?view=markup" target="_blank">../jobs/create_systemvalue.php</a> betiğine <strong>POST </strong>metodu ile gönderilir. Bu betiğimiz ise gerekli kontrolleri yaparak veritabanına sistem değişkeni ekleme işlemini tamamlar.</p>
<p>Bu işlem de daha önceki girdilerimde anlattığım metodlar ile benzer mantığa sahip olduğundan, açıklamaya ihtiyaç duymadım: Kısaca tek yaptığım</p>
<ul>
<li><strong>form</strong> oluşturmak,</li>
<li>oluşturduğum formdaki bilgileri alarak işlem yapılacak betiğe gönderecek ve aynı zamanda sayfada yapılacak işlemleri gerçekleştirecek (sayfa yenileme, işlem sonu bilgilendirme) bir <strong>javascript fonksiyonu</strong> oluşturmak,</li>
<li>ardından bu fonksiyondan bilgileri alıp veritabanı üzerinde işlem yapacak ana <strong>php betiğini</strong> oluşturmak.</li>
</ul>
<p>hepsi tamam. :) Bu 3 temel işlem üzerinde ayrı ayrı durarak, birbirlerine olan bağlarını iyi düğümlemek ve sonucunda ortaya çıkan tabloyu izlemek anlatılamayacak bir duygu.</p>
<p>Ekran görüntüleri: <a href="http://aycu15.webshots.com/image/46294/2003375889976144547_rs.jpg" target="_blank">1</a>, <a href="http://aycu02.webshots.com/image/47921/2003392151286363234_rs.jpg" target="_blank">2</a>, <a href="http://aycu33.webshots.com/image/45832/2003340382742529421_rs.jpg" target="_blank">3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=48</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Değişiklikler sonrası içeriğin yeniden yüklenmesi</title>
		<link>http://www.samkon.org/?p=47</link>
		<comments>http://www.samkon.org/?p=47#comments</comments>
		<pubDate>Sat, 01 Mar 2008 13:11:50 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[#page-content]]></category>
		<category><![CDATA[admin_functions.js]]></category>
		<category><![CDATA[admin_functions.php]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[create_menu()]]></category>
		<category><![CDATA[create_menu.php]]></category>
		<category><![CDATA[edit menus]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[load_content_by_post()]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[reload.php]]></category>
		<category><![CDATA[reload_content()]]></category>
		<category><![CDATA[yeniden yükleme]]></category>
		<category><![CDATA[yenileme]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=47</guid>
		<description><![CDATA[Projemin yönetim panelini oluşturmaya başladığım günden beri içime dert olmuş, yaptığım yeniliklerin üzerine örtmüş diğer bir değişle içimde bir ukde bırakmış olan yapılan değişikliklere göre sayfanın içerik alanının yeniden yüklenmemesi ve özellikle bazı işlemlerden sonra sayfayı yenileme ihtiyacı duymam artık geçmişte kaldı.
Herşeyi bir php betiği ve bir javascript fonksiyonu karşılamaya yetti. Bu gelişmeyi sizlere örnek [...]]]></description>
			<content:encoded><![CDATA[<p>Projemin yönetim panelini oluşturmaya başladığım günden beri içime dert olmuş, yaptığım yeniliklerin üzerine örtmüş diğer bir değişle içimde bir ukde bırakmış olan yapılan değişikliklere göre sayfanın içerik alanının yeniden yüklenmemesi ve özellikle bazı işlemlerden sonra sayfayı yenileme ihtiyacı duymam artık geçmişte kaldı.</p>
<p>Herşeyi bir php betiği ve bir javascript fonksiyonu karşılamaya yetti. Bu gelişmeyi sizlere örnek bir işlemde izlenen yolu açıklayarak tarif edeceğim. Örneğin daha önce hakkında bol bol atıp tuttuğum yönetim panelinin &#8216;<strong>edit menus</strong>&#8216; alanında panelimize yeni bir ana menü eklemek istediğimizde formumuzu doldurup &#8216;<strong>create</strong>&#8216; butonuna bastık.</p>
<p><span id="more-47"></span> Aynen önceden olduğu gibi bu işlem <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=18&amp;view=markup#l_69" target="_blank">create_menu()</a> javascript fonksiyonunun girdiğimiz verilerimizi edinmesini sağlıyor.  Edindiği verileri ise <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/create_menu.php?revision=13&amp;view=markup" target="_blank">../jobs/create_menu.php</a> betiğine gönderiyor. Buraya kadar bir değişiklik yok fakat <strong>create_menu()</strong> fonksiyonu <strong>create_menu.php</strong> betiğinden aldığı çıktı onaylandığı anda önceden olduğu gibi sayfanın <strong>notification </strong>adına sahip alanına çıktıyı basmasının yanında bu sefer birde yeni oluşturmuş olduğum <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=18&amp;view=markup#l_27" target="_blank">reload_content()</a> javascript fonksiyonuna yeniden yüklenecek içeriğin veritabanında kayıtlı ismini (bu örnek için: edit_menus) gönderiyoruz ve çıktısını <strong>page-content</strong> bilgisine sahip sayfa içeriğine yazdırmasını istiyoruz. Bu işlemi aşağıdaki betik yardımıyla gerçekleştiriyoruz:</p>
<blockquote><p><font color="#999999"> document.getElementById(&#8217;page-content&#8217;).innerHTML = reload_content(&#8217;edit_menus&#8217;);</font></p></blockquote>
<p><strong>reload_content() </strong>fonksiyonu ise aldığı bu veriyi yeni oluşturduğum <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/reload.php?revision=18&amp;view=markup" target="_blank">../jobs/reload.php</a> betiğine <strong>POST</strong> metodu ile gönderiyor. Son olarak <strong>reload.php</strong> betiğine aldığı veriyi <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=18&amp;view=markup#l_118" target="_blank">load_content_by_post()</a> fonksiyonu yardımıyla işlemek kalıyor.</p>
<p><strong>load_content_by_post()</strong> fonksiyonu <strong>load_content()</strong> fonksiyonu ile tamamen aynı işlevi görmektedir tek farkları ise <strong>aa</strong> verisini alma metodları farklıdır. <strong>GET </strong>metodu ile işlemi gerçekleştirmeye zorlandığımdan aynı işlevi <strong>POST</strong> ile uygulayan bu fonksiyonu oluşturmayı tercih ettim.</p>
<p>Sayfanın içeriğinin tekrar yüklenmesini istediğim işlemlerin <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=18&amp;view=markup" target="_blank">admin_functions.js</a> betiğindeki ilgili fonksiyonlarına aynı işlemi uyguladım. Tek yaptığım tekrar yüklenecek sayfanın veritabanındaki ismini <strong>reload_content()</strong> javascript dosyasına göndermek oldu.</p>
<p>Oh be! Artık içim biraz olsun rahat&#8230; :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sistem değişkenlerinde aktivasyon işlemleri</title>
		<link>http://www.samkon.org/?p=45</link>
		<comments>http://www.samkon.org/?p=45#comments</comments>
		<pubDate>Wed, 27 Feb 2008 13:55:12 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[0]]></category>
		<category><![CDATA[1]]></category>
		<category><![CDATA[activate]]></category>
		<category><![CDATA[activate_boolvalue()]]></category>
		<category><![CDATA[act_or_deact_bool.php]]></category>
		<category><![CDATA[admin_functions.js]]></category>
		<category><![CDATA[admin_functions.php]]></category>
		<category><![CDATA[deactivate]]></category>
		<category><![CDATA[deactivate_boolvalue]]></category>
		<category><![CDATA[FALSE]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[load_systemvalues_content()]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[onclick]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[sistem değişkenleri]]></category>
		<category><![CDATA[sovariablebools]]></category>
		<category><![CDATA[system values]]></category>
		<category><![CDATA[TRUE]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=45</guid>
		<description><![CDATA[Daha önceki girdilerimde bahsettiğim gibi veritabanımızın #sovariablebools adlı tablosu sistem hakkında birtakım iki değerlikli veriler tutmaktadır. Bu verilerin aldığı TRUE (1) veya FALSE (0) değerlerine göre çeşitli işlemler gerçekleştirilmektedir. Bu yazımda iki değerlikli bu sistem değişkenlerimizin değerlerinin yönetilmesi işlemini gerçekleştiren işlevleri tanıtacağım.
Bir önceki girdimden altyapısını oluşturduğum bu işlemin kullandığı fonksiyon ve betikleri kısaca tanıtacağım. İlk [...]]]></description>
			<content:encoded><![CDATA[<p>Daha önceki girdilerimde bahsettiğim gibi veritabanımızın <strong>#sovariablebools</strong> adlı tablosu sistem hakkında birtakım iki değerlikli veriler tutmaktadır. Bu verilerin aldığı <strong>TRUE (1)</strong> veya <strong>FALSE (0)</strong> değerlerine göre çeşitli işlemler gerçekleştirilmektedir. Bu yazımda iki değerlikli bu sistem değişkenlerimizin değerlerinin yönetilmesi işlemini gerçekleştiren işlevleri tanıtacağım.</p>
<p>Bir önceki <a href="http://www.samkon.org/?p=44" target="_blank">girdimden</a> altyapısını oluşturduğum bu işlemin kullandığı fonksiyon ve betikleri kısaca tanıtacağım. İlk önce aktifleştirme ve deaktifleştirme işlemlerinin yanı sıra daha önceden bahsettiğim diğer işlemlere de altyapı sunan tablomuzun bulunduğu <strong>system values</strong> alanını temsil eden <strong>admin_functions.php</strong> betiğindeki <strong>load_systemvalues_content()</strong> fonksiyonunun <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=17&amp;view=markup#l_238" target="_blank">ilgili satırlarına</a> göz atalım.</p>
<p><span id="more-45"></span> Görüyoruz ki <strong>#sovariablebools</strong> tablosundan alınan verinin değeri <strong>FALSE (0)</strong> ise <strong>$process</strong> değişkenimiz <strong>activate_boolvalue()</strong> metnini aksi takdirde <strong>deactivate_boolvalue() </strong>metnini içermekte. İçerdiği bu metin biraz aşağıda üzerine tıkladığımızda işlemimizi gerçekleştireceğimiz imaj dosyasına <strong>a</strong> etiketinin <strong>onclick</strong> özelliği ile bağlanıyor. Yani imaj dosyasının üzerine tıklandığında<strong> $process</strong> değişkeninin değeri fonksiyon olarak çalıştırılmak isteniyor. Bu fonksiyonlar ise <strong>&#8230;/admin_functions.js</strong> javascript betiğinde tanımlılar.</p>
<p><strong>activate_boolvalue()</strong> ve <strong>deactivate_boolvalue()</strong> javascript fonksiyonlarına <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=17&amp;view=markup#l_159" target="_blank">göz attığımızda</a> ise kendilerine girilen <strong>id</strong> değerinin yanına birde gerçekleştirecekleri işleme göre bir değer taşıyan (activate veya deactivate) <strong>process</strong> adlı bir değer ekleyerek <strong>&#8230;/jobs/act_or_deact_bool.php</strong> betiğine <strong>POST</strong> metoduyla gönderiyorlar. Betikten gelen cevabı ise <strong>notification</strong> id değerini taşıyan alana giriyorlar.</p>
<p>Burada tabikide veritabanında değişiklik yapan asıl betik <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/act_or_deact_bool.php?revision=17&amp;view=markup" target="_blank">act_or_deact_bool.php</a> betiğidir. Kendisine gönderilen <strong>id</strong> verisine göre hangi satırda işlem yapacağını ve <strong>process</strong> verisine göre atayacağı değeri belirler ve kullanıcı yetki kontrolü yaparak işlemi gerçekleştirir ve bir çıktı gönderir.</p>
<p>Proje giderek daha karmaşık ve bir o kadarda zevkli hale gelmeye başladı. Aklımda olupta henüz hayata geçirmeye fırsat bulamadığım o kadar çok işlem varki rüyalarıma kadar girmekte. Şimdilik bu kadar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sistem Değişkenlerinde Düzenleme ve Kaldırma İşlemleri</title>
		<link>http://www.samkon.org/?p=44</link>
		<comments>http://www.samkon.org/?p=44#comments</comments>
		<pubDate>Fri, 22 Feb 2008 12:53:59 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[veritabanı]]></category>
		<category><![CDATA[aaa]]></category>
		<category><![CDATA[admin_functions.js]]></category>
		<category><![CDATA[admin_functions.php]]></category>
		<category><![CDATA[edit_char_by_id]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[notification.remove.php]]></category>
		<category><![CDATA[remove_bool_value()]]></category>
		<category><![CDATA[remove_char_value()]]></category>
		<category><![CDATA[sovariablebools]]></category>
		<category><![CDATA[sovariablechars]]></category>
		<category><![CDATA[system values]]></category>
		<category><![CDATA[update_char_value()]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=44</guid>
		<description><![CDATA[Sistem değişkenleri dediğimizde projeyi takip edenler yönetim panelimizdeki &#8220;system values&#8221; ve veritabanımızdaki #sovariablebools ve #sovariablechars tablolarını anımsayacaklardır. Bir önceki gelişme bildirimde bu alan hakkında bahsetmiştim.
Bugün ise özet olarak önceki bildirimde oluşturduğum &#8220;system values&#8221; alanının yönetimiyle ilgili olan sistem değişkenlerini düzenleme (şimdilik &#8217;sovariablechars&#8217; yani metin değişkenleri  için) ve sistem değişkenlerini kaldırma (hem metin hem de [...]]]></description>
			<content:encoded><![CDATA[<p>Sistem değişkenleri dediğimizde projeyi takip edenler yönetim panelimizdeki &#8220;<strong>system values</strong>&#8221; ve veritabanımızdaki <strong>#sovariablebools</strong> ve <strong>#sovariablechars</strong> tablolarını anımsayacaklardır. Bir önceki <a href="http://www.samkon.org/?p=43" target="_blank">gelişme bildirimde</a> bu alan hakkında bahsetmiştim.</p>
<p>Bugün ise özet olarak önceki bildirimde oluşturduğum &#8220;<strong>system values</strong>&#8221; alanının yönetimiyle ilgili olan sistem değişkenlerini düzenleme (şimdilik &#8217;sovariablechars&#8217; yani metin değişkenleri  için) ve sistem değişkenlerini kaldırma (hem metin hem de mantıksal değişkenler için) eylemlerini gerçekleştirdim.</p>
<p><strong>#sovariablebools</strong> tablosunda tutulan mantıksal değişkenler bir düzenleme işleminden çok aktifleştirme ve pasifleştirme işlemlerine tabi tutulacağından değişkenleri düzenlemekten kastım <strong>#sovariablechars</strong> tablosunda tutulan metin değişkenleridir.</p>
<p>Bu kısa giriş açıklamalarından sonra neler yaptığıma gelecek olursak, anlatmanın en kolay yolu sanırım <strong>admin_functions.php</strong> betiğinde bulunan <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=16&amp;view=markup#l_208" target="_blank">load_systemvalues_content()</a> fonksiyonunu ele almak olacaktır.</p>
<p><span id="more-44"></span> Görüldüğü üzere fonksiyonun ilk işlevi <strong>GET</strong> metoduyla alınan <strong>aaa</strong> verisini kontrol etmek ve eğer değer girilmiş ise<strong> edit_char_by_id()</strong> fonksiyonuna göndermektir. Bundan sonra <strong>id</strong> numarası <strong>aaa</strong> değişkenine yüklenen metin değişkenini düzenlemek <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=16&amp;view=markup#l_292" target="_blank">edit_char_by_id()</a> fonksiyonuna kalmaktadır.</p>
<p><strong>edit_char_by_id</strong> fonksiyonu kendisine girilen <strong>id </strong>numarasına ilişkin bilgileri <strong>#sovariablechars</strong> tablosundan alır ve ekrana düzenleme yapabileceğimiz bir<strong> form</strong> yazdırır. Bu form yardımıyla düzenleme işlemini gerçekleştirme istediğimizde <strong>admin_functions.js</strong> betiğinde tanımladığımız <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=16&amp;view=markup#l_138" target="_blank">update_char_value()</a> fonksiyonu çalıştırılır ve ilgili veriler <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/update_systemvalue.php?revision=16&amp;view=markup" target="_blank">/so-admin/base-files/jobs/update_systemvalue.php</a> betiğine gönderilir. Bu betik ise girilen yeni verileri ilgili <strong>id</strong> numarasına sahip satıra yazar. Buna ilişkin bir bildiri sayfanın &#8220;<strong>notification</strong>&#8221; id değerine sahip alanında belirir (update_char_value() fonksiyonu sayesinde &#8211; AJAX).</p>
<p>Bu işlem <strong>sistem metin değişkenlerinin</strong> düzenlenmesiyle ilgili olan kısımdı.  Düzenleme sayfası ekran görüntüsüne <a href="http://aycu34.webshots.com/image/43113/2003620663974835376_rs.jpg" target="_blank">buradan</a>, düzenlemeden sonraki ekran görüntüsüne ise <a href="http://aycu08.webshots.com/image/44287/2003657680326142297_rs.jpg" target="_blank">şuradan</a> ulaşabilirsiniz.</p>
<p>Benzer bir mantıkla çalışan <strong>admin_functions.js</strong> betiğinde yeni oluşturduğum<br />
<a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=16&amp;view=markup#l_96" target="_blank">remove_char_value()</a> ve <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.js?revision=16&amp;view=markup#l_117" target="_blank">remove_bool_value()</a> fonksiyonları ise daha önceden bahsettiğim <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/jobs/remove.php?revision=16&amp;view=markup" target="_blank">&#8230;/jobs/remove.php</a> betiğine işlenecek tablo ismi verisini ve id bilgisini gönderiyor. Sistem değişkenini kaldırma işlemini remove.php tamamlıyor. Yani <strong>remove.php </strong>daha önce bahsettiğim menü ve alt menü girdilerini silme işlemini gerçekleştirmekle kalmıyor, sistem değişkenlerini silme işlemini de kendisine bırakmış olduk.</p>
<p>System Values alanının ekran görüntüsüne <a href="http://aycu35.webshots.com/image/45274/2003624907803441298_rs.jpg" target="_blank">şuradan</a> ulaşabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;System Values&#8217; Alanı Düzenlemesi &#8211; load_systemvalues_content()</title>
		<link>http://www.samkon.org/?p=43</link>
		<comments>http://www.samkon.org/?p=43#comments</comments>
		<pubDate>Wed, 20 Feb 2008 13:50:50 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[fonksiyon ve betikler]]></category>
		<category><![CDATA[projeler]]></category>
		<category><![CDATA[samkon project]]></category>
		<category><![CDATA[load_systemvalues_content()]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[sovariablebools]]></category>
		<category><![CDATA[sovariablechars]]></category>
		<category><![CDATA[system values]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=43</guid>
		<description><![CDATA[Bugün sizlere geçen hafta üzerinde çalıştığım load_systemvalues_content() fonksiyonu hakkındaki gelişmelerden bahsedeceğim. Geçen hafta çok yoğun olmam ve bu yoğunluk üzerine normal sayılmayacak derecede yağan karın hayatı felç etmesi ve benim bunları mazeret sayarak biraz kendime zaman ayırmak istemem nedeniyle bu gelişme bildirisini yayınlamak bu tarihe kaldı.
Geçmiş bir gelişme olması ve svn deposundan ilgili gelişmelerin takip [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün sizlere geçen hafta üzerinde çalıştığım <a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=15&amp;view=markup#l_208" target="_blank">load_systemvalues_content()</a> fonksiyonu hakkındaki gelişmelerden bahsedeceğim. Geçen hafta çok yoğun olmam ve bu yoğunluk üzerine normal sayılmayacak derecede yağan karın hayatı felç etmesi ve benim bunları mazeret sayarak biraz kendime zaman ayırmak istemem nedeniyle bu gelişme bildirisini yayınlamak bu tarihe kaldı.</p>
<p>Geçmiş bir gelişme olması ve svn deposundan ilgili gelişmelerin takip edilebilmesi nedeniyle fazla üzerinde durmayacağım. Fonksiyonumuz yönetim panelimizde <strong>options</strong> seçeneğinin altında yer alan <strong>system values </strong>alanının içeriğini oluşturmaktadır. Bu alanda daha önceden bahsettiğim gibi sistemde hali hazırda bulunmasını istediğimiz bir takım değişkenleri yöneteceğiz.</p>
<p>Bu değişkenler <strong>iki değerlikli</strong> &#8211;boolean&#8211; ve <strong>uzun metin </strong>olmak üzere iki tiptedir. İki değerlikli değişkenlerimizi tutmak için veritabanımızdaki <strong>sovariablebools</strong>,<strong> </strong>metin değişkenlerini tutmak için ise <strong>sovariablechars </strong>tablolarını kullanacağız.</p>
<p><a href="http://samkonproject.svn.sourceforge.net/viewvc/samkonproject/trunk/so-admin/base-files/admin_functions.php?revision=15&amp;view=markup#l_208" target="_blank">load_systemvalues_content()</a> fonksiyonumuzu incelersek fonksiyonumuzun henüz sadece bu veritabanı tablolarından aldığı bilgileri sırayla ekrana bilgi amaçlı yazdırmaktan ibaret olduğunu görebiliriz. Sırasıyla önce <strong>sovariablebools</strong> ve <strong>sovariablechars</strong> tablolarından verileri alıyor ve ekrana yazdırıyor.</p>
<p>Üzerinde düzenleme, silme, etkinleştirme gibi işlemlerle çalıştığımdam ve ilgili işlemlerin gelişmelerinde zaten bahsedileceğinden detayına henüz girmek istemiyorum. Fakat ekran görüntüsü isterseniz <a href="http://img169.imageshack.us/img169/4761/systemvaluesht5.jpg" target="_blank">şuraya</a> bakabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
