زمان کنونی: ۲۸-۲-۱۳۹۱, ۰۱:۱۴ عصر درود مهمان گرامی! (ورودثبت نام)

جوملا 1.5   فهرستی از آموزش های طبقه بندی شده جوملا 1.5
 
کاربران آنلاین در این تاپیک:

کاربرانِ درحال بازدید از این موضوع: 3 مهمان
آغاز کننده: m.rezaei
ارسال ها: 1
بازدید ها: 490

ارسال موضوع  ارسال پاسخ 
 
امتیاز موضوع:
  • 8 رأی - میانگین امیتازات: 2.75
  • 1
  • 2
  • 3
  • 4
  • 5
اکستراکت فایل های فشرده در مدیریت رسانه
نویسنده پیام

***
عضو انجمن
عضو حرفه ای جومینا
وضعیت : آفلاین
تاریخ عضویت: خرداد ۱۳۸۹
ارسال‌ها: 268

اعتبار: 9
سپاس ها 276
سپاس شده 386 بار در 167 ارسال
ارسال: #1
اکستراکت فایل های فشرده در مدیریت رسانه
سلام
اگر توجه کنید Media manager یا همون مدیریت رسانه امکان انزیپ کردن فایل های فشرده رو در خودش نداره. خب در این آموزش قصد داریم نحوه اضافه کردن این امکان رو توضیح بدیم:

ابتدا فایل administrator/component/com_media/views/media/view.html.php رو از روت جوملای خود باز کنید و به خط 106 مراجعه کنید که یه همچین کدی رو خواهید دید:
کد:
/* (...) */
    // Add a delete button
    $title = JText::_('Delete');
    $dhtml = "<a href=\"#\" onclick=\"MediaManager.submit('folder.delete')\"
      class=\"toolbar\">
                <span class=\"icon-32-delete\" title=\"$title\"
                  type=\"Custom\"></span>
                $title</a>";
    $bar->appendButton( 'Custom', $dhtml, 'delete' );
    /* (...) */
حالا بعد از خط 106 این کد رو اضافه کنید:
کد php:
/* (...) */
    // Add a Unzip button
    
$title JText::_('Unzip');
    
$dhtml "<a href=\"#\" onclick=\"MediaManager.submit('folder.unzip')\"
      class=\"toolbar\">
                <span class=\"icon-32-unarchive\" title=\"$title\"
                  type=\"Custom\"></span>
                $title</a>"
;
    
$bar->appendButton'Custom'$dhtml'unzip' );
    
/* (...) */ 
خب تا این مرحله شما یک آیکن کنار آیکن delete در مدیریت رسانه ایجاد کردید.
حالا این فایل رو باز کنید
administrator/component/com_media/controllers/folder.php
و بعد از خط 90 این کد رو اضافه کنید:
کد php:
/* (...) */
    
function unzip() {
        global 
$mainframe;
 
        
// Set FTP credentials, if given
        
jimport('joomla.client.helper');
        
JClientHelper::setCredentialsFromRequest('ftp');
 
        
// Get some data from the request
        
$tmpl    JRequest::getCmd'tmpl' );
        
$paths    JRequest::getVar'rm', array(), '''array' );
        
$folder JRequest::getVar'folder''''''path');
 
        
// Initialize variables
        
$msg = array();
        
$ret true;
 
        if (
count($paths)) {
            foreach (
$paths as $path)
            {
                if (
$path !== JFilterInput::clean($path'path')) {
                    
JError::raiseWarning(100JText::_('Impossible de
                      decompresser:'
).htmlspecialchars($pathENT_COMPAT,
                      
'UTF-8').' '.JText::_('WARNDIRNAME'));
                    continue;
                }
 
                
$fullPath JPath::clean(COM_MEDIA_BASE.DS.$folder.DS.$path);
 
                if (
is_file($fullPath)) {
                    
$ext JFile::getExt(strtolower($fullPath));
                        
$pathdir $fullPath;
                        if(
$ext != 'gz') {
                            
$pathdir str_replace".".$ext"",$pathdir);
                        }
                    else {
                        
$pathdir str_replace".".$ext"",$pathdir);
                        
$pathdir str_replace".tar""",$pathdir);
                    }
 
                    
jimport('joomla.filesystem.*');
                    
jimport('joomla.filesystem.archive');
                    
JFolder::create($pathdir);
                    
JFile::write($pathdir.DS."index.html""<html>\n<body
                      bgcolor=\"#FFFFFF\">\n</body>\n</html>"
);
                    
JArchive::extract($fullPath$pathdir);
 
 
                } else if (
is_dir($fullPath)) {
                    
JError::raiseWarning(100JText::_('Imossible de
                      decompresser:'
).$fullPath.' '.JText::_('Pas un fichier
                      ZIP'
));
                }
            }
        }
        if (
$tmpl == 'component') {
            
// We are inside the iframe
            
$mainframe->redirect('index.php?option=com_media&view=mediaList&
              folder='
.$folder.'&tmpl=component');
        } else {
            
$mainframe->redirect('index.php?option=com_media&folder='.$folder);
        }
    }
    
/* (...) */ 
خب حالا یک دکمه برای اکستراکت ساخته شد و شما قادر هستید فرمت های zip,tar و gz رو از حالت فشرده خارج کنید.
توجه داشته باشید و قتی فایلی رو انزیپ می کنید یک پوشه با همون نام ایجاد میشه و محتویات انزیپ شده داخلش قرار میگیره.
این کار روی نسخه 1.5.20 جوملا امتحان شده.
برای دیدن نسخه اصلی این آموزشکلیک کنید.
امضای m.rezaeiیک و نیم گیگابایت هاست رایگان با امکانات عالی
http://afghandown.org جدیدترین ها را از ما بخواهید...
(آخرین ویرایش در این ارسال: ۱۶-۵-۱۳۸۹ ۰۲:۲۱ صبح، توسط m.rezaei.)
۱۶-۵-۱۳۸۹ ۰۲:۱۵ صبح
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط سعیدشمسی ، semac ، ستار رضايي ، imohammad
تبلیغات در جومینا

 91-2-9

 91-1-15
 90-9-3
 90-9-3
ارسال موضوع  ارسال پاسخ 


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  آموزش کامل چند رسانه ای تمام مباحث جوملا goldenboy 4 1,216 ۱۹-۱-۱۳۹۱ ۰۶:۴۵ عصر
آخرین ارسال: m.s_22
  حذف این کادر مدیریت ثفئشی 3 785 ۲۸-۸-۱۳۸۹ ۰۵:۴۸ عصر
آخرین ارسال: محمد رزاقی

پرش به انجمن: