Это ошибка? или откуда берется этот календарь?

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

  1. Offline

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

    Регистрация:
    30.05.2013
    Сообщения:
    6
    Симпатии:
    3
    Пол:
    Мужской
    Когда просматриваю в браузере исходный код любой страницы своего сайта, между тегами <head></head> находится некий календарь:
    Код (CODE):
    1. Calendar._DN = new Array ("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье");Calendar._SDN = new Array ("Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"); Calendar._FD = 0; Calendar._MN = new Array ("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");  Calendar._SMN = new Array ("Янв.", "Фев.", "Март", "Апр.", "Май", "Июнь", "Июль", "Авг.", "Сент.", "Окт.", "Нояб.", "Дек.");Calendar._TT = {};Calendar._TT["INFO"] = "О календаре";
    2.         Calendar._TT["ABOUT"] =
    3.  "DHTML Date/Time Selector\n" +
    4.  "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
    5. "For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
    6. "Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
    7. "\n\n" +
    8. "Date selection:\n" +
    9. "- Use the \xab, \xbb buttons to select year\n" +
    10. "- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
    11. "- Hold mouse button on any of the above buttons for faster selection.";
    12. Calendar._TT["ABOUT_TIME"] = "\n\n" +
    13. "Time selection:\n" +
    14. "- Click on any of the time parts to increase it\n" +
    15. "- or Shift-click to decrease it\n" +
    16. "- or click and drag for faster selection.";
    17.  
    18.         Calendar._TT["PREV_YEAR"] = "Нажмите для перехода к предыдущему году. Нажмите и удерживайте для отображения списка лет.";Calendar._TT["PREV_MONTH"] = "Нажмите для перехода к предыдущему месяцу. Нажмите и удерживайте для отображения списка месяцев."; Calendar._TT["GO_TODAY"] = "Перейти к сегодняшней дате";Calendar._TT["NEXT_MONTH"] = "Нажмите для перехода к следующему месяцу. Нажмите и удерживайте для отображения списка месяцев.";Calendar._TT["NEXT_YEAR"] = "Нажмите для перехода к следующему году. Нажмите и удерживайте для отображения списка лет.";Calendar._TT["SEL_DATE"] = "Выберите дату.";Calendar._TT["DRAG_TO_MOVE"] = "Переместить";Calendar._TT["PART_TODAY"] = " (Сегодня)";Calendar._TT["DAY_FIRST"] = "Показывать первым %s";Calendar._TT["WEEKEND"] = "0,6";Calendar._TT["CLOSE"] = " Закрыть";Calendar._TT["TODAY"] = "Сегодня";Calendar._TT["TIME_PART"] = "Для изменения значения кликните с нажатым Shift или перетащите.";Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%M-%D"; Calendar._TT["TT_DATE_FORMAT"] = "%A, %B %e";Calendar._TT["WK"] = "нед.";Calendar._TT["TIME"] = "Время:";
    19.  
    20.     //<![CDATA[
    21.     <!--
    22.     function resetSubmit( pf ) {
    23.         $('adminForm_'+pf).addEvent('submit', function(e) {
    24.             new Event(e).stop();
    25.             this.send({
    26.                 onRequest: function(){
    27.                                         document.getElementById('adminForm_'+pf).elements['task'].value = 'ajaxform';
    28.                                         document.getElementById('adminForm_'+pf).elements['use_ajax'].value = '1';
    29.                                         $('aiContactSafeSend_loading_'+pf).innerHTML = '&nbsp;&nbsp;Пожалуйста, подождите ...&nbsp;<img id="imgLoading" border="0" src="http://www.vodos-market.ru/components/com_aicontactsafe/includes/images/load.gif" />&nbsp;&nbsp;';
    30.                                         document.getElementById('adminForm_'+pf).elements['aiContactSafeSendButton'].disabled = true;
    31.                                     },
    32.                 onComplete: function() {
    33.                                         $('displayAiContactSafeForm_'+pf).innerHTML = this.response.text;
    34.                                         changeCaptcha(pf,0);
    35.                                         document.getElementById('adminForm_'+pf).elements['aiContactSafeSendButton'].removeAttribute('disabled');
    36.                                         if (document.getElementById('adminForm_'+pf).elements['ajax_return_to']) {
    37.                                             var ajax_return_to = document.getElementById('adminForm_'+pf).elements['ajax_return_to'].value;
    38.                                             if (ajax_return_to.length > 0) {
    39.                                                 window.location = ajax_return_to;
    40.                                             }
    41.                                         } else {
    42.                                             if (document.getElementById('adminForm_'+pf).elements['ajax_message_sent']) {
    43.                                                 var return_to = document.getElementById('adminForm_'+pf).elements['return_to'].value;
    44.                                                 return_to = return_to.replace('&', '&');
    45.                                                 var current_url = document.getElementById('adminForm_'+pf).elements['current_url'].value;
    46.                                                 current_url = current_url.replace('&', '&');
    47.                                                 if (return_to.length > 0 && return_to != current_url) {                                                
    48.                                                     window.location = return_to;
    49.                                                 }
    50.                                             }
    51.                                         }
    52.                                         $('aiContactSafeSend_loading_'+pf).innerHTML = '&nbsp;';
    53.                                         setupCalendars(pf);
    54.                                         if(typeof SqueezeBox!='undefined' && $('system-message')) {
    55.                                             SqueezeBox.initialize();
    56.                                             SqueezeBox.open($('system-message'), {
    57.                                                 handler: 'adopt',
    58.                                                 size: {x: $('system-message').offsetWidth+30, y: $('system-message').offsetHeight+30}
    59.                                             });
    60.                                         }
    61.                                     }
    62.             });
    63.    
    64.         });
    65.     }
    66.     function checkEditboxLimit( pf, editbox_id, chars_limit ){
    67.         if (document.getElementById('adminForm_'+pf).elements[editbox_id]) {
    68.             if (document.getElementById('adminForm_'+pf).elements[editbox_id].value.length > chars_limit) {
    69.                 alert('COM_AICONTACTSAFE_MAXIMUM_CHARACTERS_EXCEEDED !');
    70.                 document.getElementById('adminForm_'+pf).elements[editbox_id].value = document.getElementById('adminForm_'+pf).elements[editbox_id].value.substring(0,chars_limit);
    71.             } else {
    72.                 if (document.getElementById('adminForm_'+pf).elements['countdown_'+editbox_id]) {
    73.                     document.getElementById('adminForm_'+pf).elements['countdown_'+editbox_id].value = chars_limit - document.getElementById('adminForm_'+pf).elements[editbox_id].value.length;
    74.                 }
    75.             }
    76.         }
    77.     }
    78.     function changeCaptcha( pf, modifyFocus ) {
    79.         if (document.getElementById('div_captcha_img_'+pf)) {
    80.             var set_rand = Math.floor(Math.random()*10000000001);
    81.             var r_id = document.getElementById('adminForm_'+pf).elements['r_id'].value;
    82.             var captcha_file = 'http://www.vodos-market.ru/index.php?option=com_aicontactsafe&sTask=captcha&task=captcha&pf='+pf+'&r_id='+r_id+'&lang=&format=raw&set_rand='+set_rand;
    83.             if (window.ie6) {
    84.                 var url = 'http://www.vodos-market.ru/index.php?option=com_aicontactsafe&sTask=captcha&task=newCaptcha&pf='+pf+'&r_id='+r_id+'&lang=&format=raw&set_rand='+set_rand;
    85.                 new Ajax(url, {
    86.                     method: 'get',
    87.                     update: $('div_captcha_img_'+pf),
    88.                     onRequest: function(){ $('div_captcha_img_'+pf).innerHTML = 'COM_AICONTACTSAFE_PLEASE_WAIT'; }
    89.                 }).request();
    90.    
    91.             } else {
    92.                 $('div_captcha_img_'+pf).innerHTML = '<img src="'+captcha_file+'" alt="&nbsp;" id="captcha" border="0" />';
    93.             }
    94.             if (modifyFocus && document.getElementById('captcha-code')) {
    95.                 document.getElementById('captcha-code').focus();
    96.             }
    97.         }
    98.         if (document.getElementById('aiContactSafe_form_'+pf) || document.getElementById('aiContactSafe_module_'+pf)) {
    99.             if (document.getElementById('reCaptchaReset')) {
    100.                 if (document.getElementById('reCaptchaReset').value == 1 && document.getElementById('recaptcha_div')) {
    101.                     if (document.getElementById('reCaptchaPublicKey')) {
    102.                         var reCaptchaPublicKey = document.getElementById('reCaptchaPublicKey').value;
    103.                     } else {
    104.                         var reCaptchaPublicKey = '';
    105.                     }
    106.                     if (document.getElementById('reCaptchaTheme')) {
    107.                         var reCaptchaTheme = document.getElementById('reCaptchaTheme').value;
    108.                     } else {
    109.                         var reCaptchaTheme = '';
    110.                     }
    111.                     Recaptcha.create(reCaptchaPublicKey, 'recaptcha_div',  { theme:reCaptchaTheme });
    112.                 }
    113.             }
    114.         }
    115.         if (document.getElementById('captcha-code')) {
    116.             $('captcha-code').value = '';
    117.         } else if (document.getElementById('captcha_code')) {
    118.             $('captcha_code').value = '';
    119.         } else if (document.getElementById('mathguard_answer')) {
    120.             $('mathguard_answer').value = '';
    121.         } else if (document.getElementById('recaptcha_response_field')) {
    122.             $('recaptcha_response_field').value = '';
    123.         }
    124.     }
    125.     function setDate( pf, newDate, idDate ) {
    126.         if (document.getElementById('adminForm_'+pf).elements['day_'+idDate]) {
    127.             document.getElementById('adminForm_'+pf).elements['day_'+idDate].value = newDate.substr(8,2);
    128.         }
    129.         if (document.getElementById('adminForm_'+pf).elements['month_'+idDate]) {
    130.             var selMonth = newDate.substr(5,2);
    131.             if(selMonth.substr(0,1) == '0') {
    132.                 selMonth = selMonth.substr(1,1);
    133.             }
    134.             selMonth = parseInt(selMonth) - 1;
    135.             document.getElementById('adminForm_'+pf).elements['month_'+idDate].options[selMonth].selected = true;
    136.         }
    137.         if (document.getElementById('adminForm_'+pf).elements['year_'+idDate]) {
    138.             document.getElementById('adminForm_'+pf).elements['year_'+idDate].value = newDate.substr(0,4);
    139.         }
    140.     }
    141.     function daysInFebruary( year ){
    142.         var days = (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    143.         return days;
    144.     }
    145.     function daysInMonth( month, year ) {
    146.         var days = 31;
    147.         switch( true ) {
    148.             case month == 2 :
    149.                 days = daysInFebruary( year );
    150.                 break;
    151.             case month == 4 || month == 6 || month == 9 || month == 11 :
    152.                 days = 30;
    153.                 break;
    154.         }
    155.        return days;
    156.     }
    157.     function checkDate( pf, idDate ) {
    158.         var year = 0;
    159.         var month = 0;
    160.         var day = 0;
    161.         if (document.getElementById('adminForm_'+pf).elements['year_'+idDate]) {
    162.             year = document.getElementById('adminForm_'+pf).elements['year_'+idDate].value;
    163.         }
    164.         if (document.getElementById('adminForm_'+pf).elements['month_'+idDate]) {
    165.             month = document.getElementById('adminForm_'+pf).elements['month_'+idDate].value;
    166.         }
    167.         if (document.getElementById('adminForm_'+pf).elements['day_'+idDate]) {
    168.             day = document.getElementById('adminForm_'+pf).elements['day_'+idDate].value;
    169.         }
    170.         if (day > 0 && month > 0 && year > 0) {
    171.             var days = daysInMonth( month, year );
    172.             if (day > days) {
    173.                 day = days;
    174.                 document.getElementById('adminForm_'+pf).elements['day_'+idDate].value = days;
    175.                 var error = 'COM_AICONTACTSAFE_MAXIMUM_DAYS_IN_MONTH_ERROR';
    176.                 alert( error.replace( '%days%', days ) );
    177.             }
    178.         }
    179.         if (document.getElementById('adminForm_'+pf).elements[idDate]) {
    180.             document.getElementById('adminForm_'+pf).elements[idDate].value = year+'-'+month+'-'+day;
    181.         }
    182.     }
    183.     function clickCheckBox( pf, idTag, ckChecked ) {
    184.         document.getElementById('adminForm_'+pf).elements[idTag].value = ckChecked?1:0;
    185.     }
    186.     function hideUploadField(file_field, pf) {
    187.         $('upload_'+pf+'_file_'+file_field).setStyle('display','none');
    188.     }
    189.     function showUploadField(file_field, pf) {
    190.         $('upload_'+pf+'_file_'+file_field).setStyle('display','inline');
    191.     }
    192.     function resetUploadField(file_field, pf) {
    193.         var var_file_field = "'"+file_field+"'";
    194.         $('upload_'+pf+'_file_'+file_field).innerHTML = '<input type="file" name="'+file_field+'" id="'+file_field+'" onchange="startUploadFile('+var_file_field+','+pf+')" />';
    195.     }
    196.     function hideFileField(file_field, pf) {
    197.         $('cancel_upload_'+pf+'_file_'+file_field).setStyle('display','none');
    198.     }
    199.     function showFileField(file_field, pf) {
    200.         $('cancel_upload_'+pf+'_file_'+file_field).setStyle('display','inline');
    201.     }
    202.     function hideWaitFileField(file_field, pf) {
    203.         $('wait_upload_'+pf+'_file_'+file_field).setStyle('display','none');
    204.     }
    205.     function showWaitFileField(file_field, pf) {
    206.         $('wait_upload_'+pf+'_file_'+file_field).setStyle('display','inline');
    207.     }
    208.     function cancelUploadFile(file_field, pf) {
    209.         hideFileField(file_field, pf);
    210.         deleteUploadedFile(file_field, pf);
    211.         $('adminForm_'+pf).elements[file_field+'_attachment_name'].value = '';
    212.         $('adminForm_'+pf).elements[file_field+'_attachment_id'].value = '';
    213.         resetUploadField(file_field, pf);
    214.         showUploadField(file_field, pf);
    215.     }
    216.     function deleteUploadedFile(file_field, pf) {
    217.         var file_name = $('adminForm_'+pf).elements[file_field+'_attachment_name'].value;
    218.         var r_id = document.getElementById('adminForm_'+pf).elements['r_id'].value;
    219.         var url = 'http://www.vodos-market.ru/index.php?option=com_aicontactsafe&sTask=message&task=deleteUploadedFile&filename='+file_name+'&r_id='+r_id+'&format=raw'
    220.         new Ajax(url, { method: 'get' }).request();
    221.    
    222.     }
    223.     function startUploadFile(file_field, pf) {
    224.         var r_id = document.getElementById('adminForm_'+pf).elements['r_id'].value;
    225.         $('adminForm_'+pf).setProperty('action','index.php?option=com_aicontactsafe&field='+file_field+'&r_id='+r_id+'&format=raw');
    226.         $('adminForm_'+pf).setProperty('target','iframe_upload_file_'+pf+'_file_'+file_field);
    227.         $('adminForm_'+pf).elements['task'].value = 'uploadFile';
    228.         hideUploadField(file_field, pf);
    229.         hideFileField(file_field, pf);
    230.         showWaitFileField(file_field, pf);
    231.         $('adminForm_'+pf).submit();
    232.         resetUploadField(file_field, pf);
    233.     }
    234.     function endUploadFile(pf, file_field, attachment_name, attachment_id, error_type, error_message) {
    235.         error_type = parseInt(error_type);
    236.         hideWaitFileField(file_field, pf);
    237.         switch( error_type ) {
    238.             case 0 :
    239.                 $('adminForm_'+pf).elements[file_field+'_attachment_name'].value = attachment_name;
    240.                 $('adminForm_'+pf).elements[file_field+'_attachment_id'].value = attachment_id;
    241.                 showFileField(file_field, pf);
    242.                 break;
    243.             case 1 :
    244.                 alert('COM_AICONTACTSAFE_THIS_TYPE_OF_ATTACHEMENT_IS_NOT_ALLOWED ( '+error_message+' ) ');
    245.                 cancelUploadFile(file_field, pf);
    246.                 break;
    247.             case 2 :
    248.                 alert('COM_AICONTACTSAFE_FILE_TOO_BIG ( '+error_message+' ) ');
    249.                 cancelUploadFile(file_field, pf);
    250.                 break;
    251.             case 3 :
    252.                 alert('COM_AICONTACTSAFE_OTHER_ERROR ( '+error_message+' ) ');
    253.                 cancelUploadFile(file_field, pf);
    254.                 break;
    255.         }
    256.         resetSendButtonTarget(pf);
    257.     }
    258.     function resetSendButtonTarget(pf) {
    259.         $('adminForm_'+pf).setProperty('action','index.php');
    260.         $('adminForm_'+pf).setProperty('target','_self');
    261.         $('adminForm_'+pf).elements['task'].value = 'message';
    262.     }
    263.     function setupCalendars(pf) {
    264.         var calendars_imgs = $$('#adminForm_'+pf+' img.calendar');
    265.         var countCalendars = calendars_imgs.length;
    266.         for(var i=0;i<countCalendars;i++) {
    267.             var imgid = calendars_imgs[i].getProperty('id');
    268.             if (imgid.substr(imgid.length-4)=='_img') {
    269.                 fieldid = imgid.substr(0,imgid.length-4);
    270.                 Calendar.setup({inputField : fieldid, ifFormat: "%Y-%m-%d", button : imgid, align : "Tl", singleClick : true});
    271.             }
    272.         }
    273.     }
    274.     //-->
    275.     //]]>

    Это нормально? Или что-то не так?
     
  2.  
  3. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 311
    Симпатии:
    375
    Пол:
    Мужской
    Твой сайт, только ты и можешь знать, нормально это или нет.
    И вряд ли кто-то скажет, какое конкретно расширение использует этот календарь. Отключай по очереди расширения, ищи в исходном коде.
    В твоем коде упоминается AICONTACTSAFE, может даже это его календарь.
     
  4. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Там же в скрипте еще и капча проверяется.
    Похоже какая то форма должна быть на сайте.
    --- добавлено: 25.01.2017, первое сообщение размещено: 12.06.2013 ---
    Апну, на правах нашедшего откуда скрипт .
    ФОрма редактирования материала контента Джумла, а вызывается кодом
    Код (PHP):
    1. JHtml::_('behavior.calendar');
     

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

Загрузка...