IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
1Beğeni(ler)
  • 1 Post By Swat

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 06 Temmuz 2014, 18:38   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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:   Kodu kopyalamak için üzerine çift tıklayın!
{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

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?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 <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">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=) {
 
    
// 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}#is";
    
$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.
* [MENTION=81769]para[/MENTION]m array Eşleşenlerin dizisi
* [MENTION=27818]return[/MENTION] 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_numbersGESHI_NORMAL_LINE_NUMBERS );
        break;
      case 
'fancy':
        
$geshi->enable_line_numbersGESHI_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

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?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>
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
type="text/javascript" src="https://code.jquery.com/jquery-1.12.0.min.js"> 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

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
15, eki, joomla, kod, pc, programlama, renklendirici, uygulama


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma 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


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Programlama Yazılımının Arayüzü C# Console-Programlama Temelleri Ders 1 aSpeNDos C# 0 08 Mart 2013 13:31
MSN Nick Renklendirici.. ( SC ) UpsIDintAgain mIRC Scripting Hazır Kodlar 1 24 Haziran 2007 17:17
Nicklist renklendirici тєαм mIRC Scripting Hazır Kodlar 0 26 Mayıs 2007 13:40