• 1-slideتجربه یک فروشگاه قدرتمند بین المللی

    اپن کارت فارسی یکی از بهترین و قدرتمندترین فروشگاه سازهای جهانی است که با قدرت چند زبانه بودن، قادر به فروش در سطح جهان است که امروزه برای بیش از ده ها زبان زنده ی دنیا از جمله زبان شیرین فارسی نیز ارائه شده و در اختیار کاربران قرار گرفته که می توانند فروشگاه خویش را به زبان های دلخواه ایجاد نموده و حتی کار و تجارت خود را در سطح جهانی و بین الملی نیز به راحتی با این سیستم قدرتمند توسعه داده و یه فروشگاه بین المللی فوق العاده را ایجاد نمایند.
  • 2-slideبرتری سئو و نتایج جستجو

    یکی از ویژگی های بسیار مهم و حیاتی که باعث جذب کاربران زیادی در سیستم فروشگاه ساز اپن کارت (OpenCart) شده است داشتن سئوی فوق العاده قدرتمند می باشد که می تواند فروشگاه را در داشتن یک رنک بالا در موتورهای جستجو و در مورد کلمات کلیدی مربوط به محصولات و فروشگاه یاری نموده و نه تنها فروشگاه را با ایندکس نمودن صفحات و محصولات در موتورهای جستجو معروف تر و محبوب تر ساخته بلکه با انجام این عملیات فروشگاه را نیز همواره در صفحات نخست موتورهای جستجو قرار می دهد که سرانجام این امور نیز باعث پیشرفت در افزایش بازدید ها و تسریع در فروش بیشتر محصولات خواهد شد. اکنون تیم اپن کارت فارسی، یک پکیج فوق حرفه ای سئو نیز برای کاربران برتر تجاری درنظر گرفته است که قدرت این سیستم فروشگاهی را صد چندان نموده است.
  • 3-slideیک تجارت واقعی و موفق

    شرکت مهندسی داده پردازان سپنتامهر با نام تجاری اپن کارت فارسی، طی 5 سال تلاش شبانه روزی با بکارگیری افراد متخصص در زمینه بومی سازی و فرآهم آوردن کلیه امکانات تجاری این فروشگاه ساز قدرتمند، اکنون با تجربه راه اندازی بیش از هزاران فروشگاه فعال در کشور، با مشاوره رایگان، پاسخگوی تجارت موفق شما عزیزان است و بهترین کیفیت را در مجموعه خود در زمینه مشاوره راه اندازی فروشگاه، مشاوره هاستینگ و امنیت، پنل پیامک، ارائه امکانات تجاری ماژول و قالب اپن کارت و  پشتیبانی فنی آنلاین 24 ساعته از فروشگاه های تجاری  فرآهم نموده است.
  • اپن کارت فارسی، فروشگاه ساز قدرتمند اینترنتی با امکانات متنوع
  • سیستم سئوی حرفه ای رایگان و سئوی فوق حرفه ای هوشمند تجاری با بهترین نتایج در جستجو
  • امکانات تجاری متنوع، برای تجربه یک تجارت واقعی و موفق فروشگاه اینترنتی

دانلود نسخه جدید 1.5.3.1 اپن کارت فارسی

نوشته شده توسط کارشناس کل (مهندس ناظم). منتشر شده در نسخه های 1.5

