Jump to content
Sign in to follow this  
kphp

[Фича] загрузка фото в тех поддержку

Recommended Posts

файлы закинуть по папкам

1 заходим в templates\Default\support открыть там файл new.tpl
ищем

>Пожалуйста, расскажите о Вашей проблеме чуть подробнее..</textarea>

ниже ставим

<div class="button_div fl_l" id="upload_butt"><button type="submit" class="inp" id="upload">Выбрать файл</button></div><div class="clear"></div><br />
<div id="prog_poster" style="display: none;background:url('/templates/Default/images/progress_grad.gif');width:94px;height:18px;border:1px solid #006699; float:left"></div><div class="clear"></div>
<div id="size_small" style="margin-left:-10px"><small><center>Файл не должен превышать 5 Mб. Если у Вас возникают проблемы с загрузкой, попробуйте использовать фотографию меньшего размера.</center></small></div>
<img src="/uploads/support/" id="r_poster" style="display:none;" width="100" height="100" />
<div class="mgclr"></div>

вытамже файле всамый верх ставим

<script type="text/javascript" src="/templates/Default/js/upload.photo.js"></script>
<script type="text/javascript">
var loading_photo_pins = false;
var loaded_pins_name = null;
$(document).ready(function(){
aj1 = new AjaxUpload('upload', {
action: '/index.php?go=support&act=load_img',
name: 'uploadfile',
data: {
add_act: 'upload'
},
accept: 'image/*',
onSubmit: function (file, ext) {
if(!(ext && /^(jpg|png|jpeg|gif|jpe)$/.test(ext))) {
Box.Info('err', 'Ошибка', 'Неверный формат файла');
return false;
}
$('#upload').hide();
$('#prog_poster').show();
},
onComplete: function (file, row){
var exp = row.split('|');
if(exp[0] == 'size'){
Box.Info('err', 'Ошибка', 'Файл превышает 5 МБ');
} else {
$('#r_poster').attr('src', '/uploads/support/'+exp[0]+'/'+exp[1]).show();
}
$('#upload').show();
$('#prog_poster, #size_small, #upload_butt').hide();
loading_photo_pins = true;
loaded_pins_name = exp[1];
}
});
});
</script>

2 заходим в system\modules открыть файл support.php
ищем

$db->query("INSERT INTO `".PREFIX."_support` SET title = '{$title}', question = '{$question}',

внево вставить

images = '{$file}',

ищем

$tpl->set('{question}', stripslashes($row['question']));

ниже вставить

$tpl->set('{photo}', '/uploads/support/'.$row['suser_id'].'/o_'.$row['images']);


ищем

//################### Удаление вопроса  ###################//

выше вставить

case "load_img":
                NoAjaxQuery();
               
                $image_tmp = $_FILES['uploadfile']['tmp_name'];
                $image_name = totranslit($_FILES['uploadfile']['name']);
                $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20);
                $image_size = $_FILES['uploadfile']['size'];
                $exp = explode(".", $image_name);
                $type = end($exp); // формат файла
               
                $max_size = 1024 * 5000;
               
                if($image_size <= $max_size){
                        $allowed_files = explode(', ', 'jpg, jpeg, jpe, png, gif');
                        if(in_array(strtolower($type), $allowed_files)){
                                $res_type = strtolower('.'.$type);       
                                $upDir = ROOT_DIR.'/uploads/support/'.$user_id.'/';
                               
                                if(!is_dir($upDir)){
                                        @mkdir($upDir, 0777);
                                        @chmod($upDir, 0777);
                                }
                               
                                $rImg = $upDir.$image_rename.$res_type;
                               
                                if(move_uploaded_file($image_tmp, $rImg)){
                               
                                        include_once ENGINE_DIR.'/classes/images.php';
                                       
                                        $tmb = new thumbnail($rImg);
                                        $tmb->size_auto(600);
                                        $tmb->jpeg_quality(95);
                                        $tmb->save($upDir.'o_'.$image_rename.$res_type);
                                       
                                        $tmb = new thumbnail($rImg);
                                        $tmb->size_auto(200, 1);
                                        $tmb->jpeg_quality(97);
                                        $tmb->save($rImg);
                                       
                                        die($user_id.'|'.$image_rename.$res_type);
                                }
                        }
                }else
                        die('size');
       
                die();
        break;
       
ищем вот такой запрос

$row = $db->super_query("SELECT tb1.id, title, question, sdate, sfor_user_id, suser_id, tb2.user_search_pref, user_photo FROM `".PREFIX."_support` tb1, `".PREFIX."_users` tb2 WHERE tb1.id = '{$qid}' AND tb1.suser_id = tb2.user_id {$sql_where}");

внево вставить

images,

после заходим в базу даных во вкладку vii_support

и саздать поле

images varchar 40

саздать папку в uploads с именем support

3 заходим в templates\Default\js открыть файл profile.js
ищем

//SUPPORT

находим там

var title = $('#title').val();

ниже вставить

var images = $('#images').val();

ищем

$.post('/index.php?go=support&act=send', {title: title, question: question

вставить

, file: loaded_pins_name

4 заходим в templates\Default\support открыть файл show.tpl
ищем

{question}

ниже вставить

                <div style="margin-top:5px;">
                                <div class="wall_photo" onclick="Photos.openAll(this, 18922, 0, 0, 0)">
                                <img src="{photo}" style="width: 100%; opacity: 1;" class=""> </div>

автор неизвестен

180254er2bp3t8p7qrj777.png

180254gmmgvzv5cm7jujui.png

[Фича] загрузка фото в тех поддержку.rar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×