http://www.xoops.ir

سیستم مدیریت محتوا زوپس

سیستم مدیریت محتوای زوپس، CMS قدرتمندی ‌است كه با زبان PHP نوشته شده و با بانک اطلاعات MySQL همخوانی دارد، استفاده از این نرم افزار كاملا آزاد و رایگان است، برای دریافت هسته‌ی اصلی این برنامه روی آیکن زیر کلیک کنید.

دریافت کنید
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس فارسی
زوپس 2.6.0 نسخه alpha 2 منتشر شد - اخبار زوپس - اخبار زوپس
ورود به سایت




ورود خودکار

واژه رمز را فراموش کرده‌اید؟
عضو شوید
افراد آنلاين
5 کاربر آن‌لاين است (1 کاربر در حال مشاهده‌ی سایت اخبار زوپس)

عضو: 0
مهمان: 5

بیشتر...
اخبار زوپس : زوپس 2.6.0 نسخه alpha 2 منتشر شد
فرستنده عشق مدرن در تاريخ ۱۳۹۱/۱۰/۲۶ ۱۵:۴۶:۱۰ (4964 بار خوانده شده) خبرهای فرستاده شده توسط این شخص
اخبار زوپس
امروز یعنی در 15 ژانویه سال 2013 نسخه آلفا2 زوپس 2.6.0 منتشر شد.

نسخه 2.6.0 تغییرات اساسی را در زوپس ایجاد کرده و تمام کد ها از ابتدا بازنویسی شده اند.
برنامه انتشار آینده زوپس 2.6.0 را اینجا ببینید.
(به طور خلاصه نسخه آلفا 3 آخرین آلفا بوده که تمرکز آن بر روی اضافه کردن امکانات درخواستی است و پس از آن نسخه های بتا و نهایی تا آخر سال 2013 عرضه خواهد شد.)

هدف اصلی در نسخه 2.6.0 بازنویسی همه کد ها و به خصوص کلاس های زوپس برای سازگاری آن با PHP5 و همچنین خطا های E_STRICT میباشد .(public, protected, static)

خبر اصلی را در سایت انگلیسی زوپس ببینید.

بعضی از تغییرات مهم در آلفا 2 عبارتند از:


بعضی از تغییرات مهم در آلفا 2 عبارتند از:

1- شیء گرا کردن و پیشرفت در توابع هسته

تعدادی از توابع موجود در هسته که قبلا به صورت هارد کد در هسته و یا ماژول system وجود داشت پیشرفت داده شده و از هسته جدا شده و به صورت ماژول بازنویسی شده اند.
به علاوه ماژول هایی که برای زوپس 2.6.0 نوشته میشوند نیز لازم نیست تمام موارد را از هسته یا ماژول system دریافت کنند و میتوانند برای هر نیازی به ماژول جدیدی که از هسته مشتقل شده مراجعه کنند. (مثلا برای جستجو به ماژول جستجو search)

یکی از مشکلاتی که در هسته های قبلی وجود داشت سخت بودن افزودن امکانات بر اساس امکانات موجود هسته بود. در نتسجه در نسخه 2.6.0 تعدادی class Abstract اضافه شده اند و تعلقات آنها به هسته از بین رفته که در ماژول های دیگر قابل extend هستند.

class های جدید امکانات بی نظیری را برای ماژول ها فراهم میکنند که در ادامه تعدادی از آنها به همراه موارد دیگری از 2.6.0 توضیح داده میشوند.

2- ارایه یک سیستم کش جدید برای افزایش سرعت و کارایی سایت ها

یک لایه کش جدید در نسخه آلفا 2 طراحی شده که با کاهش تعداد فراخوانی از دیتابیس query( ها) سرعت و بازدهی و کارایی را به نحو قابل ملاحظه ای افزایش میدهد.
این در واقع یک موتور کش جدید است و کلاس جدیدی برای کش نوشته شده است.
داکیومنت کاملی برای استفاده ماژول نویسان از این کش توسط تیم هسته نوشته شده است که انتظار میرود همه ماژول های جدید 2.6.0 از آن استفاده کنند.

3- کلاس های جدید در زوپس برای افزایش سرعت ماژول نویسی