نسخه 1.5.3.1
اکنون وقت آن رسیده است تا پس از مدت ها انتظار، تیم اپن کارت فارسی، نسخه جدید و کاملا پارسی و بومی شده خود (OpenCart 1.5.3.1) را به هموطنان عزیز ارائه نماید. شاید برای خیلی از دوستان ، دلیل تاخیر در انتشار نسخه سوالی بزرگ باشد، که در ادامه مفصل به دلیل این همه تاخیر خواهیم پرداخت... یکی از بزرگترین مشکلاتی که اپن کارت از انتشار خود در سال 1388 تا کنون داشته است، عدم امکان سازگاری کامل تاریخ شمسی با این سیستم بوده است که به دلیل رسم نمودار فروش بر اساس سیستم میلادی، و فیلتر های متعدد، هر کسی را از شمسی سازی بخش های مختلف این سیستم، پشیمان و خسته یا ناتوان ساخته بود. این مشکل علاوه بر عدم نمایش صحیح فروش کل سال، نمودار فروش روزانه، هفتگی و سالانه را نیز دچار اختلال و فیلتر های گزارش گیری را نیز دچار اختلال کرده بود. البته ساده دیدن این مساله، با انتشار یک نسخه کاملا میلادی و صرفا ترجمه خود هسته، کار ساده ای است که این روز ها هر کسی از پس آن بر می آید... ولی مساله اساسی، فقط فارسی کردن نسخه نبود و تیم اپن کارت فارسی همیشه در تلاش بوده تا بهترین و سازگارترین ها را به ارمغان داشته باشد. 
هم اکنون تیم اپن کارت فارسی، سازگارترین و پایدارترین سیستم تاریخ شمسی ممکن را بر روی هسته جدید خود پیاده ساخته است و در بروز رسانی نسخه های قبلی نیز، برای جلوگیری از بروز هرگونه مشکل، نزدیک به 3 هفته وقت گذاشته تا بهترین الگوریتم ممکن را پیاده سازد و هم اکنون کاربران نسخه های قدیمی نیز می توانند با خیالی راحت نسخه خود را بروز رسانی کنند. در آخر جا دارد تا از  استاد ارجمند جناب محمد رضوانی که در انتشار نسخه جدید و به عنوان مشاور تیم اپن کارت فارسی به ما پیوستند نهایت سپاس را داشته باشیم.. بد نیست بدانید برنامه نویسی بیش از 640 خط بانک اطلاعاتی برای سیستم شمسی اپن کارت و تغییر سیستم آمارگیری شمسی اپن کارت فارسی، حاصل دسترنج این استاد عزیز است.

 تغییرات اساسی در نسخه 1.5.3.1

- حل مشکل تاریخ شمسی کلیه بخش های فروشگاه و امکان گزارش گیری به صورت کامل و سازگار
- نمایش چاپ فاکتور در بخش مدیریت و کاربری به صورت کامل و جذاب به همراه تاریخ شمسی
- ارسال ایمیل فاکتور خرید به مشتری به صورت منظم و شمسی شده
- امکان آپلود فایل با FTP بر روی هاست، برای محصولات با حجم بالا و شناسایی و محافظت فایل در قسمت مدیریت فایل
- افزایش سرعت و کارایی سیستم
- تبدیل خودکار تاریخ شمسی هسته اپن کارت در نسخه های قبلی به میلادی و نمایش شمسی آن به کاربر (تصحیح خودکار سیستم تاریخ شمسی قبلی اپن کارت فارسی)
- حل مشکلات مربوط به SQL در حین نصب اسکریپت
- آپدیت جی کوئری (Jquery) هسته به آخرین ورژن موجود
- آپدیت ویرایشگر هسته (CKeditor) به آخرین نسخه موجود
- افزوده شدن ماژول آمار بازدید به صورت حرفه ای و جذاب
- امکان تنظیم حداقل و حداکثر میزان کوپن از داخل تنظیمات
- حل تمامی مشکلات گزارش شده در نسخه ی 1.5.2
- امکان فعال سازی و غیر فعال سازی نمایش تعداد زیر مجموعه های دسته بندی ها هم در منوی بالا و هم در منوی کنار از طریق تنظیمات فروشگاه (در نسخه 1.5.2 این مشکل فقط برای منوی کنار و ان هم از داخل ماژول امکان پذیر بود.)
- مرتب شدن تب گزینه ها در قسمت تنظیمات فروشگاه
- امکان تنظیم نمایش قیمت های فروشگاه با مالیات یا بدون مالیات از قسمت تنظیمات فروشگاه
- امکان تنظیم نمودن گروه پیش فرض برای کاربران در حین ثبت نام و انتخاب گروه کاربری توسط خود کاربر
- امکان تنظیم نمودن نمایش موجودی انبار در فروشگاه و موارد مربوط به آن
- دارای آخرین نسخه vqmod و سازگار شده با آخرین نسخه 

قابلیت های کلیدی نسخه OpenCart 1.5.3.1 فروشگاه ساز اپن کارت فارسی

