Новости Joomla

Вышел релиз Joomla 6.2

Релиз Joomla 6.2.0

Проект Joomla! рад сообщить о выходе новой минорной версии — Joomla 6.2 (кодовое имя Mwezi).

Вышел релиз Joomla 5.4.10

Релиз Joomla 5.4.10

Проект Joomla! рад сообщить о выходе Joomla 5.4.10. Это последний релиз исправления ошибок для серии Joomla 5.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 2400 Просмотров

Всем привет,

пожалуйста помогите кто может.
Очень нужно переделать мамбот, который без проблем работал под старой Joomla, чтобы работал в "Native Mode" на новой 1.5.
Мамбот был частично ориентирован на JoomPie. Т.е. я его переделал так, что он работал с флэшем "Line & Area chart" от Amcharts.

Плагин функционирует (под Joomla 1) таким образом:
В статьях контента можно вводить следующее:
Код
{kursline}
{klmode}inline{/klmode}
{kldata}1949;2.54;20.21|1950;2.51;19.73|1951;2.53;18.43|1952;2.53;18.08{/kldata}
{klwidth}500{/klwidth}
{klheight}400{/klheight}
{kllabel}Current Index{/kllabel}
{/kursline}
или вот это:
Код
{kursline}
{klmode}datex{/klmode}
{klattitude}amline_oi_settings.xml{/klattitude}
{kldatei}oiz_2charts.txt{/kldatei}
{klwidth}630{/klwidth}
{klheight}440{/klheight}
{kllabel}Index Notes{/kllabel}
{/kursline}


Эти данные через PHP-файл плагина коммуницируют с флэшем и получаются вот > такие симпатичные графики.
PHP-скрипт плaгина выглядит следующим образом:

..................................................................................

<?php
// no direct access
defined('_JEXEC') or die("Direct Access Is Not Allowed");

global 
$mainframe;
$mainframe->registerEvent( 'onPrepareContent', 'kursline' );

function 
klParam( $name, $tags ) {
    
$paramregex = '/{kl'.$name.'}(.*){\/kl'.$name.'}/s';
    
$paramresult = preg_match($paramregex, $tags[1],$result);
    return 
$result;
}

