Прошу помощи с jQuerty.

Недавно нашол интересный скрипт для создания демотиваторов на jQuerty.У меня есть исходники, вот только в отдельный плагин всё это я собрать не могу.может кто то скажет «ламер» кто то ещё хуже…, но всё таки нужна ваша помощь- хотелось бы создать свой сайт с демотиваторами.Кто может помочь с плагином вот исходники:
Собственно сборка формы
<code>Собственно сборка формы
<?
    $form = new jQuickForm('simple');
    $form->setAttribute('enctype', 'multipart/form-data');
    $form->addElement('hidden', 'MAX_FILE_SIZE')->setValue('204800');

        $fieldset = $form->insertFieldset('Демотиватор');
            $upload = $fieldset->addElement('file','picture')
                ->setLabel('Картинка для дема')
                ->setAttribute('size',70);
                $upload->addRule('required',"Что за дем без картинки?");

                // no longer using 'filename' rule for uploads
                $upload->addRule('regex', 'Allowed extensions: .gif, .jp(e)g, .png', '/\\.(gif|jpe?g|png)$/i');
                $upload->addRule('mimetype', 'Your browser doesn\'t think that\'s an image',
                    array('image/gif', 'image/png', 'image/jpeg', 'image/pjpeg'));
                $upload->addRule('maxfilesize', 'Картинка великовата, разрешается до 200kB', 204800);
            $gr = $fieldset->insertGroup()->addClass('col2');
                $header = $gr->insertInputText('header')
                    ->setLabel('Заголовок (обязательно):')
                    ->setAttribute('size',70);
                    $header->addRuleMax("Очень много текста для заголовка", 15);
                    $header->addRuleRequired("Заголовок для демотиватора обязателен");
                $gr->insertInputCheckbox('header_up', 'все большие буквы');
            $gr = $fieldset->insertGroup()->addClass('col2');
                $text = $gr->insertInputText('text')
                    ->setAttribute('size',70)
                    ->setLabel('Демотиватор (не обязательно):')
                    ->setComment('Разрешается 25 символов');
                $text->addRuleMax("Краткость - сестра таланта", 25);
                $gr->insertInputCheckbox('text_up', 'все маленькие буквы');
        $form->insertInputSubmit('Создать демотиватор!');

        if($form->validate()){
            $text   = isset($_POST['text'])? trim(strip_tags($_POST['text'])) : '';
            $header = isset($_POST['header'])? trim(strip_tags($_POST['header'])) : '';
            if(isset($_POST['header_up'])){
                $header = mb_strtoupper($header,'UTF-8');
            }
            if(isset($_POST['text_up'])){
                $text = mb_strtoupper($text,'UTF-8');
            }
            $dem = jaguar_demotivator($_FILES['picture']['tmp_name'], $header, $text);
            if(!$dem){
                Jaguar::view()->setVar('BODY','<h3>ERROR: ошибка при создании демотиватора</h3>');
            } else {
                header('Content-type: image/png');
                imagepng($dem);
                imagedestroy($dem);
                exit;
            }
        }

?>
HTML-код сгенерированной формы