- امکان چاپ فاکتورها و گزارشات فروش و ...
- امکان رتبه بندی محصولات و تعداد بازدید محصولات
- امکان دسته بندی محصولات به صورت نامحدود و همچنین ارائه ی نامحدود محصولات
- امکان اضافه نمودن بسیاری از موارد دلخواه با استفاده از افزونه های بسیار متنوع
- توانایی تغییر اندازه ی خودکار تصاویر
- توانایی نمایش محصولات مرتبط با محصول مورد بازدید
- پشتیبانی از درگاه پرداخت زرین پال
- چند زبانه و چند فروشگاهی بودن
- دارای سیستم بازاریابی
- دارای سیستم مدیریت تبلیغات
- دارای سیستم کوپن تخفیف و ابزار پشتیبان گیری و بازگردانی
- دارای رابط کاربری کاملا زیبا، جذاب، اداری و کاربردی
- دارای سئوی قدرتمند، تمپلیت های متنوع و ماژول های فراوان
- نصب بسیار آسان و همچنین پشتیبانی همیشگی و به روز رسانی رایگان
- و ...

روش نصب (بسیار مهم):

روش نصب این نسخه کمی متفاوت تر از بقیه نسخه های اپن کارت فارسی است و دلیل آن هم تغییرات اساسی در سیستم تاریخ شمسی است. لازم است حتما کاربران پس از نصب نسخه اپن کارت، به PHP My Admin هاست خود بروند و بر روی بانک اطلاعاتی که ایجاد کرده اند کلیک کنند. پس از انتخاب بانک اطلاعاتی، باید table های بانک اطلاعاتی اپن کارت را قادر به مشاهده باشید... حال بر روی تب SQL کلیک کنید و دستورات زیر را وارد SQL کنید و دکمه Go را بزنید. (دلیل اینکه این کد ها به صورت اتوماتیک در نصب اپن کارت قرار نگرفت این است که پرمیژن تعریف تابع بانک اطلاعاتی و ایجاد نصب اتوماتیک امکان پذیر نیست و فقط دسترسی از طریق مدیر سرور امکان پذیر است که نصب اپن کارت را دچار اختلال می کرد):

نمونه تصویر وارد نمودن کد (کلیک کنید)


 -- ----------------------------

-- Function structure for `__mydiv`

-- ----------------------------

DROP FUNCTION IF EXISTS `__mydiv`;

DELIMITER ;;

CREATE   FUNCTION `__mydiv`(`a` int, `b` int) RETURNS bigint(20)

BEGIN

 

                return FLOOR(a / b);

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `__mymod`

-- ----------------------------

DROP FUNCTION IF EXISTS `__mymod`;

DELIMITER ;;

CREATE   FUNCTION `__mymod`(`a` int, `b` int) RETURNS bigint(20)

BEGIN

 

                return (a - b * FLOOR(a / b));

END;;

DELIMITER ;

 -- ----------------------------

-- Function structure for `_gdmarray`

-- ----------------------------

DROP FUNCTION IF EXISTS `_gdmarray`;

DELIMITER ;;

CREATE   FUNCTION `_gdmarray`(`m` smallint) RETURNS smallint(2)

BEGIN

                 CASE m

                                WHEN 0 THEN RETURN 31;

                                WHEN 1 THEN RETURN 28;

                                WHEN 2 THEN RETURN 31;

                                WHEN 3 THEN RETURN 30;

                                WHEN 4 THEN RETURN 31;

                                WHEN 5 THEN RETURN 30;

                                WHEN 6 THEN RETURN 31;

                                WHEN 7 THEN RETURN 31;

                                WHEN 8 THEN RETURN 30;

                                WHEN 9 THEN RETURN 31;

                                WHEN 10 THEN RETURN 30;

                                WHEN 11 THEN RETURN 31;

                END CASE;

 

END;;

DELIMITER ;

 -- ----------------------------

-- Function structure for `_jdmarray`

-- ----------------------------

DROP FUNCTION IF EXISTS `_jdmarray`;

DELIMITER ;;

CREATE   FUNCTION `_jdmarray`(`m` smallint) RETURNS smallint(2)

