Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП на PHP - 5 передача параметров в методы класса, передача параметров в методам класса 
V
    Опции темы
DENIM_DIM
Дата 26.3.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Здравствуйте у меня следующий вопрос!!!есть класс с FCKeditor (представлен ниже) и я немогу в  метод create() передать параметры!!!подскажите как это можно сделать*? передаю следующим образом function Create($name, $value, $height, $width)!!! если в конструктор передаю то все ОК! 
Код

class Fckeditor
{
    var $InstanceName ;
    var $BasePath ;
    var $Width ;
    var $Height ;
    var $ToolbarSet ;
    var $Value ;
    var $Config ;

    // PHP 5 Constructor (by Marcus Bointon <[email protected]>)
    
    function __construct()
    {
        $this->InstanceName    = 'fckeditor';
        $this->BasePath        =  "";
        $this->Width        = '100%';
        $this->Height        = '330';
        $this->ToolbarSet    = 'Default';
        $this->Value        = 'value';
        $this->Config        = array();
    }

    function Create()
    {
        $HtmlValue = htmlspecialchars($this->Value);
    
        $Html = '<div>';

        if ( $this->FCKeditor_IsCompatibleBrowser() )
        {
            if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )
                
                $File = 'fckeditor.original.html' ;
            
            else
                
                $File = 'fckeditor.html' ;

        $Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}";

            if ( $this->ToolbarSet != '' )

                $Link .= "&amp;Toolbar={$this->ToolbarSet}" ;

                // Render the linked hidden field.
                $Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" style=\"display:none\" />" ;

                // Render the configurations hidden field.
                $Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" style=\"display:none\" />" ;

            // Render the editor IFRAME.
                $Html .= "<iframe id=\"{$this->InstanceName}___Frame\" src=\"{$Link}\" width=\"{$this->Width}\" height=\"{$this->Height}\" frameborder=\"0\" scrolling=\"no\"></iframe>" ;
        }
        else
        {
            if ( strpos( $this->Width, '%' ) === false )
                $WidthCSS = $this->Width . 'px' ;
            
            else
                $WidthCSS = $this->Width ;

            if ( strpos( $this->Height, '%' ) === false )
                $HeightCSS = $this->Height . 'px' ;
            
            else
            $HeightCSS = $this->Height ;
            $Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" st
yle=\"width: {$WidthCSS}; height: {$HeightCSS}\">{$HtmlValue}</textarea>" ;
        }
        
        $Html .= '</div>' ;

        return $Html ;
    }

function IsCompatible()
    {
        return FCKeditor_IsCompatibleBrowser() ;
    }


function FCKeditor_IsCompatibleBrowser()
{
    global $HTTP_USER_AGENT ;

    if ( !isset( $_SERVER ) ) {
        global $HTTP_SERVER_VARS ;
        $_SERVER = $HTTP_SERVER_VARS ;
    }
        
    if ( isset( $HTTP_USER_AGENT ) )
        $sAgent = $HTTP_USER_AGENT ;
    else
        $sAgent = $_SERVER['HTTP_USER_AGENT'] ;

    if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
    {
        $iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
        return ($iVersion >= 5.5) ;
    }
    else if ( strpos($sAgent, 'Gecko/') !== false )
    {
        $iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
        return ($iVersion >= 20030210) ;
    }
    else if ( strpos($sAgent, 'Opera/') !== false )
    {
        $fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;
        return ($fVersion >= 9.5) ;
    }
    else if ( preg_match( "|AppleWebKit/(\d+)|i", $sAgent, $matches ) )
    {
        $iVersion = $matches[1] ;
        return ( $matches[1] >= 522 ) ;
    }
    else
        return false ;    
}

    function GetConfigFieldString()
    {
        $sParams = '' ;
        $bFirst = true ;

        foreach ( $this->Config as $sKey => $sValue )
        {
            if ( $bFirst == false )
                $sParams .= '&amp;' ;
            else
                $bFirst = false ;

            if ( $sValue === true )
                $sParams .= $this->EncodeConfig( $sKey ) . '=true' ;
            else if ( $sValue === false )
                $sParams .= $this->EncodeConfig( $sKey ) . '=false' ;
            else
                $sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;
        }

        return $sParams;
    }

    function EncodeConfig( $valueToEncode )
    {
        $chars = array(
            '&' => '%26',
            '=' => '%3D',
            '"' => '%22' ) ;

        return strtr( $valueToEncode,  $chars ) ;
    }
}

PM MAIL   Вверх
awers
Дата 26.3.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Код

function Create()


не имеет параметров

Добавлено через 2 минуты и 33 секунды
Можно так: 
Код

    function Create($in = 'fckeditor', $bp = "", $w = '100%',$h = '330',$ts = 'Default', $v = 'value', $c = array())
    {
        $this->InstanceName    = $in;
        $this->BasePath        =  $bp;
        $this->Width        = $w;
        $this->Height        = $h;
        $this->ToolbarSet    = $ts;
        $this->Value        = $v;
        $this->Config        = $c;
.....


Добавлено через 6 минут и 48 секунд
Сойдет решение? А еще ответь какой у тебя на сервере ПХП (версия) и какая версия FCK едитора
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0836 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.