تعدادی کلاس جدید در زوپس نوشته شده اند تا کار برای ماژول نویسان بسیار ساده و سرعت کار ماژول نویسی بالا رود.
تعدادی از آنها عبارتند از:
کلاس Xoops_Form_Tab: میتوانند فرم های مختلف خود را به صورت تب نمایش دهند. به این صورت کار برای طراحی ظاهر برای ماژول نویسان بسیار ساده خواهد شد.
در عکس زیر خودتان بببینید:

تصویر کوچک شده


کلاس Xoops_Request:
دیگر مايول نویسان نیازی نیست تا برای دریافت اطلاعات از صفحات دردسر داشته باشند یعنی برای گرفتن $_GET, $_POST , cookies, client IP, URI, و هر مورد دیگری از این کلاس استفاده میکنید.
این کلاس حتی دریافت اطلاعات از موبایل ها را هم شناسایی میکند.

همچنین میتوانید موارد جدیدی را هم خودتان اضافه کنید.
مثال از توانایی این کلاس را ببینید.
$request Xoops_Request::getInstance();

Xoops_Utils::dumpVar($request->getParam());
$result['id'] = $request->asInt('id'13);
$result['string'] = $request->asStr('string''defaultValueHere');
$result['bool'] = $request->asBool('bool'false);
$result['order'] = $request->asStr('order''ASC', array('ASC''DESC'));
$result['url'] = $request->getUrl();
$result['uri'] = $request->getUri();
$result['referer'] = $request->getReferer();
$result['phpsessid_cookie'] = $request->getCookie('PHPSESSID');
$result['ip'] = $request->getClientIp();
$result['isget'] = $request->is('get');
$result['ispost'] = $request->is('post');
$result['ismobile'] = $request->is('mobile');
$result['isrobot'] = $request->is('robot');
$result['files'] = $request->getFiles('file_identifier');


کلاس Xoops_Module_helper: برای دریافت اطلاعات از ماژول مورد نظر مثلا یک تنظیم یا یک handler یا یک form با راحتی بیشتر.
روش قدیمی را با استفاده از این کلاس در مثال زیر مقایسه کنید.
/** 
 * Using Xoops, the verbose way 
 */ 