BEGIN

                 CASE m

                                WHEN 0 THEN RETURN 31;

                                WHEN 1 THEN RETURN 31;

                                WHEN 2 THEN RETURN 31;

                                WHEN 3 THEN RETURN 31;

                                WHEN 4 THEN RETURN 31;

                                WHEN 5 THEN RETURN 31;

                                WHEN 6 THEN RETURN 30;

                                WHEN 7 THEN RETURN 30;

                                WHEN 8 THEN RETURN 30;

                                WHEN 9 THEN RETURN 30;

                                WHEN 10 THEN RETURN 30;

                                WHEN 11 THEN RETURN 29;

                END CASE;

 END;;

DELIMITER ;

 -- ----------------------------

-- Function structure for `_jdmarray2`

-- ----------------------------

DROP FUNCTION IF EXISTS `_jdmarray2`;

DELIMITER ;;

CREATE   FUNCTION `_jdmarray2`(`m` smallint) RETURNS smallint(2)

BEGIN

                 CASE m

                                WHEN 1 THEN RETURN 31;

                                WHEN 2 THEN RETURN 31;

                                WHEN 3 THEN RETURN 31;

                                WHEN 4 THEN RETURN 31;

                                WHEN 5 THEN RETURN 31;

                                WHEN 6 THEN RETURN 31;

                                WHEN 7 THEN RETURN 30;

                                WHEN 8 THEN RETURN 30;

                                WHEN 9 THEN RETURN 30;

                                WHEN 10 THEN RETURN 30;

                                WHEN 11 THEN RETURN 30;

                                WHEN 12 THEN RETURN 29;

                END CASE;

 END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `pdate`

-- ----------------------------

DROP FUNCTION IF EXISTS `pdate`;

DELIMITER ;;

CREATE   FUNCTION `pdate`(`gdate` datetime) RETURNS char(100) CHARSET utf8

BEGIN

                 DECLARE

                                i,

                                gy, gm, gd,

                                g_day_no, j_day_no, j_np,

                                jy, jm, jd INT DEFAULT 0; /* Can be unsigned int? */

                DECLARE resout char(100);

                DECLARE ttime CHAR(20);

 

                SET gy = YEAR(gdate) - 1600;

                SET gm = MONTH(gdate) - 1;

                SET gd = DAY(gdate) - 1;

                SET ttime = TIME(gdate);

                SET g_day_no = ((365 * gy) + __mydiv(gy + 3, 4) - __mydiv(gy + 99, 100) + __mydiv (gy + 399, 400));

                SET i = 0;

 

                WHILE (i < gm) do

                                SET g_day_no = g_day_no + _gdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                IF gm > 1 and ((gy % 4 = 0 and gy % 100 <> 0)) or gy % 400 = 0 THEN

                                SET g_day_no =                g_day_no + 1;

                END IF;

                SET g_day_no = g_day_no + gd;

                SET j_day_no = g_day_no - 79;

                SET j_np = j_day_no DIV 12053;

                SET j_day_no = j_day_no % 12053;

                SET jy = 979 + 33 * j_np + 4 * __mydiv(j_day_no, 1461);

                SET j_day_no = j_day_no % 1461;

 

                IF j_day_no >= 366 then

                                SET jy = jy + __mydiv(j_day_no - 1, 365);

                                SET j_day_no = (j_day_no - 1) % 365;

                END IF;

 

                SET i = 0;

 

                WHILE (i < 11 and j_day_no >= _jdmarray(i)) do

                                SET j_day_no = j_day_no - _jdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                SET jm = i + 1;

                SET jd = j_day_no + 1;

                SET resout = CONCAT_WS ('-', jy, jm, jd);

 

                IF (ttime <> '00:00:00') then

                                SET resout = CONCAT_WS(' ', resout, ttime);

                END IF;

 

                RETURN resout;

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `PMONTH`

-- ----------------------------

DROP FUNCTION IF EXISTS `PMONTH`;

DELIMITER ;;

CREATE   FUNCTION `PMONTH`(`gdate` datetime) RETURNS char(100) CHARSET utf8

