Cevapla 
 
Derecelendir
  • 1 Oylar - 5 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5
MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
09-20-2007, 09:50 PM
Mesaj: #1
MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
4 tip mybb eklenti altyapısı varmış 1.4 te yenilik olarak..
_install, _is_installed and _uninstall herbiri başlı başına opsiyonel olanlarmış..
_info() function: "compatibility" ve "guid" de adı geçen yeni yeni opsiyonel yöntemlerdenmiş..
işte mybb de varsayılan olarak cümleten hepimize gelen merhaba dünya eklentisi:
PHP Kod:
<?php
/**
 * MyBB 1.4
 * Copyright © 2007 MyBB Group, All Rights Reserved
 *
 * Website: http://www.mybboard.net
 * License: http://www.mybboard.net/about/license
 *
 * $Id: hello.php 3306 2007-09-13 05:29:43Z Tikitiki $
 */
 
// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("pre_output_page""hello_world");
$plugins->add_hook("postbit""hello_world_postbit");

function 
hello_info()
{
    
/**
     * Array of information about the plugin.
     * name: The name of the plugin
     * description: Description of what the plugin does
     * website: The website the plugin is maintained at (Optional)
     * author: The name of the author of the plugin
     * authorsite: The URL to the website of the author (Optional)
     * version: The version number of the plugin
     * guid: Unique ID issued by the MyBB Mods site for version checking
     * compatibility: A CSV list of MyBB versions supported. Ex, "121,123", "12*". Wildcards supported.
     */
    
return array(
        
"name"        => "Hello World!",
        
"description"    => "A sample plugin that prints hello world and changes the content of each post to 'Hello world!'",
        
"website"        => "http://www.mybboard.net",
        
"author"        => "MyBB Group",
        
"authorsite"        => "http://www.mybboard.net",
        
"version"        => "1.0",
        
"guid"            => "",
        
"compatibility"    => "*"
    
);
}

/**
 * ADDITIONAL PLUGIN INSTALL/UNINSTALL ROUTINES
 *
 * _install():
 *   Called whenever a plugin is installed by clicking the "Install" button in the plugin manager.
 *   If no install routine exists, the install button is not shown and it assumed any work will be
 *   performed in the _activate() routine.
 *
 * function hello_install()
 * {
 * }
 *
 * _is_installed():
 *   Called on the plugin management page to establish if a plugin is already installed or not.
 *   This should return TRUE if the plugin is installed (by checking tables, fields etc) or FALSE
 *   if the plugin is not installed.
 *
 * function hello_is_installed()
 * {
 *        global $db;
 *        if($db->table_exists("hello_world"))
 *        {
 *            return true;
 *        }
 *        return false;
 * }
 *
 * _uninstall():
 *    Called whenever a plugin is to be uninstalled. This should remove ALL traces of the plugin
 *    from the installation (tables etc). If it does not exist, uninstall button is not shown.
 *
 * function hello_uninstall()
 * {
 * }
 *
 * _activate():
 *    Called whenever a plugin is activated via the Admin CP. This should essentially make a plugin
 *    "visible" by adding templates/template changes, language changes etc.
 *
 * function hello_activate()
 * {
 * }
 *
 * _deactivate():
 *    Called whenever a plugin is deactivated. This should essentially "hide" the plugin from view
 *    by removing templates/template changes etc. It should not, however, remove any information
 *    such as tables, fields etc - that should be handled by an _uninstall routine. When a plugin is
 *    uninstalled, this routine will also be called before _uninstall() if the plugin is active.
 *
 * function hello_deactivate()
 * {
 * }
 */


function hello_world($page)
{
    
$page str_replace("<div id=\"content\">""<div id=\"content\"><p>Hello World!<br />This is a sample MyBB Plugin (which can be disabled!) that displays this message on all pages.</p>"$page);
    return 
$page;
}

function 
hello_world_postbit($post)
{
    
$post['message'] = "<strong>Hello world!</strong><br /><br />{$post['message']}";
}
?>

genel olarak plug inlerde değişenler:
1)bu çıkartıldı: TABLE_PREFIX. buralardan: $db->simple_select, $db->update_query, $db->insert_query, $db->delete_query, $db->table_exists, the second argument in $db->field_exists, $db->optimize_table, $db->analyze_table, $db->show_create_table, $db->show_fields_from, $db->is_fulltext, $db->supports_fulltext, $db->supports_fulltext_boolean, $db->create_fulltext_index, and $db->drop_index

$db-> halen TABLE_PREFIX. sorgulaması yapıyor, henüz sorgu için bir otomasyon yöntemi mevcut değil ve çoğu db nin düşük seviyeli katmanlarında;

tablo ön adları $db->set_table_prefix(arg1 prefix) ile değiştirilebilir (not: bu yeniden tanımlanabilir bir TABLE_PREFIX. değil; bu değişikliği kendi kodunu yardımı ile $db->set_table_prefix kullanarak yapmak zorundasın.)

