Помогите встроить код в joomla

Тема в разделе "Ошибки при работе с Joomla", создана пользователем rioteaser, 24.10.2013.

  1. Offline

    rioteaser Недавно здесь

    Регистрация:
    24.10.2013
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет. С joomla раньше никогда не работал, а тут возникла необходимость подправить сайт на этой cms.
    На главной странице есть ссылка, кликая на которую всплывает модальное окно с формой регистрацией. В этой форме есть картинка, кликая на которую юзер может добавить фото. Затем при сабмите формы сохранить эту картинку в папку. Вроде бы все просто... если бы не joomla.
    В форме прописан следующий action
    Код (CODE):
    1. <form action="<?php echo $target;?>" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">


    Мне нужно каким то образом этот код
    Код (CODE):
    1. var fd = new FormData();
    2. fd.append('img', $('#imgFile')[0].files[0]);
    3.  
    4. $.ajax({
    5.   type: 'POST',
    6.   url: '/templates/beez_20/html/com_adsmanager/edit/ajax.php',
    7.   data: fd,
    8.   processData: false,
    9.   contentType: false,
    10.   dataType: "json",
    11.   success: function(data) {  },
    12.   error: function(data) {  }
    13. });

    встроить в функцию submitbutton() (она вызывается при сабмите формы) Там уже видимо кто-то пытался подключить jquery виджет Plupload...

    Вот тело функции submitbutton()
    Код (CODE):
    1. function submitbutton(mfrm) {
    2.  
    3.     var me = mfrm.elements;
    4.     var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
    5.     var r_num = new RegExp("[^0-9\., ]", "i");
    6.     var r_email = new RegExp("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$" ,"i");
    7.  
    8.     var errorMSG = '';
    9.     var iserror=0;
    10.  
    11.     <?php
    12.     if (function_exists("loadEditFormCheck")){
    13.         loadEditFormCheck();
    14.     }
    15.     ?>
    16.  
    17.     <?php if ($this->nbcats > 1)
    18.     {
    19.     ?>
    20.         var form = document.adminForm;
    21.         var srcList = eval( 'form.selected_cats' );
    22.         var srcLen = srcList.length;
    23.         if (srcLen == 0)
    24.         {
    25.             errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_FORM_CATEGORY')); ?>+" : "+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
    26.             srcList.style.background = "red";
    27.             iserror=1;
    28.         }
    29.         else
    30.         {
    31.             for (var i=0; i < srcLen; i++) {
    32.                 srcList.options[i].selected = true;
    33.             }
    34.         }
    35.     <?php
    36.     }
    37.     ?>
    38.  
    39.     if (mfrm.username && (r.exec(mfrm.username.value) || mfrm.username.value.length < 3)) {
    40.         errorMSG += mfrm.username.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_PROMPT_UNAME'), 4 )); ?>+'\n';
    41.         mfrm.username.style.background = "red";
    42.         iserror=1;
    43.     }
    44.     if (mfrm.password && r.exec(mfrm.password.value)) {
    45.         errorMSG += mfrm.password.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_REGISTER_PASS'), 6 )); ?>+'\n';
    46.         mfrm.password.style.background = "red";
    47.         iserror=1;
    48.     }
    49.  
    50.     if (mfrm.email && !r_email.exec(mfrm.email.value) && mfrm.email.getAttribute('mosReq')) {
    51.         errorMSG += mfrm.email.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_EMAIL')); ?>+'\n';
    52.         mfrm.email.style.background = "red";
    53.         iserror=1;
    54.     }
    55.              
    56.     // loop through all input elements in form
    57.     for (var i=0; i < me.length; i++) {
    58.  
    59.         if ((me[i].getAttribute('test') == 'number' ) && (r_num.exec(me[i].value))) {
    60.             errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_NUMBER')); ?>+'\n';
    61.             iserror=1;
    62.         }
    63.      
    64.         // check if element is mandatory; here mosReq="1"
    65.         if ((me[i].getAttribute('mosReq') == 1)&&(me[i].type == 'hidden')&&(me[i].value == '')) {
    66.             // add up all error messages
    67.             errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
    68.             // notify user by changing background color, in this case to red
    69.             el = me[i].getAttribute('mosElem');
    70.  
    71.             elem = document.getElementById(el);
    72.             elem.style.background = "red";
    73.             iserror=1;
    74.         } else if ((me[i].getAttribute('mosReq') == 1)&&(me[i].style.visibility != 'hidden')&&(me[i].style.display != 'none')) {
    75.             if (me[i].type == 'radio' || me[i].type == 'checkbox') {
    76.                 var rOptions = me[me[i].getAttribute('name')];
    77.                 var rChecked = 0;
    78.                 if(rOptions.length > 1) {
    79.                     for (var r=0; r < rOptions.length; r++) {
    80.                         if (rOptions[r].checked) {
    81.                             rChecked=1;
    82.                         }
    83.                     }
    84.                 } else {
    85.                     if (me[i].checked) {
    86.                         rChecked=1;
    87.                     }
    88.                 }
    89.                 if(rChecked==0) {
    90.                     // add up all error messages
    91.                     errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
    92.                     // notify user by changing background color, in this case to red
    93.                     me[i].style.background = "red";
    94.                     iserror=1;
    95.                 }
    96.             }
    97.             if (me[i].value == '') {
    98.                 // add up all error messages
    99.                 errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
    100.                 // notify user by changing background color, in this case to red
    101.                 me[i].style.background = "red";
    102.                 iserror=1;
    103.             }
    104.         }
    105.     }
    106.  
    107.     <?php if ((@$this->content->id == 0)&&($this->conf->show_accept_rules == 1)) {?>
    108.     if (!jQ('#acceptrules').is(':checked')) {
    109.         iserror=1;
    110.         errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_YOU_MUST_ACCEPT_RULES')) ?>;
    111.     }
    112.     <?php } ?>
    113.  
    114.  
    115.     if(iserror==1) {
    116.         alert(errorMSG);
    117.         return false;
    118.     } else {
    119.         <?php if ($withImages) {?>
    120.         var uploader = jQ('#uploader').pluploadQueue();
    121.          
    122.         // Files in queue upload them first
    123.         if (uploader.files.length > 0) {
    124.             // When all files are uploaded submit form
    125.             uploader.bind('StateChanged', function() {
    126.                 if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
    127.                     //Little hack to be able to return the selected_cats
    128.                     <?php if ($this->nbcats > 1) { ?>
    129.                     var srcList = eval( 'form.selected_cats' );
    130.                     srcList.name = "selected_cats[]";
    131.                     <?php } ?>
    132.                     jQ('#adminForm')[0].submit();
    133.                 }
    134.             });
    135.              
    136.             uploader.start();
    137.             return false;
    138.         }
    139.         <?php } ?>
    140.          
    141.         //Little hack to be able to return the selected_cats
    142.         <?php if ($this->nbcats > 1) { ?>
    143.             srcList.name = "selected_cats[]";
    144.         <?php } ?>
    145.         return true;
    146.     }
    147.  
    148. }


    Помогите пожалуйста!
     
    Последнее редактирование: 24.10.2013
  2.  

Поделиться этой страницей

Загрузка...