BEGIN

 

                DECLARE

                                i,

                                gy, gm, gd,

                                g_day_no, j_day_no, j_np,

                                jy, jm, jd INT DEFAULT 0; /* Can be unsigned int? */

                DECLARE resout char(100);

                DECLARE ttime CHAR(20);

 

                SET gy = YEAR(gdate) - 1600;

                SET gm = MONTH(gdate) - 1;

                SET gd = DAY(gdate) - 1;

                SET ttime = TIME(gdate);

                SET g_day_no = ((365 * gy) + __mydiv(gy + 3, 4) - __mydiv(gy + 99, 100) + __mydiv(gy + 399, 400));

                SET i = 0;

 

                WHILE (i < gm) do

                                SET g_day_no = g_day_no + _gdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                IF gm > 1 and ((gy % 4 = 0 and gy % 100 <> 0)) or gy % 400 = 0 THEN

                                SET g_day_no = g_day_no + 1;

                END IF;

                SET g_day_no = g_day_no + gd;

                SET j_day_no = g_day_no - 79;

                SET j_np = j_day_no DIV 12053;

                set j_day_no = j_day_no % 12053;

                SET jy = 979 + 33 * j_np + 4 * __mydiv(j_day_no, 1461);

                SET j_day_no = j_day_no % 1461;

 

                IF j_day_no >= 366 then

                                SET jy = jy + __mydiv(j_day_no - 1, 365);

                                SET j_day_no =(j_day_no - 1) % 365;

                END IF;

 

                SET i = 0;

 

                WHILE (i < 11 and j_day_no >= _jdmarray(i)) do

                                SET j_day_no = j_day_no - _jdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                SET jm = i + 1;

                SET jd = j_day_no + 1;

                RETURN jm;

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `pmonthname`

-- ----------------------------

DROP FUNCTION IF EXISTS `pmonthname`;

DELIMITER ;;

CREATE   FUNCTION `pmonthname`(`gdate` datetime) RETURNS varchar(100) CHARSET utf8

BEGIN

 

                CASE PMONTH(gdate)

                                WHEN 1 THEN RETURN 'فروردين';

                                WHEN 2 THEN RETURN 'ارديبهشت';

                                WHEN 3 THEN   RETURN 'خرداد';

                                WHEN 4 THEN   RETURN 'تير';

                                WHEN 5 THEN   RETURN 'مرداد';

                                WHEN 6 THEN   RETURN 'شهريور';

                                WHEN 7 THEN   RETURN 'مهر';

                                WHEN 8 THEN   RETURN 'آبان';

                                WHEN 9 THEN   RETURN 'آذر';

                                WHEN 10 THEN RETURN  'دي';

                                WHEN 11 THEN RETURN  'بهمن';

                                WHEN 12 THEN RETURN  'اسفند';

                END CASE;

 

END;;

DELIMITER ;

 -- ----------------------------

-- Function structure for `pyear`

-- ----------------------------

DROP FUNCTION IF EXISTS `pyear`;

DELIMITER ;;

CREATE   FUNCTION `pyear`(`gdate` datetime) RETURNS char(100) CHARSET utf8

BEGIN

                 DECLARE

                                i,

                                gy, gm, gd,

                                g_day_no, j_day_no, j_np,

                                jy, jm, jd INT DEFAULT 0; /* Can be unsigned int? */

                DECLARE resout char(100);

                DECLARE ttime CHAR(20);

 

                SET gy = YEAR(gdate) - 1600;

                SET gm = MONTH(gdate) - 1;

                SET gd = DAY(gdate) - 1;

                SET ttime = TIME(gdate);

                SET g_day_no = ((365 * gy) + __mydiv(gy + 3, 4) - __mydiv(gy + 99, 100) + __mydiv(gy + 399, 400));

                SET i = 0;

 

                WHILE (i < gm) do

                                SET g_day_no = g_day_no + _gdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                IF gm > 1 and ((gy % 4 = 0 and gy % 100 <> 0)) or gy % 400 = 0 THEN

                                SET g_day_no =                g_day_no + 1;

                END IF;

                SET g_day_no = g_day_no + gd;

                SET j_day_no = g_day_no - 79;

                SET j_np = j_day_no DIV 12053;

                set j_day_no = j_day_no % 12053;

                SET jy = 979 + 33 * j_np + 4 * __mydiv(j_day_no, 1461);

                SET j_day_no = j_day_no % 1461;

 

                IF j_day_no >= 366 then

                                SET jy = jy + __mydiv(j_day_no - 1, 365);

                                SET j_day_no = (j_day_no - 1) % 365;

                END IF;

 

                SET i = 0;

 

                WHILE (i < 11 and j_day_no >= _jdmarray(i)) do

                                SET j_day_no = j_day_no - _jdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                SET jm = i + 1;

                SET jd = j_day_no + 1;

                RETURN jy;

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `pday`