bunlar gibi bazı yeni fonksiyonlar ekledik:
$db->replace_query(arg1 table, arg2 replacements)
$db->fetch_size([arg1 table])
$db->drop_table(arg1 table, [arg2 hard drop, [arg3 table prefix]])
$db->free_result(arg1 query resource)

$db->write_query - rolleri tıpkı $db->query gibi yanlızca ana server üzerinden çalıştırılabilir. çünkü insanlara çoklu MYSQL serverlarda harika kurulumlar için öntanımlı teknolojiler kullanıyoruz (bir örnek vermek gerekirse http://www.ncaabbs.com/forums/)

ben mybb 1.4 e kim kendi kodlarını hazırlayacaksa, mümkün olduğu kadar kendine veritabanında yer açabilen kodlar kullanmasını öneriyorum, (örn: $db->update_query) devamı flood yapacağım mesajda olacak yer kalmadı Biggrin
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-20-2007, 09:51 PM
Mesaj: #2
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
çünkü artık SQLite 2, SQLite 3, ve PostgreSQL bazı MySQL söz dizimlerini direk $db->query içerisinde düzgün çalıştıramadan kullanıyor. her durumda, $db->update_query gibi veritabanında yer açabileleri kullanmak, doğru sözdizimlerini sıralayacaktır.

$db->write_query yi daha da açıklamak için, $db->write_query INSERTS/UPDATES/DELETES/ALTER ifadeleri için yanlızca ana server üzerinden çalıştırılacaktır. nedeniyse MySQL'un aynı kurulumu gerçekleştirmesidir. yani, eklenti yada modifiyenin NCAAbbs gibi büyük bir forumda çalışabilmesini istiyorsan ve 1.4 e çeşitli kodlar hazırlıyorsanız şiddetle (bana ne zaten gece eklenti çevirmişim işkence edionuz bana abartırım işte Tonguep: ) $db->write_query kullanmanızı öneriyorum. o veri kullanımlarından hiçbiri INSERTS/UPDATES/DELETES/ALTER ve $db->update_query, $db->insert_query, benzerleri gibi veritabanında kendine yer açanların avantajına sahip olamaz.

bu nedenlerle kim çapraz kodlamayı $db->update_query, $db->insert_query nin veritabanı işleyişine oturtamazsa ve $db->query yada $db->write_query kullanırsa SQLite yada PostgreSQL dan birinde bağdaştırma sorunu yaşar yeni değişken $db->type ın nimetlerinden faydalanamaz.

işte size bir örnek:
PHP Kod:
switch($db->type)
{
    case 
"pgsql":
    case 
"sqlite3":
    case 
"sqlite2":
        
$query $db->simple_select("modtools""tid, name, type""','||forums||',' LIKE '%,$fid,%' OR ','||forums||',' LIKE '%,-1,%'");
        break;
    default:
        
$query $db->simple_select("modtools""tid, name, type""CONCAT(',',forums,',') LIKE '%,$fid,%' OR CONCAT(',',forums,',') LIKE '%,-1,%'");


ayrıca bazı kendine özgü DB Engine fonksiyonları da bazı özel problemlerde daha sonra belirleyeceğimiz Server Query dillerinde size yardımcı olacaktır.

eğer MyBB 1.2 ACP yada modifiyeli bir ACP kodu ile yapılmış eklentiniz dengesizleşirse güncellenmesini denemenizin bir anlamı olmaz. yeni yerleştirilen değişiklikleri ACP (bütün olanlardan sonra yeniden hazırlandı) her halükarda yeniden yazmanızı gerektirecek. ayrıca, malesef bundan sonra herhangi bir yeni ACP kodu, yada ona ait bir resim yayınlamayacağız. Not: herhangi bir ayar değiştirmeniz gerekmeyecek, halen tamamen aynı veritabanı sistemi.

veritabanı değişikliklerinden kurtulmak için the rebuildsettings() (yeniden yapılandırma ayarları) rebuild_settings() olarak yeniden adlandırıldı FAKAT rebuildsettings() halen halen mevcut böylece eklenti yazarları değiştirmek zorunda kalmayacak; AMA rebuild_settings() e geçmenizi şiddetle tavsiye ediyorum çünkü rebuildsettings() i 1.4'ten sonraki sürümünde kaldırmamız çok iyi olucak.

halen eklentilerinizi etkileyecek tonlarca değişiklik var ama henüz 1.2.x ile 1.4 arasındaki açıklama dökümanlarını hazırlayamadık ve bu bilgilendirme derslerinin altında inceliyoruz.

sürümün tamamlanmasına yaklaştıkça yeni bilgileri sizlere sunacağım. (bende çeviririm ozaman naapalım.. kader Tongue )

umarım bu yardımcı olmuştur.

Ryan

-----------------------------

makale bukadar arkadaşlar hadi hayrını görün :iyi
sanırsam bu bilginin ingilizcesi ilk bizde olmakla birlikte en iyi mybb desteğini sunmamız açısından türkçe çevirimini de ilk olarak biz sunuyoruz... belki birgün başkaları da böyle yapar... ne dersiniz hoş olmazmı? (eski bir banka reklamından alıntı)

umarım yardımcı olmuştur..

sevgiler dared
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-20-2007, 09:57 PM
Mesaj: #3
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
Bilgi İçin SAğol +Rep
Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-20-2007, 10:10 PM (Bu Mesaj 09-20-2007 10:11 PM değiştirilmiştir. Değiştiren : osmang.)
Mesaj: #4
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
Dostum teşekkürler, yabancı siteleri mozilla ile "fox lingo" adlı programda çevirebilirsiniz, yani senin çevirdiğinin aynısı çıkıyor. En azından acaba ne yazıyor demez kimse, eklentiyi kurun ve dilediğinizi çevirin... Bu kadarda tarzanca olmaz ki ya :@
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-20-2007, 10:22 PM
Mesaj: #5
RE: Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
osmang Yazılan:Dostum teşekkürler, yabancı siteleri mozilla ile "fox lingo" adlı programda çevirebilirsiniz, yani senin çevirdiğinin aynısı çıkıyor. En azından acaba ne yazıyor demez kimse, eklentiyi kurun ve dilediğinizi çevirin... Bu kadarda tarzanca olmaz ki ya :@

ne tarzancası yaa arkadaşım ne diosun sen bi oku bakiim anlaşılır değilse ozaman gel.. 21 yaşındayım 9 yıldır ingilizce konuşabiliyorum (marmaris te yaşadığımdan istemesende öğrenmen gerekiyor)
ha ben daha iyi yaparım diosan o abuk programlarla keyfin bilir.. ama bir programla albayrak kelimesini ingilizceye çevirirsen noolur biliyormusun? get the flag yada take a flag sonucunu alırsın.. çünkü o saçma programlar kalıpları tercüme edemez... bi oku bakalım o bahsettiğim şekilde bi saçmalık varmı konuda... beğenmediğin br kısım varsa orjinali var konunun daha anaşılır çevir koy ozaman yapamiyacaksan hiç başkasına laf atma
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-21-2007, 12:21 AM
Mesaj: #6
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
osmang Yazılan:Dostum teşekkürler, yabancı siteleri mozilla ile "fox lingo" adlı programda çevirebilirsiniz, yani senin çevirdiğinin aynısı çıkıyor. En azından acaba ne yazıyor demez kimse, eklentiyi kurun ve dilediğinizi çevirin... Bu kadarda tarzanca olmaz ki ya :@

emeğe saygı duymalısın..!!!!!
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-21-2007, 12:41 AM
Mesaj: #7
RE: Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
roy Yazılan:[quote=osmang]
Dostum teşekkürler, yabancı siteleri mozilla ile "fox lingo" adlı programda çevirebilirsiniz, yani senin çevirdiğinin aynısı çıkıyor. En azından acaba ne yazıyor demez kimse, eklentiyi kurun ve dilediğinizi çevirin... Bu kadarda tarzanca olmaz ki ya :@

Senin dediğin gibi olsa bile ki öle olmadıgını biliyorum o da bi EMEK sonuçta..Marmarisde ing bilmeyen adam yaşayamaz..Sen ögrenmek istemesen bile sonun da bi bakmışşsın ingilizce konuşuyosun..onun için Emeğe sayğı göster :iyi:iyi
Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-21-2007, 12:41 PM
Mesaj: #8
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
Alıntı:Dostum teşekkürler, yabancı siteleri mozilla ile "fox lingo" adlı programda çevirebilirsiniz, yani senin çevirdiğinin aynısı çıkıyor. En azından acaba ne yazıyor demez kimse, eklentiyi kurun ve dilediğinizi çevirin... Bu kadarda tarzanca olmaz ki ya

o üşenmemiş uğraşmış herkesin isteği üzerine sen teşekkür edeceğin yere neler diyosun kardeşim , emeğine sağlık dared...
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-21-2007, 03:29 PM
Mesaj: #9
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
Yahu neyine teşekkür edicem, size arapça rusça ibranice, onlarca dili birebir çeviririm. kafamın tasını attırmayın :@
Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
09-25-2007, 02:16 AM
Mesaj: #10
Cvp: MyBB 1.4 'e Eklenti Modifikasyonu Hakkında Bilgi ( Yanlızca Bizde)
dared eline sağlık arkadaşım

üstüme vazife değil ama osmang sende sanırım biraz saygısızlık yapıyorsun yapacağın alt tarafı bir teşekkür dared uğraşmış çevirmiş emeğe saygı lütfen
Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul
Alıntı Yaparak Cevapla
« Önceki | Sonraki »
Cevapla 


Forum Atla:

İletişimMyBB TurkiyeYukarıya dönİçeriğe DönHafifleştirilmiş SürümRSS Beslemesi