Архив рубрики: WEB

Простая загрузка файла на сервер используя JQUERY

Задача: сохранить файл на сервер без обновления страницы. Т.е. при помощи ajax

Решение:

Клиентская часть:

<h1>Отправка сообщения в техподдержку</h1>
    <div id="snd">
        <form id="data" method="post" enctype="multipart/form-data">
            <textarea id="tehtxt" name="tehtxt" class="form-control" rows="3" placeholder="Сообщение для техподдержки"></textarea>
            <br/>
            <input name="image" type="file" />
            <br/>
            <button class="btn btn-success" id="buttonsendteh">Отправить сообщение</button>
        </form>
    </div>
    <br/>
    <script>
        $("form#data").submit(function(e) {
                e.preventDefault();    
                var formData = new FormData(this);
                $("#buttonsendteh").hide();
                $.ajax({
                    url: "index.php?route=/controller/server/sendtoteh.php",
                    type: 'POST',                  
                    data: formData,
                    success: function (data) {
			$("#snd").html(data);    
			ListSbssMessages();
			$("#buttonsendteh").show();
                    },
                    cache: false,
                    contentType: false,
                    processData: false
                });
        });
    </script>    

Серверная часть:

 $tehtxt=mysqli_real_escape_string($sqlcn->idsqlconnection,$_POST["tehtxt"]);
 $prc="";  
  if (isset($_FILES['image'])==true){
    $orig_file = $_FILES['image']['name']; 
    $userfile_name = GetRandomId(8) . '.' . pathinfo($orig_file, PATHINFO_EXTENSION);
    $src = $_FILES['image']['tmp_name'];    
    $res = move_uploaded_file($src, WUO_ROOT."/files/".$userfile_name);     
    $prc="Прикрепленный файл: $userfile_name";
  };

JQuery tablesorter не правильно сортирует число

Казалось бы, что тут такого? В таблице строго число, разделенное точкой, а сортирует.. Какие-то колонки нормально, какие-то не пойми как. Проблема решается только если четко сказать плагину, какие колонки числа. Например так:

$("#sortable_table").tablesorter({
     headers: {
         1: { sorter: 'digit' }, 
         2: { sorter: 'digit' }, 
         3: { sorter: 'digit' }, 
         4: { sorter: 'digit' }, 
         5: { sorter: 'digit' },
         6: { sorter: 'digit' },
         7: { sorter: 'digit' },
         8: { sorter: 'digit' },
         9: { sorter: 'digit' },
         10: { sorter: 'digit' },
         11: { sorter: 'digit' } 
     }
 });

Выводим красивое сообщение пользователю после отправки сообщения из Contact Form 7

Начиная с версии 7.5, события нужно теперь отлавливать через DOM. Например вывод сообщения об успешной отправке письма можно оформить так:

document.addEventListener( 'wpcf7mailsent', function( event ) {
$.fancybox(
	'<h2>Уведомление</h2><strong>'+event.detail.apiResponse.message+' </strong><br/><br/>',
	{
    	    'autoDimensions'	: false,
    	    'padding'		: 30,
    	    'margin': 30,
	    'width'         		: 'auto',
	    'height'        		: 'auto',
	    'transitionIn'		: 'fade',
	    'transitionOut'		: 'fade'
	}
    );
}, false );

Изменяем заголовок wp_head на отдельных страницах wordpress

Прилетела задача на отдельных, заранее известных страницах изменять заголовок страницы браузера на другой. Можно конечно это сделать скриптом javascript встроенным в эту страницу, но это плохо для поисковых страниц. Поэтому решил сделать плагином.

<?php
/*
Plugin Name: Изменение title для части страниц
Plugin URI: https://грибовы.рф
Description: Если видит что открыта страница с id=460,то меняет заголовок подставляя город из куков
Version: 1.0
Author: Грибов Павел
Author URI: https://грибовы.рф
*/

add_action('template_redirect', 'before_header', 0);
add_action('wp_head', 'after_header', 900);
function before_header (){
    ob_start('change_title_tag');
}
function change_title_tag($head) {
    if (isset($_COOKIE["city"])==true){    
	$head=str_replace("Интернет и телевидение в квартиру","Интернет и телевидение в квартиру ".$_COOKIE["city"],$head);
	$head=str_replace("Интернет и телевидение в дом","Интернет и телевидение в дом ".$_COOKIE["city"],$head);
    };
    return $head;
}
function after_header() {
    ob_end_flush();
}

?>