-- ----------------------------

DROP FUNCTION IF EXISTS `pday`;

DELIMITER ;;

CREATE   FUNCTION `pday`(`gdate` datetime) RETURNS char(100) CHARSET utf8

BEGIN

 

                DECLARE

                                i,

                                gy, gm, gd,

                                g_day_no, j_day_no, j_np,

                                jy, jm, jd INT DEFAULT 0; /* Can be unsigned int? */

                DECLARE resout char(100);

                DECLARE ttime CHAR(20);

 

                SET gy = YEAR(gdate) - 1600;

                SET gm = MONTH(gdate) - 1;

                SET gd = DAY(gdate) - 1;

                SET ttime = TIME(gdate);

                SET g_day_no = ((365 * gy) + __mydiv(gy + 3, 4) - __mydiv(gy + 99 , 100) + __mydiv(gy + 399, 400));

                SET i = 0;

 

                WHILE (i < gm) do

                                SET g_day_no = g_day_no + _gdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                IF gm > 1 and ((gy % 4 = 0 and gy % 100 <> 0)) or gy % 400 = 0 THEN

                                SET g_day_no = g_day_no + 1;

                END IF;

                SET g_day_no = g_day_no + gd;

                SET j_day_no = g_day_no - 79;

                SET j_np = j_day_no DIV 12053;

                SET j_day_no = j_day_no % 12053;

                SET jy = 979 + 33 * j_np + 4 * __mydiv(j_day_no, 1461);

                SET j_day_no = j_day_no % 1461;

 

                IF j_day_no >= 366 then

                                SET jy = jy + __mydiv(j_day_no - 1, 365);

                                SET j_day_no = (j_day_no-1) % 365;

                END IF;

 

                SET i = 0;

 

                WHILE (i < 11 and j_day_no >= _jdmarray(i)) do

                                SET j_day_no = j_day_no - _jdmarray(i);

                                SET i = i + 1;

                END WHILE;

 

                SET jm = i + 1;

                SET jd = j_day_no + 1;

                RETURN jd;

END;;

DELIMITER ;

 

 

-- ----------------------------

-- Function structure for `_gdmarray2`

-- ----------------------------

DROP FUNCTION IF EXISTS `_gdmarray2`;

DELIMITER ;;

CREATE   FUNCTION `_gdmarray2`(`m` smallint, `k` SMALLINT) RETURNS smallint(2)

BEGIN

 

                CASE m

                                WHEN 0 THEN RETURN 31;

                                WHEN 1 THEN RETURN 28+k;

                                WHEN 2 THEN RETURN 31;

                                WHEN 3 THEN RETURN 30;

                                WHEN 4 THEN RETURN 31;

                                WHEN 5 THEN RETURN 30;

                                WHEN 6 THEN RETURN 31;

                                WHEN 7 THEN RETURN 31;

                                WHEN 8 THEN RETURN 30;

                                WHEN 9 THEN RETURN 31;

                                WHEN 10 THEN RETURN 30;

                                WHEN 11 THEN RETURN 31;

                END CASE;

 

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `gdate`

-- ----------------------------

DROP FUNCTION IF EXISTS `gdate`;

DELIMITER ;;

CREATE   FUNCTION `gdate`(`jy` smallint, `jm` smallint, `jd` smallint) RETURNS datetime