if ($xoops->isActiveModule('search')) { 
    
$config $xoops->getModuleConfig('keyword_min''search'); 
    
$xoops->loadLanguage('main''search'); 
    
$url $xoops->url('modules/search/index.php'); 
    
$obj $xoops->getModuleByDirname('search'); 
    
//etc 

/** 
 * Using the Helper 
 */ 
if ($helper Xoops_Module_Helper::getHelper('search')) { 
    
$config $helper->getConfig('keyword_min'); 
    
$helper->loadLanguage('main'); 
    
$url $helper->url('index.php'); 
    
$obj $helper->getModule(); 
    
//etc 
}


4- ماژول Codex به عنوان یک آموزش برای امکانات جدید در زوپس 2.6.0

به عنوان یک دولاپر ماژول اگر میخواهید امکانات جدید کد نویسی را ببینید کافیست به این ماژول بروید
تمام کدها کاملا توضیح داده شده اند. چیزی که در قبل یادگرفتنش بسیار سخت بود اکنون کاملا ساده شده است.

5- ماژول های جدید و معرفی مفهوم plugin در آنها

در زوپس 2.6.0 مفهوم جدیدی به نام plugin برای هر ماژول افزوده شده است.
کلاس جدید Xoops_Module_Plugin کد نویسی را برای ماژول ها بسیار ساده میکند و میتواند امکانات یک ماژول را به راحتی در ماژول دیگری فراهم کند.
مثال:
مثلا شما میخواهید امکان search را در ماژول خود به نام mymodule فراهم کنید.
کافی است در شاخه mymodule\class\plugin ماژول خودتان یک فایل به نام ماژولی که میخواهید امکاناتش را داشته باشید یعنی در اینجا search.php بسازید و در آن به این صورت تابع مورد نظر را extend کنید. مثلا در اینجا برای search داریم:
class MymoduleSearchPlugin extends Xoops_Module_Plugin_Abstract implements SearchPluginInterface
{
    public function 
search($queries$andor$limit$start$uid)
{
// your code
}

و اگر میخواهید ماژول های دیگر از امکانات ماژول شما استفاده کنند کافی است فقط آن توابع را با پارامتر های مورد نیازشان را به ماژول های دیگر به این صورت معرفی کنید.
در همان شاخه mymodule\class\plugin فایل interface.php را بسازید و در ان داریم
interface MymodulePluginInterface
{
    public function 
func1($para1$para2);

    public function 
func2();
}

به همین سادگی!!!
یک نگاه کلی به ماژول های دیگر میاندازیم:
- Menus: ماژول منو ساز. زوپس دیگر منوی دیفالت نخواهد داشت چیزی به نام منوی اصلی و کاربر فقط برای حفظ ساختار قدیمی الان وجود دارند ولی شما میتوانید هر رقم منویی ررا بسازید.

- Page: این یک ماژول ساده تولید محتوا بدون امکان شاخه سازی است
برای ساخت صفحات معرفی و این جور موارد کارآمد است.

- PDF: ساخت pdf با این ماژول است. لازم به گفتن نیست که ماژول های دیگر میتوانند به صورت پلاگین که در بالا گفته شد از pdf سازی این ماژول استفاده کنند.

- Notifications: آگهی رسانی به صورت ماژول جدا شده است.

- Search: جستجو هم ماژول شده که در بالا مفصل مثال زده شد.

- System: بله ماژول سیستم هم ینزا به معرفی مجدد دارد. چون با وجود آن امکان پلاگین اکنون شما میتوانید به عنوان سازنده ماژول امکانات آن را به صورت پلاگین داشته باشید. مثلا برای تعداد پست کاربران یا مهمتر از آن ارسال های متتظر برای تایید.

- userconfigs: در قبل تنظیمات کاربری در زوپس پراکنده بود اکنون یک ماژول انحصارا برای اطلاعات تنظیمات کاربران در نظر گرفته شده است. مثلا نحوه دیدن یا صعودی نزولی بودن یا تم کاربر و هر چیزی که قابل تغییر برای هر کاربر است در این ماژول خواهد بود.

ماژول های بسیار دیگری هم از جمله Avatars و Logger و Banners و غیره هم هستند که خودتان باید ببینید.

6- تمرکز بر روی کیفیت کد نویسی و سازگاری

در زوپس 2.6.0 وقت زیادی روی نام گذاری صحیح توابع و کلاس ها گذاشته شده است. در نتیجه ماژول سازان میتوانند به راحتی نام هایی را حدس بزنند. مثال بالا در مورد پلاگین را ببینید.

کد 2.6.0 در ادیتور های تجاری بزرگی مانند php storm هیچ ارور و هشداری ندارد.

در نتیجه این امکان بی نظیر فراهم شده که غلط املایی در نوشتن نام توابع و یا تعریف نشدن یک مقدار اولیه و چنین اشتباهات پیش پا افتاده در کد نویسی به حداقل خود برسد.

7- استفاده از فریم ورک Twitter Bootstrap برای css/html

اگر زوپس 2.6.0 را نصب کنید خودتان ظاهر بوت استراپ را خواهید دید. با استفاده از این فریم ورک بی نظیر سایت ها به راحتی برای موبایل و تبلت آماده هستند.

طراحان گرافیک میتوانند به راحتی با استفاده از این فریم ورک وامکان بی نظیر دیگری که اسمارتی فراهم میکند به ارایه تم های اینتراکتیو بپردازند.


در نسخه آلفا3 تمرکز بر روی افزوده امکانات به زوپس 2.6.0 خواهد بود.


نصب:
Installing XOOPS
-----------------------------------

1. Copy the content of the htdocsfolder where it can be accessed by your server
2. Ensure mainfile
.php and uploadsare writable by the web server
3. 
For security considerationsyou are encouraged to move directories "/xoops_lib" (for XOOPS libraries) and "/xoops_data" (for XOOPS dataout of Document Root, and change the folder names.
4. Make the directory xoops_datawritableCreate (if not already present) and make the directories xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compilewritable.
5. Access the folder where you installed the htdocsfiles using your web browser to launch the installation wizard


SVN:
http://svn.code.sf.net/p/xoops/svn/XoopsCore/branches/2.6.x/2.6.0

دایم آپدیت میشود پس هر بار خواستید تست کنید دوباره آپدیت کنید.


توجه: حتما بعد از نصب ماژول logger را نصب کرده و دیباگ را فعال کنید. دیباگ توسط این ماژول انجام میشود.

لطفا هر گونه نظر یا پیشنهاد یا باگ یا درخواست امکانات و خلاصه هر حرفی را در تاپیک مورد نظر در انجمن ها بنویسید.
بی‌شک دیدگاه هر کس نشانه‌ی تفکر اوست، ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه