Forum Aski - Türkiye'nin En Eğlenceli Forumu
 

Go Back   Forum Aski - Türkiye'nin En Eğlenceli Forumu > Webmaster Dünyası > Webmaster Genel > Joomla


Pc Programlama Kod Renklendirici Joomla 1.5 Uygulama Eki

Joomla kategorisinde açılmış olan Pc Programlama Kod Renklendirici Joomla 1.5 Uygulama Eki konusu , ...


Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Arama Stil
Alt 12.09.2014, 11:53   #1 (permalink)

Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Standart Pc Programlama Kod Renklendirici Joomla 1.5 Uygulama Eki



Pc Programlama Kod Renklendirici Joomla 1.5 Uygulama Eki


HazirProgramKod kod renklendiricisi, Joomla içerik yönetim sistemlerini kullanan internet sitelerinde yayınlanan kodların daha renkli ve okunabilir olmasını sağlar.HazirProgramKod kod renklendiricisi Joomla ile kurulu gelen Geshi kod renklendirici(syntax highlighter) paketini kullanır.HazirProgramKod mambotu Joomla ile tanımlı gelen paketten farklı olarak kod renklendirme yaparken "{" "}" parantezlerininin kullanımına izin verir.Joomla ile varsayılan olarak gelen TinyMCE WYSIWYG editöründe sorunsuzca kullanılabilir.

Diller :
Joomla paketinin içinde gelen tanımlı diller şunlardır: css,html,ini,javascript,mysql,php,sql,xml
Extradan diller eklemek isterseniz (Örneğin C++, Java vs.) Geshi projesninin sayfasından indirdiğiniz proje dosyasındaki dilleri siteniz altındaki libraries\geshi\geshi altına yükleyebilirsiniz.


Kod:
{HazirProgramKod dil="cpp" satirlar="var" renklendir="hayir"}

// Kodunuz buraya gelecek

{/HazirProgramKod}
renklendir="hayir" özelliği kodların renklendirilmesini engellemek içindir. Örneğin HazirPrograKod etiketini yukardaki gibi içeriğin herhangi bir yerinde göstermek isterseniz renklendir="hayir" özelliğini aktif etmeniz gerekir. Varsayılan olarak renklendirme vardır.

hazirprogramkod.php dosyasında eklentinin kaynak kodu vardır.

hazirprogramkod.php

Kod:
<?php 
  
    /* 
    
    HazirProgramKod Kod Renklendirici Joomla 1.5 Plugin 
    HazirProgramKod Kod Renklendirici highlights programming languages' codes. 
    Copyright (C) 2009 Şevket Umut ÇAKIR 
  
    This program is free software: you can redistribute it and/or modify 
    it under the terms of the GNU General Public License as published by 
    the Free Software Foundation, either version 3 of the License, or 
    (at your option) any later version. 
  
    This program is distributed in the hope that it will be useful, 
    but WITHOUT ANY WARRANTY; without even the implied warranty of 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    GNU General Public License for more details. 
  
    You should have received a copy of the GNU General Public License 
    along with this program.  If not, see <http://www.gnu.org/licenses/>. 
  
    */ 
  
    
// Direk erişim yasaklanıyor... 
defined( '_JEXEC' ) or die( 'Restricted access' ); 
  
jimport( 'joomla.event.plugin' ); 
  
/** 
* HazirProgramKod plugin sınıfı 
*/ 
class plgContentHazirProgramKod extends JPlugin { 
  