BEGIN

 

                DECLARE

                                i, j, e, k, mo,

                                gy, gm, gd,

                                g_day_no, j_day_no, bkab, jmm, mday, g_day_mo, bkab1, j1

                INT DEFAULT 0; /* Can be unsigned int? */

                DECLARE resout char(100);

                DECLARE fdate datetime;

 

  SET bkab = __mymod(jy,33);

 

  IF (bkab = 1 or bkab= 5 or bkab = 9 or bkab = 13 or bkab = 17 or bkab = 22 or bkab = 26 or bkab = 30) THEN

    SET j=1;

  end IF;

 

  SET bkab1 = __mymod(jy+1,33);

 

  IF (bkab1 = 1 or bkab1= 5 or bkab1 = 9 or bkab1 = 13 or bkab1 = 17 or bkab1 = 22 or bkab1 = 26 or bkab1 = 30) THEN

    SET j1=1;

  end IF;

 

                CASE jm

                                WHEN 1 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 2 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 3 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 4 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 5 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 6 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 7 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 8 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 9 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 10 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 11 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 12 THEN IF jd > _jdmarray2(jm)+j or jd <= 0 THEN SET e=1; end IF;

                END CASE;

  IF jm > 12 or jm <= 0 THEN SET e=1; end IF;

  IF jy <= 0 THEN SET e=1; end IF;

 

  IF e>0 THEN

    RETURN 0;

  end IF;

 

  IF (jm>=11) or (jm=10 and jd>=11 and j=0) or (jm=10 and jd>11 and j=1) THEN

    SET i=1;

  end IF;

  SET gy = jy + 621 + i;

 

  IF (__mymod(gy,4)=0) THEN

    SET k=1;

  end IF;

                IF (__mymod(gy,100)=0) and (__mymod(gy,400)<>0) THEN

                                SET k=0;

                END IF;

 

  SET jmm=jm-1;

 

  WHILE (jmm > 0) do

    SET mday=mday+_jdmarray2(jmm);

    SET jmm=jmm-1;

  end WHILE;

 

  SET j_day_no=(jy-1)*365+(__mydiv(jy,4))+mday+jd;

  SET g_day_no=j_day_no+226899;

 

 

  SET g_day_no=g_day_no-(__mydiv(gy-1,4));

  SET g_day_mo=__mymod(g_day_no,365);

 

                IF (k=1 and j=1) THEN

                                IF (g_day_mo=0) THEN

                                                RETURN CONCAT_WS('-',gy,'12','30');

                                END IF;

                                IF (g_day_mo=1) THEN

                                                RETURN CONCAT_WS('-',gy,'12','31');

                                END IF;

                END IF;

 

                IF (g_day_mo=0) THEN

                                RETURN CONCAT_WS('-',gy,'12','31');

                END IF;

 

  SET mo=0;

  SET gm=gm+1;

  while g_day_mo>_gdmarray2(mo,k) do

                                SET g_day_mo=g_day_mo-_gdmarray2(mo,k);

    SET mo=mo+1;

    SET gm=gm+1;

  end WHILE;

  SET gd=g_day_mo;

 

  RETURN CONCAT_WS('-',gy,gm,gd);

END;;

DELIMITER ;

 

-- ----------------------------

-- Function structure for `gdatestr`

-- ----------------------------

DROP FUNCTION IF EXISTS `gdatestr`;

DELIMITER ;;

CREATE   FUNCTION `gdatestr`(`jdat` char(10)) RETURNS datetime

