Code gửi file trong tin nhắn riêng bằng trao đổi tập tin

11.07.2015 / 03:51
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Hôm nay, mình xin thức 1 đêm để viết code =))

Code khá thú vị, ta vừa làm vừa nói nhé :), các bạn chú ý chút nha =))

Bước 1: Từ Thiết kế (Design) > Cài đặt bố cục (Layout settings) > Tin nhắn riêng (Private message) > Bố cục gửi tin (P.M write layout), các bạn dán code sau vào cuối ô nhập (hoặc nơi muốn đặt layout gửi file, không nhất thiết là ở đây, nhưng nếu bạn đặt nơi khác cần có tham số "p=nick_uid" trên url nhé):

PHP
  1. {% set cat_id='123456' %}
  2. {# ID thư mục lưu trữ ảnh gửi #}
  3.  
  4. <div class="center">
  5. <form action="file_exchange.php?ses={{ses}}&id=upload{% if api.r.get('upload')=="url" %}_url{% endif %}&category_id={{cat_id}}&fbupload=pm&p={{api.r.get('p')}}" method="post" enctype="multipart/form-data">
  6. <input {% if api.r.get('upload')!="url" %}name="files" type="file" accept="image/gif">{% else %}name="url" value="http://">
  7. <select name="file_name">
  8. <option value="{{"now"|date('mdYHmi')}}_h.jpg">.JPG</option>
  9. <option value="{{"now"|date('mdYHmi')}}_h.png">.PNG</option>
  10. <option value="{{"now"|date('mdYHmi')}}_h.zip">.ZIP</option>
  11. <option value="{{"now"|date('mdYHmi')}}_h.mp3">.MP3</option>
  12. <option value="{{"now"|date('mdYHmi')}}_h.MP4">.MP4</option>
  13. <option value="{{"now"|date('mdYHmi')}}_h.3gp">.3GP</option>
  14. </select>
  15. {% endif %}
  16. <input name="type" value="1" type="hidden">
  17. <input name="status" value="2" type="hidden">
  18. <input
  19. name="desc"
  20. maxlength="1024" value="120398_photo_pm_{{api.user_id}}" type="hidden">
  21. <br>
  22. <input type="submit" value="Tải lên tập tin">
  23. </form>
  24. {% if api.r.get('upload')=="url" %}<br/><a href="{{api.r.getRequestUri()|replace({'&upload=url':''})}}">Tải lên từ thiết bị lưu trữ</a><br/>{% else %}<br/><a href="{{api.r.getRequestUri()}}&upload=url">Tải lên từ url</a><br/>{% endif %}
  25. </div>

Code trên có biến {{cat_id}} ở ngay đầu, bạn cần thay id của nó bằng id thư mục trong lưu trữ tập tin.

Cụ thể: thực chất ta đang upload một file lên file_exchange.php, nhưng ta cần cho nó vào một thư mục nào đó cho gọn gàng :). Nếu bạn chưa tạo thì lưu lại rồi đi tạo thôi nào =))

Cách lấy id thư mục cho ai chưa biết: chọn thư mục cần xem, xem url có đoạn "categery_id=654872" thì 654872 là id.

Bước 2: Tìm đến Header trang trao đổi tập tin, tạo đối tượng mới "Trao đổi tập tin: danh sách các file" đặt ở đầu nhé.

Có hai ô chính:

Ô 1 xoá hết, dán:

PHP
  1. {% if api.r.get('fbupload')=="pm" and api.user_id %}
  2. </div></div>
  3. {{file_list}}
  4. <!--
  5. {% endif %}

Ô 2 xoá hết, dán:

PHP
  1. {% set xego='0' %}
  2. {# nếu wap bạn làm trên xego: 1 #}
  3. {% set width,height='200','200' %}
  4. {# chỉnh sửa độ to bé của ảnh hiển thị ở tin nhắn riêng, tính theo pixel #}
  5.  
  6. {% set uid=user_profile_link|slice(54,8+xego) %}
  7. {% if api.r.get('post')=='hpa' %}
  8. {% if api.user_id==uid%}
  9. <body onload="document.autopostpm.submit();">
  10. {% set foto=thumbnail|replace({'&amp;w=0&amp;h=0&amp;preset_size=1':'','[*]':(nick)})|raw %}
  11. {% set admj=thumbnail|replace({'<img class="fe-thumb-image" src="':'[fbimg]','" alt="[*]"/>':'[/fbimg]','" alt="':'[/fbimg]','"/>':'','&amp;w':'&w='~width~'&data-width','&amp;h':'&h='~height~'&data-height','_size':'_fb=120398&preset_size=0&data-size'})|raw %}
  12. <form action="pm.php?id=new&to={{api.r.get('p')}}&pmupload_h=ok" method="post" name="autopostpm">
  13. <input name="msg" maxlength="500" type="hidden" value='[a href="{{file_url|replace({'%2Fmain.php%3Ff%3D2746881':'%2Fpm.php%3Fid%3Dread'})|raw}}"/]{{admj}}[/a]'>
  14. <input type="submit" value="Hoàn thành" class="nobutton" style="padding:2px">
  15. </form>
  16. {% else %}
  17. <div class="tip">
  18. Liên kết này đã bị lỗi trong khi thực hiện yêu cầu.
  19. <br/>
  20. Xin quay về và thử lại
  21. </div>
  22. {% endif %}
  23. {%else%}
  24. <div class="center"><a href="{{api.r.getRequestUri()}}&post=hpa">Tiếp tục</a></div>{%endif%}

Tham số cài đặt trong đối tượng này:

- Chọn danh mục trao đổi tập tin: chọn thư mục tải file lên

- Số lượng tập tin: 1

- Sắp xếp theo: Ngày tải lên

- Sắp xếp loại: Giảm dần

- Dòng mới: Không

Bước 3: Nếu bạn chưa có BBcode trong tin nhắn riêng thì thêm vào [a] và [fbimg], cái này bạn tự tìm hiểu nhé :)

Xong rồi, test thử nào =))

Nếu có lỗi thì để bình luận ở đây để mình fix =))

Edited: Đã chỉnh sửa hoàn chỉnh.

Đã chỉnh sửa. hanhphucao (27.08.2015 / 18:01)
11.07.2015 / 09:02
b0ysh0ckhn
Bài đăng: 1146
Member
Nguyễn Minh Phương

tham khảo js k.....twig load k hay

11.07.2015 / 13:07
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Mình đang cố gắng để mọi người, nhất là người mới có thể hiểu và làm được, và giúp tối ưu cho wap.

11.07.2015 / 19:30
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Ảnh demo:

[IMAGE]
Đã chỉnh sửa. MrKen (16.11.2016 / 20:30)
11.07.2015 / 19:32
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

Style sms ngày xưa của a đây mà

11.07.2015 / 19:36
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

:yao:

11.07.2015 / 22:07
b0ysh0ckhn
Bài đăng: 1146
Member
Nguyễn Minh Phương

giờ cứ thông qua bên trung gian cho gọn nhẹ

22.07.2015 / 15:25
HuyAnh
Bài đăng: 1142
Member
https://www.facebook.com/boduyvidai9999/videos/219

thư mục ảnh gửi ls

22.07.2015 / 15:31
vipnamdan
Bài đăng: 582
Member
Đẹp trai nhất xóm

Gui ra shoutbox duoc ko thim :))

22.07.2015 / 16:38
b0ysh0ckhn
Bài đăng: 1146
Member
Nguyễn Minh Phương

gửi ra sb cũng tương tự mà.............thay form pm sang form sb