function 
kursline( $published, &$row  ) {
    global 
$database;
    if (!
$published) {
        
$row->text = preg_replace( '/{kursline}(.*){\/kursline}/s','', $row->text );
        return 
true;
    }

    
$version = "1.1";
    
$regex = '/{kursline}(.*){\/kursline}/s';
   
   
// Get Parameters from Content
   
    
$result = preg_match( $regex, $row->text, $tags );
      
    
$debug = klParam("debug", $tags);
    
$mode = klParam("mode", $tags);
    
$chart = klParam("chart", $tags);
    
$data = klParam("data", $tags);
    
$datei = klParam("datei", $tags);
    
$attitude = klParam("attitude", $tags);
    
$sql = klParam("sql", $tags);
    
$width = klParam("width", $tags);
    
$height = klParam("height", $tags);
    
$colors = klParam("colors", $tags);
    
$basecolor = klParam("basecolor", $tags);
    
$bgcolor = klParam("bgcolor", $tags);
    
$digitsafterdecimal = klParam("digitsafterdecimal", $tags);
    
    
    
// Get Parameters from Backend
   
    
$query = "SELECT id FROM #__mambots WHERE element = 'kursline' AND folder = 'content'";
    
$database->setQuery( $query );
    
$id = $database->loadResult();
    
$mambot = new mosMambot( $database );
    
$mambot->load( $id );
    
$mambotParams =& new mosParameters( $mambot->params );
   
   
// Use Content-Parameters or Backend-Defaults
   
    
if($debug[1]=="") $debug[1] = $mambotParams->get( 'debug', '0' );
    if(
$chart[1]=="") $chart[1] = $mambotParams->get( 'chart', 'default' );
    if(
$width[1]=="") $width[1] = $mambotParams->get( 'width', '500' );
    if(
$height[1]=="") $height[1] = $mambotParams->get( 'height', '500' );
    if(
$bgcolor[1]=="") $bgcolor[1] = $mambotParams->get( 'bgcolor', '#ffffff' );
    if(
$digitsafterdecimal[1]=="") $digitsafterdecimal[1] = $mambotParams->get( 'digitsafterdecimal', '2' );
    
    
// ...............................
    
    
if($debug[1] == 1) {
    echo 
"<pre>";
        
$row->text = print_r($mode);    
        
$row->text = print_r($chart);
        
$row->text = print_r($sql);
        
$row->text = print_r($width);
        
$row->text = print_r($height); 
        
$row->text = print_r($label);
        
$row->text = print_r($basecolor);
        
$row->text = print_r($data);
        
$row->text = print_r($bgcolor);
    echo 
"</pre>";
    }


   global 
$mosConfig_live_site;
   
   
$repl  = "\n".'<!-- KURSLINE v'.$version.' START -->'."\n";
    
$repl .= '<script type="text/javascript" src="';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/swfobject.js"></script>'."\n";
    
$repl .= '<div id="flashcontent_line"><strong>You need to upgrade your Flash Player</strong></div>';
    
$repl .= '<script type="text/javascript">'."\n";
    
$repl .= '    // <![CDATA['."\n";        
    
$repl .= '    var so = new SWFObject("';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/amline.swf", "amline", "'.$width[1].'", "'.$height[1].'", "8", "'.$bgcolor[1].'");'."\n";
    
$repl .= '    so.addVariable("path", "';
    
$repl .= $mosConfig_live_site;
    
$repl .= '/mambots/content/kursline/amline/");'."\n";
    
    if(
$mode[1] == "file") {
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/mambots/content/kursline/charts/default/amline_settings.xml");'."\n";
        
$repl .= '    so.addVariable("data_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/mambots/content/kursline/charts/default/amline_data.txt");'."\n";
    }
    
    if(
$mode[1] == "datex") {
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/images/stories/charts/settings/'.$attitude[1].'");'."\n";
        
$repl .= '    so.addVariable("data_file", "';
        
$repl .= $mosConfig_live_site;
        
$repl .= '/images/stories/charts/'.$datei[1].'");'."\n";
    }
        
    if(
$mode[1] == "inline") {
        if( !empty(
$data) ) {
            
$repl .= '    so.addVariable("settings_file", "';
            
$repl .= $mosConfig_live_site;
            if(empty(
$chart)) {
                
$chart = "default";
            }
            else {
                
$chart = $chart[1];
            }
            
$data[1] = str_replace("|","\\n",$data[1]);
            
$repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
            
$repl .= '    so.addVariable("chart_data", escape("'.$data[1].'"))'."\n";
        }
    }
    
    if(
$mode[1] == "sql") {
        
$sql = $sql[1];
        
$database->setQuery( $sql );
        
$sqldata = $database->loadRowList();
        foreach(
$sqldata as $data) {
            if(!empty(
$data[1])) {
                
$sqlitems .= $data[0].";".$data[1].";".'\n';
            }
        }
        
$repl .= '    so.addVariable("settings_file", "';
        
$repl .= $mosConfig_live_site;
        if(empty(
$chart)) {
            
$chart = "default";
        }
        else {
            
$chart = $chart[1];
        }
        
$repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
        
$repl .= '    so.addVariable("chart_data", escape("'.$sqlitems.'"))'."\n";
    }
    
    
$repl .= '    so.addVariable("additional_chart_settings", "';
    
$repl .= '<settings>';
    
    
    
    
// Global
    
$repl .= '<data_type>csv</data_type><font>Arial</font><text_size>'.$textsize[1].'</text_size>';
    if( !empty(
$digitsafterdecimal) ) {
        
$repl .= '<digits_after_decimal>'.$digitsafterdecimal[1].'</digits_after_decimal>';
    }
    
    
    
// ...............................
    
    
    
$repl .= '<export_as_image><file>../../mambots/content/kursline/amline/export.php</file><color>#69adc1</color><alpha>50</alpha></export_as_image>';
    
$repl .= '</settings>");'."\n";
    
    
$repl .= '    so.write("flashcontent_line");'."\n";
    
$repl .= '    // ]]>'."\n";
    
$repl .= '</script>'."\n";
    
$repl .= '<!-- KURSLINE v'.$version.' END -->'."\n"; 
   
   
$regex = '/{kursline}(.*){\/kursline}/s';
   
$row->text = preg_replace($regex, $repl, $row->text);
   return 
true;
}

.....................................................................................

Буду невероятно признателен за любую помощь.
Огромное спасибо заранее!
Андрей
« Последнее редактирование: 13.03.2009, 13:49:59 от letinant »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Надо переделать готовый компонент Генератор Купонов J2.5 на J1.5

Автор mkoff

Ответов: 3
Просмотров: 2626
Последний ответ 18.12.2014, 10:22:04
от assa1988
Шаблонизация компонентов в Joomla1.5. Первый взгляд.

Автор userxp

Ответов: 29
Просмотров: 25890
Последний ответ 30.01.2011, 23:56:42
от shprota