BEGIN

 

                DECLARE

                                i, j, e, k, mo,

                                gy, gm, gd,

                                g_day_no, j_day_no, bkab, jmm, mday, g_day_mo, jd, jy, jm,bkab1,j1

                INT DEFAULT 0; /* ### Can't be unsigned int! ### */

                DECLARE resout char(100);

                DECLARE jdd, jyd, jmd, jt varchar(100);

                DECLARE fdate datetime;

 

                SET jdd = SUBSTRING_INDEX(jdat, '/', -1);

                SET jt = SUBSTRING_INDEX(jdat, '/', 2);

                SET jyd = SUBSTRING_INDEX(jt, '/', 1);

                SET jmd = SUBSTRING_INDEX(jt, '/', -1);

                SET jd = CAST(jdd as SIGNED);

                SET jy = CAST(jyd as SIGNED);

                SET jm = CAST(jmd as SIGNED);

 

 

                 SET bkab = __mymod(jy,33);

 

  IF (bkab = 1 or bkab= 5 or bkab = 9 or bkab = 13 or bkab = 17 or bkab = 22 or bkab = 26 or bkab = 30) THEN

    SET j=1;

  end IF;

 

  SET bkab1 = __mymod(jy+1,33);

 

  IF (bkab1 = 1 or bkab1= 5 or bkab1 = 9 or bkab1 = 13 or bkab1 = 17 or bkab1 = 22 or bkab1 = 26 or bkab1 = 30) THEN

    SET j1=1;

  end IF;

 

                CASE jm

                                WHEN 1 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 2 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 3 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 4 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 5 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 6 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 7 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 8 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 9 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 10 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 11 THEN IF jd > _jdmarray2(jm) or jd <= 0 THEN SET e=1; end IF;

                                WHEN 12 THEN IF jd > _jdmarray2(jm)+j or jd <= 0 THEN SET e=1; end IF;

                END CASE;

  IF jm > 12 or jm <= 0 THEN SET e=1; end IF;

  IF jy <= 0 THEN SET e=1; end IF;

 

  IF e>0 THEN

    RETURN 0;

  end IF;

 

  IF (jm>=11) or (jm=10 and jd>=11 and j=0) or (jm=10 and jd>11 and j=1) THEN

    SET i=1;

  end IF;

  SET gy = jy + 621 + i;

 

  IF (__mymod(gy,4)=0) THEN

    SET k=1;

  end IF;

                IF (__mymod(gy,100)=0) and (__mymod(gy,400)<>0) THEN

                                SET k=0;

                END IF;

 

  SET jmm=jm-1;

 

  WHILE (jmm > 0) do

    SET mday=mday+_jdmarray2(jmm);

    SET jmm=jmm-1;

  end WHILE;

 

  SET j_day_no=(jy-1)*365+(__mydiv(jy,4))+mday+jd;

  SET g_day_no=j_day_no+226899;

 

 

  SET g_day_no=g_day_no-(__mydiv(gy-1,4));

  SET g_day_mo=__mymod(g_day_no,365);

 

                IF (k=1 and j=1) THEN

                                IF (g_day_mo=0) THEN

                                                RETURN CONCAT_WS('-',gy,'12','30');

                                END IF;

                                IF (g_day_mo=1) THEN

                                                RETURN CONCAT_WS('-',gy,'12','31');

                                END IF;

                END IF;

 

                IF (g_day_mo=0) THEN

                                RETURN CONCAT_WS('-',gy,'12','31');

                END IF;

 

  SET mo=0;

  SET gm=gm+1;

  while g_day_mo>_gdmarray2(mo,k) do

                                SET g_day_mo=g_day_mo-_gdmarray2(mo,k);

    SET mo=mo+1;

    SET gm=gm+1;

  end WHILE;

  SET gd=g_day_mo;

 

  RETURN CONCAT_WS('-',gy,gm,gd);

END;;

DELIMITER ;

پس از وارد نمودن کد های بالا، قسمت مدیریت فروشگاه با نمودار فروش شمسی، در اختیار شما قرار می گیرد.

روش بروز رسانی نسخه های 1.5.1 و 1.5.2 به 1.5.3.1:
(دوستان تا اطلاع ثانوی فروشگاه خود را بروز رسانی نکنید و اخبار بروز رسانی (لینک بحث پیرامون این مطلب) را در انجمن پیگیری کنید، به محض پایدار بودن بروز رسانی، اعلام می شود تا دوستانی که علاقه دارند، بروزرسانی رو انجام دهند. به دلیل اینکه این نسخه، خاص تر از بقیه نسخه ها بوده، برای بروز رسانی جدید، نزدیک به 100 خط برنامه نویسی شده تا پایداری لازم ایجاد شود، ولی هنوز تست های نهایی سازگاری کامل نشده است.)

پوشه فایل های config.php داخل پوشه ادمین و روت اصلی فروشگاه را حذف کنید. همینطور پوشه image را هم می توانید حذف کنید، سپس  فروشگاه ساز را آپلود و اکسترکت کنید سپس install اپن کارت را به صورت yourshop.com/install فراخوانی کنید. جال بعد از پیغام موفقیت آمیز بودن بروز رسانی، همانند آنچه در مرحله نصب اپن کارت در بالا شرح داده شد، به بانک اطلاعاتی بروید و کدهای بانک اطلاعاتی را در SQL اجرا نمایید

 

Price قیمت: رایگان
Download دانلود با لینک مستقیم - 8 مگابایت
Forum بحث پیرامون این مطلب در انجمن
Demo مشاهده نسخه ی نمایشی (دمو)
Demo مشاهده نسخه ی نمایشی پنل مدیریت (دمو) 
Screen  تصویری از برنامه
HomePage سایت سازنده
Source لینک منبع