  function plgContentHazirProgramKod( &$subject ) { 
    parent::__construct( $subject ); 
    $this->_plugin =& JPluginHelper::getPlugin( 'content', 'hazirprogramkod' ); 
    $this->_params = new JParameter( $this->_plugin->params ); 
  } 
  
  
  function onPrepareContent( &$row, &$params, $page=0 ) { 
  
    // etiketlerin bulunduğu yeri belirlemek için seçilen düzenli ifade 
    $O="{"; 
    $C="}"; 
    $tag="HazirProgramKod"; 
    $regex="#{$O}({$tag}.*?){$C}((?>{$O}(?!/?{$tag}[^{$O}]*?{$C})|[^{$O}]|(?R))*){$O}/{$tag}{$C}[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL] 
    $GLOBALS['_MAMBOT_HAZIRPROGRAMKOD_PARAMETRELER'] =& $this->_params; 
  
    // yer değiştirmeyi gerçekleştir. 
    $row->text = preg_replace_callback( $regex, 'plgContentHazirProgramKod::degistirici', $row->text ); 
  
    return true; 
  } 
/** 
* Eşleşen etiketleri değiştirir. 
* @[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]m array Eşleşenlerin dizisi 
* @[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL] string 
*/ 
  private static function degistirici( &$matches ) { 
    $params =& $GLOBALS['_MAMBOT_HAZIRPROGRAMKOD_PARAMETRELER']; 
    jimport('geshi.geshi'); 
    jimport('domit.xml_saxy_shared'); 
    
    /* 
    for($i=0;$i<count($matches);$i++) 
    { 
        echo "<p><b>$i.</b></p>"; 
        print_r($matches[$i]); 
    } 
    return ""; 
    */ 
    $args = SAXY_Parser_Base::parseAttributes( $matches[1] ); 
    $text = $matches[2]; 
    
    //kod renklendirme işleminin yapılıp yapılmayacağını belirleyen özellik 
    $renklendir = JArrayHelper::getValue( $args, 'renklendir', 'evet' ); 
    if($renklendir=="hayır" || $renklendir=="hayir") 
        return $matches[0]; 
    //hangi dilin kullanılacağını belirleyen özellik 
    $dil = JArrayHelper::getValue( $args, 'dil', 'php' ); 
    // Satır numaralarının gösterilip, gösterilmeyeceğini belirleyen dalga 
    $satirlar = JArrayHelper::getValue( $args, 'satirlar', 'yok' ); 
    
    // HTML haricindeki dillerde paragraf etiketlerini \n'e çevir 
    if($dil!="html") 
    { 
        $html_entities_match = array( "|\<p\>|", "|\<\/p\>|" ); 
        $html_entities_replace = array( "\n", "\n" ); 
  
        $text = preg_replace( $html_entities_match, $html_entities_replace, $text ); 
    } 
    
    $html_entities_match = array( "|\<br \/\>|", "#<#", "#>#", "|'|", '#"#', '# #' ); 
    $html_entities_replace = array( "\n", "<", ">", "'", '"', ' ' ); 
  
    $text = preg_replace( $html_entities_match, $html_entities_replace, $text ); 
  
    $text = str_replace('<', '<', $text); 
    $text = str_replace('>', '>', $text); 
  
    $text = str_replace( ' ', '  ', $text ); 
    //normal \n leri göstermek için 
    $text = str_replace( '\n', '\n', $text ); 
  
    $geshi = new GeSHi( $text, $dil ); 
    switch( $satirlar ) { 
      case 'var': 
        $geshi->enable_line_numbers( GESHI_NORMAL_LINE_NUMBERS ); 
        break; 
      case 'fancy': 
        $geshi->enable_line_numbers( GESHI_FANCY_LINE_NUMBERS ); 
        break; 
      case 'yok': 
      default: 
        break; 
    } 
    //konteyner tipinin belirlenmesi 
    $konteynertipi=$params->get( 'konteynertipi' ); 
    
    if($konteynertipi) 
    $geshi->set_header_type(GESHI_HEADER_DIV); 
    else 
    $geshi->set_header_type(GESHI_HEADER_PRE); 
    
    if($params->get( 'cssstil' )) 
        $geshi->set_overall_style($params->get( 'cssstil' )); 
    
    // renklendirme işleminin gerçekleştirilmesi 
    $text = $geshi->parse_code(); 
  
    $text = str_replace("\n", '<br />', $text); 
  
    //normal \n leri göstermek için 
    $text = str_replace('\n', '\n', $text); 
    
    return $text; 
  } 
  
}
hazirprogramkod.xml dosyası eklentinin Joomla sistemlerine kurulabilmesi için gerekli dosyadır. İçerisinde eklenti ile ilgili özellikler ve tanımlamalar mevcuttur.

hazirprogramkod.xml

Kod:
<?xml version="1.0" encoding="utf-8"?> 
<install version="1.5" type="plugin" group="content"> 
  <name>HazirProgramKod kod renklendirici</name> 
  <author>Şevket Umut ÇAKIR</author> 
  <creationDate>2009-01-01</creationDate> 
  <copyright>Copyright</copyright> 
  <license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL</license> 
  <authorUrl>www.pcprogramlama.com</authorUrl> 
  <authorEmail> [email protected]</authorEmail> 
  <version>1.0</version> 
  <description>Aciklama</description> 
  <languages> 
   <language tag="tr-TR">language/tr-TR/tr-TR.plg_content_hazirprogramkod.ini</language> 
   <language tag="en-GB">language/en-GB/en-GB.plg_content_hazirprogramkod.ini</language> 
    </languages> 
  <files> 
    <filename plugin="hazirprogramkod">hazirprogramkod.php</filename> 
  </files> 
  <params> 
    <param name="cssstil" type="textarea" cols="30" rows="5" default="width:500px;margin: 2px 0px 2px 0px;padding: 10px 10px 10px 10px;border: 1px dotted [Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]border-left: 20px solid [Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]background: [Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]font-size: 90%;overflow: auto;white-space: nowrap;" size="40" label="CSS Stili" description="Css Stili Aciklama" /> 
   <param name="konteynertipi" type="list" default="0" label="Konteyner Tipi" description="Konteyner Tipi Aciklama"> 
     <option value="0">DIV</option> 
     <option value="1">PRE</option> 
   </param> 
  </params> 
</install>
Eklentinin çoklu dil desteği olması için aşağıdaki 2 dosya oluşturulmuştur. Dil dosyalarının tanımlamaları hazirprogramkod.xml dosyasının içindedir.

tr-TR.plg_content_hazirprogramkod.ini

__________________
Kadının gücünü
Hafife Alma.








Her Yol Sana Çıkar
Galatasaray !



Konu Bia tarafından (12.09.2014 Saat 11:59 ) değiştirilmiştir.
EbruLi isimli Üye şimdilik offline konumundadır Alıntı ile Cevapla
Cevapla

Yukarı'daki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz.

Seçenekler Arama
Stil

Yetkileriniz
Konu Açma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Forum hakkında Kullanılan sistem hakkında
Forumaski paylaşım sitesidir.Bu nedenle yazılı, görsel ve diğer materyaller sitemize kayıtlı üyelerimiz tarafından kontrol edilmeksizin eklenmektedir.Bu nedenden ötürü doğabilecek yasal sorumluluklar yazan kullanıcılara aittir.Sitemiz hak sahiplerinin şikayetleri doğrultusunda yazılı, görsel ve diğer materyalleri 48 saat içerisinde sitemizden kaldırmaktadır. Bildirimlerinizi bu linkten bize yapabilirsiniz.

Telif Hakları vBulletin® Copyright ©2000 - 2016, ve Jelsoft Enterprises Ltd.'e Aittir.
SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.

Saat: 08:45


bizimmekan.com sohbet eczaonline.com Betcup Artemisbet pulibet Piabet Truvabet Marsbahis