<div class="quickform">
  <form id="simple" method="post" action="/?page=examples_demotivator" enctype="multipart/form-data">
    <div>
      <input type="hidden" name="_qf_csrf_token__simple" id="_qf_csrf_token__simple-0" value="388a3c80cfa248461e1290b0934e0809" />
      <input type="hidden" name="MAX_FILE_SIZE" id="MAX_FILE_SIZE-0" value="204800" />
      <fieldset id="qfauto-0" rows="10">
        <legend id="qfauto-0-legend">
          Демотиватор
        </legend>
        <div class="jqf_row_wrap">
          <div class="jqf_row">
            <label for="picture-0" class="jqf_element">
              <span class="required">* </span>Картинка для дема
            </label>
            <span class="jqf_error" id="jqferr-picture-0"></span>
            <div class="jqf_element">
              <input type="file" name="picture" id="picture-0" size="70" />
            </div>
          </div>
          <div  id="qfauto-1" class="jqf_group col2">
                        <span class="jqf_error" id="jqferr-qfauto-1"></span>
            <div class="clear">
            </div>
            <div class="jqf_element">
              <div class="jqf_row">
                <label for="header-0">
                  <span class="required">* </span>Заголовок (обязательно):
                </label>
                <span class="jqf_error" id="jqferr-header-0"></span>
                <div class="jqf_element">
                  <input type="text" name="header" id="header-0" size="70" />
                </div>
              </div>
              <div class="jqf_row jqf_checkbox">
                <label for="header_up-0">
                  <input type="checkbox" name="header_up" id="header_up-0" value="1" />
                     все большие буквы
                </label>
              </div>
              <div class="clear">
              </div>
            </div>
          </div>
          <div  id="qfauto-2" class="jqf_group col2">
                        <span class="jqf_error" id="jqferr-qfauto-2"></span>
            <div class="clear">
            </div>
            <div class="jqf_element">
              <div class="jqf_row">
                <label for="text-0">
                  Демотиватор (не обязательно):
                </label>
                <span class="jqf_error" id="jqferr-text-0"></span>
                <div class="jqf_element">
                  <input type="text" name="text" id="text-0" size="70" />
                  <div class="jqf_comment">
                    Разрешается 25 символов
                  </div>
                </div>
              </div>
              <div class="jqf_row jqf_checkbox">
                <label for="text_up-0">
                  <input type="checkbox" name="text_up" id="text_up-0" value="1" />
                     все маленькие буквы
                </label>
              </div>
              <div class="clear">
              </div>
            </div>
          </div>
        </div>
      </fieldset>
      <div class="jqf_row">
        <input type="submit" value="Создать демотиватор!" name="" id="qfauto-3" />
      </div>
    </div>
  </form>
  <div class="reqnote">
    <em>
      *
    </em>
       Поля, обязательные для заполнения
  </div>
</div>
  

1) Инициализация приложения
<?
    //показываем все ошибки
    ini_set('display_errors' , 'On');
    ini_set('error_reporting' , E_ALL);
    header('Content-Type: text/html; charset=utf-8');
    date_default_timezone_set('Europe/Moscow');

    //создаем представление
    Jaguar::view(dirname(__FILE__).'/tpl/layout.tpl');

    //добавляем стили представления формы и страницы
    jQuickForm::css()->addCss('/cms/css.css');
    jQuickForm::css()->addCss('/cms/quickform.css');

    //Подключаем главный js-файл форм, который отвечает за клиентскую валидацию
    jQuickForm::js()->addJs('/vendors/jQuickForm/quickform.js');

?>
3) Сборка страницы
<?
    //если была создана форма - покажем процесс ее создания
    if(isset($form)){
        //если форма прошла проверку
        if($form->validate()){
            //выведем полученные POST'ом значения
            if(count($_FILES)){
                Jaguar::view()->setVar('body','<h2>$_FILES</h2>');
                Jaguar::view()->setVar('body',
                    '<pre>'.htmlentities(print_r($_FILES,1),ENT_QUOTES,'UTF-8').'</pre>');
            }
            Jaguar::view()->setVar('body','<h2>$_POST</h2>');
            Jaguar::view()->setVar('body',
                '<pre>'.htmlentities(print_r($_POST,1),ENT_QUOTES,'UTF-8').'</pre>');
            Jaguar::view()->setVar('body','<h2>$form->getValue()</h2>');
            Jaguar::view()->setVar('body',
                '<pre>'.htmlentities(print_r($form->getValue(),1),ENT_QUOTES,'UTF-8').'</pre>');
        }
        //если требуется создание формы с особенной отрисовкой, отличной от по-умолчанию
        if(isset($renderer)){
            $html = $form->render($renderer);
        } else {
            $html = $form.'';
        }
        //добавим саму форму на страницу
        Jaguar::view()->setVar('body',$html);
        //добавим код php-файла со сборкой формы на страницу
        Jaguar::view()->setVar('PHP_CODE','<h2>2) Собственно сборка формы</h2>');
        Jaguar::view()->setVar('PHP_CODE',
            trim(highlight_file($_SERVER['DOCUMENT_ROOT'].'/cms/actions/'.PAGE.'.php',true)));
        Jaguar::view()->setVar('PHP_CODE','<h2>HTML-код сгенерированной формы</h2>');
        Jaguar::view()->setVar('PHP_CODE',
            '<pre><code>'.htmlentities(jaguar_html_nice($html),ENT_QUOTES,'UTF-8').'
');
jQuickForm::css()->addCss('/vendors/highlight/styles/ir_black.css');
//добавим код php-файла с инициализацией приложения на страницу
Jaguar::view()->setVar('PHP_CODE','1) Инициализация приложения');
Jaguar::view()->setVar('PHP_CODE',
trim(highlight_file($_SERVER['DOCUMENT_ROOT'].'/cms/prepend.php',true)));
//добавим код php-файла со сборкой страницы на страницу (масло масляное :) )
Jaguar::view()->setVar('PHP_CODE','3) Сборка страницы');
Jaguar::view()->setVar('PHP_CODE',
trim(highlight_file($_SERVER['DOCUMENT_ROOT'].'/cms/append.php',true)));
}
//выведем все стили, которые были добавлены как внешние
//выведем все стили, которые были добавлены как inline css
Jaguar::view()->setVar('css',jQuickForm::css()->getCssAll());
//Что попало в JsOnload
Jaguar::view()->setVar('PHP_CODE','Что попало в JsOnload');
Jaguar::view()->setVar('PHP_CODE',
'
'.htmlentities(jQuickForm::js()->getJsOnload(),ENT_QUOTES,'UTF-8').'
');
//Что попало в JsInline
Jaguar::view()->setVar('PHP_CODE','Что попало в JsInline');
Jaguar::view()->setVar('PHP_CODE',
'
'.htmlentities(jQuickForm::js()->getJsInline(),ENT_QUOTES,'UTF-8').'
');
//Подключенные javascript-файлы
Jaguar::view()->setVar('PHP_CODE','Подключенные javascript-файлы');
Jaguar::view()->setVar('PHP_CODE',
'
'.htmlentities(jQuickForm::js()->getJs(),ENT_QUOTES,'UTF-8').'
');
//результат выбора шаблона для элемента
Jaguar::view()->setVar('PHP_CODE','Здесь показано какие шаблоны были использованы
при отрисовке каждого элемента');
Jaguar::view()->setVar('PHP_CODE',
''.implode('
',jQuickForm::$element_templates).'');
//выведем все js, которые были добавлены необходимые по событию «onload»
//выведем все inline js
//выведем все js, подключенные как внешние
Jaguar::view()->setVar('js',jQuickForm::js()->getJsAll());
//ну и заголовок страницы
Jaguar::view()->setVar('title', 'jQuickForm = jQuery UI + Html_QuickForm2');
//парсим и выводим сгенерированную страницу
print Jaguar::view()->parse();
?>

Что попало в JsInline


Всё это доступно по ссылке внизу страницы.
Буду признателен за помощь.Думаю что это будет интересно многим пользователям сайта.

4 комментария

avatar
jquery же!
  • Vilz
  • 0
avatar
Все изготовители демотиваторов гарантированно попадут в ад и будут вариться в густом дерьме на медленном огне.
avatar
Как доберутся руки — попробую сделать jQuickForm и для лайвстрита, первыми попросили кохановоды.
И, кстати, сам скрипт создания демотиватора лежит тут:
code.google.com/p/jquickform/source/browse/trunk/www/cms/helpers/jaguar_demotivator.php
из него и можете модуль сделать.
Взят тут и слегка причесан
avatar
Ну, что у вас получилось создать сайт демотиваторов?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.