تسک 48 - نمایش پورسانت ها

برای نقش های کاربر، همکار، نماینده باید پورسانت رو نشون بدی توی داشبود صفحه اصلی زیر خوش آمدید
به این صورت که اول میبینی نقشش چیه و بر اساس اون نمایش میدی و همچنین اگر خاص داشت یعنی برای خود کاربر خاص بود باید اونو نمایش بدی . یعنی مراحلش رو بهش نشون میدی
یک متن تنظیمات یک راهنما علامت سوالی هم داره این بخش - طراحی به صورت مرحله مرحله باشه یا progressbar
یعنی مراحل رو نشون میدی به کاربر یا همکار یا نماینده که مقادیر چقدره و اینا


کمیسیون فعلی رو مینویسی و بعدی ها می نویسی
ادامه نوشته شهههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه



تسک 49 - item_id جدول wallet

item_wallet toie kharid kart check she ham khodesh ham commision
garar shod toie commission ke vasl she be commission history fekr konam va toie order ham baiad vasl she be order ke dade shode na be kart chon order khodesh kart ro dare



تسک 48 - اعمال پورسانت ارتقاء

agar range ro bezane miad ekhtelaf ro behesh mide-> yani bere bala behesh ekhtelaf pool ro mide
yani agar commission 1 bere be 2 -> ekhtelaf ino baiad behesh bede
masalan commision 1 -> 10 darsad boode ba 100.000.000 -> hala rafte 2 -> 20 darsad ba 200.000.000
hala 10darsad behesh sood dadim dg -> hala shode 20 darsad -> 20-10=10 -> hala baiad biaie o 10darsad pooli ke bedast ovorde az ghabl ro yeja behesh bedi chon alan 20 darsade o 10 darsad behesh kam dadim



تسک 47 - اعمال پورسانت

وقتی چیزی میخره برای کسی باید بریم برای پورسانت ها - یعنی در اصل اجرا میشه توسط خرید برای یک نفر دیگه
یعنی حالا وقتی برای یک نفر دیگه میخره میایی و بسته به پورسانت ها بهش پورسانت میدی - روش کار اینطوریه که اول بررسی میکنی ببیینی که عدد منحصر به فرد داره یا نه اگر نداشت، کاربر هست یا همکار یا نماینده
پس روی خرید برای نفر دیگه هست -> اگر منحصر به فرد داشت که میشه اون و اگر نداشته نسبت به نقش پیش میریم و حالا اگر داشت، حساب می کنی براش.
بهتره برای پیدا کردن پورسانت یک تابع بزنی بهش کاربر پاس بدی و مقدار خرید و بعد اون کار رو انجام بده
عدد مبلغ رو باید بگیری و درصد مورد نظر رو پیدا کنی و اون درصد خاص رو بعد از اتمام پرداخت، از کیف پول سایت کم کنی و بدی به کاربر که داره میخره.
فکر کن کاربر 10 درصد کمیسیون داشته، مبلغ خرید هم 1 میلیون بوده. حالا 1 میلیون از کیف پول پرداخت کرده و بعد این 1 میلیون رفته به کیف پول سایت - حالا 10 درصدش میشه 100هزار تومن - حالا میایی 100 هزار کم میکنی از کیف پول سایت با رکورد و بعد اضافه می کنی به کیف پول خریدار به رکورد. این میشه سیستم کمیسیون که یک نوع جدید توی کیف پول هست هم برای ادمین و هم کاربرا هر 3 تاشون تا بعد بتونیم رکورد بگیریم
خب تا اینجا همه چیو گفتم و می تونی بقهمی کدوم دسته هست ولی اینکه از اون دسته بره سراغ کدام درصد مورد بعدی هست. این خیلی خیلی مهمه
حواست باشه اینا رو تابع بزنی که راحت باشی و بتونی اگر مشکل داشت راحت رفع کنی
حالا وقتی خرید باید چک کنی ببین اولین بارشه یا نه. یعنی تاحالا برای کسی چیزی خریده یا نه
اگر نخریده باشه -> که تازه شروع کار هست. باید نزدیک ترین کمیسیون رو بهش بدی باتاریخ الان و تاریخ پایان
خب شد سه مقدار -> باید وصل شه به کمیسیون فعلی که میشه کمیسیون استارت و تاریخ شروع و پایان دوره رو بگیره
کمیسیون استارت میشه اونی که کمترین مقدار فروش رو داره و همچنین توی دسته کاربر هست - تاریخ شروع میشه الان - تاریخ پایان میشه به تعداد n روز بعد که این از تنظیمات جدید میاد
پس این شد مقدار هاش که چطوری مشخص میشه
حالا اینارو کجا ذخیره کنی که میشه جدول یوزرز و جدول جدید
توی جدول یوزرز در اصل میشه وضعیت فعلی کاربر که کجا هست
اینا میشه ستون های جدید جدول کاربران یا همون یوزرز
این با اولین خرید وارد میشه و ثبت میشه و از بعدش یعنی از خرید بعدی سیستم متفاوت هست که جلوتر بهت میگم
گفتم یک جدول هم داره. این جدول میشه حالت تاریخچه کار
CREATE TABLE `user_commisions_history` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` int NOT NULL DEFAULT 0, `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `last_commision_id` int NOT NULL DEFAULT 0, `current_commision_id` int NOT NULL DEFAULT 0, `commision_start_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `commision_end_date` datetime NULL DEFAULT CURRENT_TIMESTAMP, type TEXT NOT NULL DEFAULT '' );
ستون ها که معلومه فکر کنم و type هم میشه نوع یعنی ارتقاء داده شده یا اومده از اول یا ...

تاریخچه که میشه جدول بالا رو هم باید به خودش و هم باید به ادمین نشون بدیم
تابع باید زده شه برای چک کردن تایم توی جدول یوزر و وارد کردن به تاریخچه - یعنی وقتی آپدیت میشه ستون کاربر باید وارد شه به این جدول در هر موقعی اینکار باید انجام شه و همچنین وقتی ارتقا پیدا میکنه بازم باید ثبت شه و کلا یک تابع باید باشه که مدام چک کنه . مدام این تاریخ های end مال کاربر رو بررسی کنه و اگر تموم شد بیاره اول کمیسیون و دوباره از اول
هر چی گفتیم مال خرید اول بود که تازه پر میشد و شروع میشد. حالا توی هرخرید که میشه باید کمیسیون چک شه. یعنی چک کنیم آیا طی فروش هاش توی بازه که داره، آیا رفته مرحله بالاتر یا نه. در کل یعنی نگاه فکر کن تا 100میلیون ، ده درصد بوده، حالا رفته 101 میلیون، حالا میره کمیسیون بعدی طبق دسته کمیسیون و باید بشه 20 درصد از این به بعد، حالا باید توی کاربر و تاریخچه این تغییرات اعمال شه. یعنی تاریخچه بیوفته و کاربر هم عوض شه ستون کمیسیونش - تاریخ عوض نمیشه ها صرفا ای دی.
پس از خرید بعدی میشه باید ببینیم کمیسیون عوض میشه یا نه. یعنی لازمه عوض کنیم یا نه
یعنی اگر توی کمیسیون هنوز زمان داشت ولی رد کرد این کمیسیون رو، یعنی مبلغ رو پاس کرد میره کمیسیون بعدش در اصل. هم تاریخچه و هم یوزر هم ثتب میشه. اینطوری آپدیت میشه سطحش.
وقتی هم تموم میشه زمانش از اول میاد و باید از اول ستون ها آپدیت بشه و تاریخچه وارد بشه -> برای این باید یک تابع باشه که هی چک کنه و توی ماژول ران شه - یعنی زمان end تمام شده. حالا باید بیاد اولین کمیسیون و تمام شده کارش و دوباره باید از اول تلاش کنه و از اول شروع کار کنه. یعنی میشه درصد اولیه و همه چی آپدیت میشه.
پس توی هر خرید طبق کمیسیون بهش درصد میده از فروش و میره جلو مدام. پس درصد رو مدام میگیره و میره جلو. حالا ممکنه آپدیت بشه و درصدش بیشتر میشه و ممکنه زمانش تموم شه و برمیگرده از اول
برای ارتقاء و اینا بهش مدام نوتیف میدی که بدونه چه خبره
یک ستون به جدول orders اضافه میشه که معلوم شه این به کدام کمیسیون وصله
ALTER TABLE orders ADD user_commisions_history_id INTEGER NOT NULL DEFAULT 0;
یعنی مشخص شه به کدوم تاریخچه وصله اینطوری مشخص میشه برای کی بوده. توی چه تاریخچه وصله
پس اول درصد رو میدی بعد چک میکنی که آیا باید بره بالاتر یا نه
حداقل مقدار پکیج باید رعابت شه - اگر یادت باشه توی پکیج ها یک مبلغ داشتیم -> این برای اینه که اگر درصد کیمیوسیون خرید پکیج کمتر از این عدد شد، این عدد رو بهش بدیم و کمتر ندیم بهش



تسک 46 - تعریف پورسانت ها

چهار دسته پورسانت داریم. سه تا شبیه هم برای کاربر، برای همکار، برای نماینده + هر سه دقیقا مثل هم هستن ولی نوع های متفاوت دارن و برای نقش های متفاوت هستن همچنین یک نوع هم داریم برای یک کاربر خاص تعریف میشه که میشه نوع USER
یعنی دقیقا مثل هم هستن ولی برای نقش های متفاوت هستن که میشه این سه نقش و یک مدل برای کاربر خاص- در کل میشه 4 تا
مال کاربر که خاص بود میره توی منو کاربران که مدیر داره و اون سه تا هر کدام یک منو جدا هست. یعنی 3 منو جدا و یکی توی کاربران - همه عملیات ها هم دارن و سرچ هم داره
type -> USER - RANGE_USERS (user_id=0) - RANGE_REPRESENTATIVES (user_id=0) - RANGE_COLLEAGUES (user_id=0)
user_id -> vagti baraie ye user khase yani "type -> USER"
نباید دو تا sellprice برای یک نوع یکی باشن - پاک شدن با ستون removed هست
این نوع که برای کاربر هست که فرق داره و با user_id هست صرفا برای خود کاربر نیستا - برای هر سه نقشه نکته اینه که جداس از اونا وگرنه برای هر 3 نقش هست
sell_price مبلغ هست - commision کمیسیون هست و درصده
CREATE TABLE `commisions` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `submitter_id` int NOT NULL DEFAULT '0', `submitted_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `sell_price` int NOT NULL DEFAULT '0', `commision` int NOT NULL DEFAULT '0', `state` int NOT NULL DEFAULT '0', `title` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `color` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `img` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `comment` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `type` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `user_id` int NOT NULL DEFAULT '0', `removed` int NOT NULL DEFAULT '0' );

"`title` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `color` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `img` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `comment` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL," => ina ekhtiarie



تسک 45 - تست کل سایت + ارسال بک آپ

تست کل سایت + ارسال بک آپ



تسک 44 - کیف پول سایت

هر خرید و یا شارژ کیف پولی که انجام میشه، باید یک مبلغی وارد کیف پول سایت بشه، براش یک تابع بزن
یعنی یک تابع که یک مبلغ بگیره و وارد کیف پول سایت کنه -کیف پول سایت در اصل میش مقداری که رفته درگاه برگشته حالا از هر راهی، یعنی چقدر درآمد بوده و چقدر وارد شده به سایت - پس کیف پول سایت هرجا که از درگاه برگشتیم باید پر شه به همون مبلغ که فعلا درگاه 2 جا داریم یکی شارژ کیف پول و یکی از درگاه برگشتن موقع خرید کارت دیجیتال
کیف پول سایت در اصل همون wallet هست که داریم ولی با مقدار user_id = -1 یعنی این میشه کیف پول سایت و رکورد ها اینطوری ذخیره میشه
و یک سطر تنظیمات هم داریم به عنوان کیف پول سایت که اون هم در اول کار 0 هست و هرچی بهش وارد شه، شارژ میشه. یعنی فکر کن یکی تم خرید 1 میلیون،حالا یک میلیون اضافه میشه به مقدار فعلی تنظیمات و همچنین رکورد هم میوفته توی wallet -> user_id = -1
پس تنظیمات میشه مقدار فعلی و اینکه wallet user_id = -1 میشه رکورد های کیف پول سایت
حواست باشه هر جا از درگاه برگشتیم باید مقدار به کیف پول سایت اضافه شه که میشه درآمد سایت
حالا یک دسترسی جدا می خواهیم که هرکس داره مقدار فعلی کیف پول سایت رو ببینه و همچنین یک دسترسی جدا که هر کسی که داشت، بتونه رکورد های کیف پول سایت رو ببینه
پس میشه مبلغ فعلی رو دید واگر روش کلیک کرد یا از منو کیف پول سایت رفت، رکورد های کیف پول سایت رو دید که میشه دقیقا مثل حالت کیف پول که داشتیم ولی برای سایت هست این و درآمد های خود سایت هست -> میتونی اضافه کردن



تسک 43 - شارژ کیف پول میانبر

شارژ کیف پول در هنگام خرید با امکان ورودی اختیاری قیمت اختلاف - یعنی در صفحه که میشه کارت خرید و خرید با درگاه و کیف پول بود، اگر کیف پول موجودی کافی نداشت، باید دکمه شارژ کیف پول بیاد کنار ارور نبود موجودی
یعنی داری میخری و دکمه های خرید با کیف پول و درگاه رو داری ولی موجودی کافی نیست (هم برای خرید برای خودش و هم برای همه ) - دکمه شارژ کیف پول میاد کناش که بتونه روش کلیک کنه و بره به اون صفحه
بعد میتونه شارژ کنه کیف پول رو و یک ورودی اختیاری باید بدی به صفحه - یعنی یک ورودی اختیاری داره صفحه شارژ کردن کیف پول - این ورودی در اصل باید قیمت شارز باشه. یعنی یا این ورودی هست یا نه. - اگر باشه میشه شارز با اون قمیت
اگر ورودی باشه پس فیلد قیمت شارژ کیف پول -> بر اساس ورودی پر میشه -> یعنی انگار معلومه این قیمت باید شارژ بشه-> پس ورودی اختیاری هست و اگر باشه میره توی فیلد که بشه قیمت مورد نظر



تسک 42 - فیلد جدید در پکیج ها

توضیح کلی: مقدار درصد پورسانت محاسبه شده نباید از حداقل پورسانت هر پکیج کمتر باشد.


یک ستون اضافه میشه به پکیج ها به عنوان حداقل مقدار پورسانت که پیش فرض 0 هست
یعنی این صفر هست پیش فرض و حالا توی تسک های بعدی ازش استفاده میشه و موقع تعریف پکیج میشه هرچی میخواهی بهش مقدار بدی به تومان هم هست
ALTER TABLE packages_kart ADD min_commission INTEGER NOT NULL DEFAULT 0;
پس توی تعریف پکیج و ویرایش اون، میشه این رو مقدار داد و جایی دیده نمیشه توی سایت اصلا فعلا و ازش قرار استفاده شه فقط



تسک 41 - تست کل سایت + ارسال بک آپ

تست کل سایت + ارسال بک آپ



تسک 40 - خرید با کیف پول توسط نماینده و همکار برای کاربر

in task kheili moheme
hamkar va namaiande har 2 mitoonan baiad karbaraie khodeshon sefaresh bedan ba kife pool khodeshon -> yani namaiande ba kife pool khodesh baaraie karbaresh sefaresh mide o barash theme mikhare yani in 2 role mitoonan beran toie karbaran mn -> hala toie amaliat karbaran mn beran o barashon kart bekharan ba kifepool khodeshon
psa toie amaliat mishe kharid kart -> hala vagti mire toie in -> aval baiad ye safhe biari az category haie theme haie ke darim (mishe mesle menu top ke daste bandihaie ghablebha hast) -> hala roie har category ke zad -> baiad themehaie ono biari (mishe mesle vagti ke roie category bezani) -> daghighan on design ke too site hast ro namikhaima -> baiad ye design sade bashe ke categoryha biad baad rosh ke click mishe khode theme ha biad hala roie har theme ke mizane -> packageha miad o mibine o mitoone barash bekhare dg (etelaat package ina mibine) -> inja mishe mesle safhe ke code takhfif o ina mizadi -> hala dg masir ro mire o mitoone baraie on bekhare -> fagat o fagat ham mitoone az kife pool barash bekhare -> dare baraie yekarbar dg mikhareha havaset bashe (miotoone code takhfif o hamechi bezane o kamel kamel hast - serfan yeki dare bara yeki dg migire va fagat ba kife pool ham hast)
dokme bazgasht hameja bashe ke betoone bere ghabli - search o pagination htman hameja mikhaim -> esme karbari ke dare barash mikhare balaie safahat bashe hatman -> va inke agar kife poolesh charge nadasht betoone aval bere charge kone o bad dobare biad o begire
pas engar dar asl ye kharid hast vali baraie ye karbar dg hast ke access dare o male fagat hamkar o namaiande hast felan - toie karaban mn hast
va baad ham betoone toie sefareshat on karbar, sefareshhaie ro fagat bebine ke khode namaiande ya karbar baraie on karbar dade
in mishe ye soton dg baraie orders -> ALTER TABLE orders ADD order_by_id INTEGER NOT NULL DEFAULT 0;
pas vagti sefaresh mide baraie yeki az karbaraie khodesh ke hatman baiad karbar khodesh bashe baiad idish biofte - hala mitoone fagat sefareshaie ro bebine ke khodesh dade baraie karbarash ke mishe ye menu joda toie amaliat karbaran mn
pas in task kolan mishe 2 menu toie karbaran mn ke darim dg va hamkar o namaiande baraie karbara kart sefaresh midan -> log wallet mire baraie hamkar ya namaiande o kart ro baraie karbar migire o DONE o baad mitoone karthaie ke gerefte ro bebine - access haie joda yadet nare -> yani kharid baraie dgaran fagat ba kife poole
hala serfan baraie karbar kart kharide o pooolesho khodesh dade va karbar dg mesle ghabl mire jolo o bahash kar mikone o TAMAM -> yani kole task kharid kart baraie baghie hast



تسک 39 - ویژگی های پکیج ها

CREATE TABLE `packages_karts_specs` ( `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT, `packages_kart_id` int NOT NULL DEFAULT '0', `title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL, `value` int NOT NULL DEFAULT '0', `state` int NOT NULL DEFAULT '0', `priority` int NOT NULL DEFAULT '0', );

ye seri vizhegi mesle size o tedad roadmap o ina har package dasht -> ina khodkar bood -> hala in table miad toie amaliat package ha
admin mitoone khodesh barash vizhegi tarif kone -> yani masalan mige in package in vizhegi ro dare o ino nadare o ...
pas yani mitoone barash vizhegi tarif kone dasti-> packages_kart_id ke baraie amaliat hamon package hast
title ke mishe onvan o value mishe meghdar
pas serfan ina ro tarif mikone bara har package ke khast - baad toie namaiesh packageha ham zire etelaat asli ke az ghabl bood inaram neshon midi o tamam



تسک 38 - خراب بودن دکمه کپی لینک

dokme copy hameja kharab



تسک 37 - نوتیف ها

برای مدیریت تیکت ها هم لازم هست - vagti ye ticket jadid miad o girande nadare o mire toie management baiad bara hame girande ha notif bere - girandeha mishan kasaie ke access MANAGEMENT ro daran ke mishe oprator shod - pas vagti ye ticket sabt mishe -> baida bara harki mitoone girande bashe notif bere

vagti sefaresh sabt mishe baiad bara admin notif bere ke sefaresh sabt shode o ina va baraie karbar ham notif bere ke sefareshet ok shod

charge wallet ham baiad bara karbar notif bere ke charge shode

baraie khode ticket ham garar shod harvat tarafein paiam dadan

taviz operator ham khord baz baiad mesle management ke behet goftma notif bere

agar contact omad vase admin notif bere (hame adminha)

notif baraie new jobs o new neighbor baraie admin ke bere taied kone (hame adminha)

vagti tedad estefade az ye code tamom shod ba zadan yeki baraie adminha paiam bere




تسک 36 - شروع بخش تیکت ها - بخش 2 -> تسک ها

Site nemone -->
https://newform.one/Dashboard/
09027360037
Q12q12Ww

  1. Ticket Add

    fagat o fagat hamin safhe ro felan bezan chon in menu sangine yeki yeki mirim jolo → https://newform.one/Dashboard/Tickets/Add/
    “gesmat form ro ke dropdowne nadari” -> in field ro kolan nadari vali baghie ro dari
    ro sabt ke click mishe
    bere be tickets va tickets messages insert kone (2table)
    title tickets ke az form miad yani field dare
    date tickets → NOW()
    state tickets → 0
    ye code baiad barash besazi ba function generate_random_string ke fagat addad bashe va be in sorat
    TI-”tabe run she ba 3 ta addad” + ID hamin satr + ”tabe run she ba 2 ta addad” --- baad az insert ticket baiad update query bashe --- va fagat code on ticket update she-TI-$RANDOM$ID$RANDOM-yani fagat id khode satri ke insert shode biad
    sender_id → kesi ke logine → get_user_id()
    receiver_id =0
    title_id → dropdown male ticket_titles ke zadi az ghabl
    type = “TICKETS“
    ta inja ticket vared shod
    hala agar deghat koni ye textarea ham dari ke aslna hichja vared nashode
    be esme matn ticket
    in mire too ticket_messages:
    yani insert 2 marhale ast → 2 ta insert query
    ticket_id → hami ticket ke alan insert kardi mishe → id
    text → hamin textarea form
    sender_id → get_user_id()
    date → NOW()
    rate → 0
    state → 0
    type = “TICKETS“
  2. Ticket Messages

    too details yani tickets/messages/
    ye textarea gozashte shode ba ye dokme
    agar type kard too textrea va dokme ro zad
    baiad message bere too ticket beshine (yani ticket messages)
    ticket_id ro dari az link
    kafie ke biaie berizi toie ticket_messages
    in mire too ticket_messages:
    ticket_id → hami ticket_id ke too linke
    text → hamin textarea form
    sender_id → get_user_id()
    date → NOW()
    rate → 0
    state → 0
    type = “TICKETS“
    https://newform.one/Dashboard/Tickets/Messages/18/
    Tickets/Add Ke tamom mishe -> baiad bere tickcets/messages/ hamon ticket ke insert shod
  3. Ticket Files

    2ja in jarian ro darim
    yeki too Tickets/Add/ Yeki Too Tickets/Messages/
    har2ja in hast
    dar asl zire textarea ham hast
    dar asl in gesmat miad fileharo vasl mikone be message ha
    yani jadvale tickets_files
    in jadval 3 sta soton dare
    id ke hichi
    sotone baadi ticket_message_id hast ke yani be kodom ticket_message vasle
    soton akhar ham file ke hamon input type = file hast
    https://newform.one/Dashboard/Tickets/Messages/19/
    baiad ba js biaie input besazi be tedad har add ke mizane ke test koni mifami chetowrie - tedad maximum add ham toie settings miad - hamchenin bar ax site ke dadamet baiad kenar har input file ke miari ke X ya satl ashqal bashe ke agar zad rosh ->input hazf she o bere
    be ezaie har file ke vasle miaie ye satr toie jadval tickets_files insert mikoni
    baad too tickets/messages/
    gesmat paiamha
    har kodom ke file dare
    ziresh filehasho neshon midi mesle nemone gozashet shode
    har kodom ham linke va ba click rosh baz mishe o download mishe
    code add dynamic js toie tickets/add hast baiad too tickets/messages ham bere
    satr setting ham roie js emal she ke max tedad fielha bood
    baad az har ersal paiam baiad redirect she be tickets/messages/
    file ticket backend ok she
    har 2ta ja kamel she
  4. Ticket Index

    https://newform.one/Dashboard/Tickets/Index/
    title jadvale tickets
    title_id jadvale tickets va etesal be teckets_title
    code jadvale tickets
    date jadvale tickets
    state jadvale tickets
    state = 0 -> agar 0 bood → minevisi → در انتظار پاسخ
    search pagination access hamegi dare
    toie index → add ticket ro ke zadi fagat link bede
    ticket jadid
    soton amalit akhar ezafe kon
    fagat ye icon cheshm dare ba toie button ham bashe o didan neveshte shode bashe rosh
    ke mire detials kar
  5. Ticket States

    tickets 2 ta input dare
    pagination o search
    hala ye filter ham darim ke mishe 3 ta vorodi
    filter state dairm
    ke miad state haro filter mikone
    mishe 5 ta state dare
    -1 → hame
    0 → در انتظار پاسخ
    1 → پاسخ داده شده
    2 → بسته شده توسط فرستنده
    3 → بسته شده توسط سایت
    mesle contacs hast vali sadetar
    https://newform.one/Dashboard/Tickets/Index/
  6. Ticket Misc

    https://newform.one/Dashboard/Tickets/Messages/19/
    ro hamon cheshm icon ke click mshe miad inja
    too in safhe dar asl etelaat tickets , ticket mesages, ticket messagef files neshon dade mishe
    avale safhe daghighan mesle index
    title tickets
    state tickets
    date tickets
    title_id tickets ke mishe ba ticket_titles
    code tickets
    sender_id mishe ferestande → firstname o lastname o phonenumber
    operator hamon receiver hast → agar 0 bood minevisi bedon operator va agar harxzchi be gheiere 0 bood →→ firstname o lastname o phonenumber
    zire in etelaat
    ye textarea bezar ba ye dokme ersal
    serfan ui bedon back
    zire balaie
    dg az jadvale ticket message mikhoni
    ticket_id ro ke dari
    text ro neshon midi
    date ro neshon midi
    “rate o state aslan kari nadari”
    baiad check koni type == “TICKETS“
    hala tanha nokte sender_id hast
    miaie → firstname o lastname o phonenumber
    ro neshon midi
    hala agar sender_id === get_user_id()
    jolosh too parantez minevisi
    خودم
    baad role sender_id ham benevis (users va roles)
  7. Ticket Messages

    toie tickets/messages
    agar state mokhalef bsate shodan tavastoe site va baste shodan tavaseote ferestande bood ->
    yani state barabarae dar entear pasokh ya pasokh dade shode bood → bia dokme بستن تیکت رو بذار
    hala agar roie dokme zad → ye executor jadid
    Tickets/Cancel/1/
    vali outlook nadare -> yani khalie o chizi tosh nist
    karo anjam midi
    redirect mikoni baz be tickets/messages hamo ticket
    redirect mikoni be hamonjaie ke boodi
    toie in executor shoma baiad state ticket ro avaz koni
    agar sender_id == get_user_id toie ticket
    state mishe lagv tavasote ferestande
    agar nabod
    mishe lagv tavasote site
  8. Ticket Manangement

    in mored toie
    https://newform.one/Dashboard/TicketsManagement/Messages/22/
    hast
    yani balaie safheie ticketsmanagement/messages
    yani jaie ke receiver_id =0 hast
    harki roie in dokme zad
    mishe reciver_id on ticket
    yani id ticket ro ke dari
    miaie update query mikoni
    reciver_id ro mizari kasi ke logine
    ravesh kar daghighan mesle dokme cancel hast
    ye outlook khalie
    fagat miri anujam midi redirect mishi be
    https://newform.one/Dashboard/TicketsManagement/Messages/22/
    TicketsManagenent/Accept/
    ye bakhshe jadid toie dashboard
    مدیریت تیکت
    yani tickethaie ke girande nadaran
    receiver_id = 0
    dar asl in bakhsh 2a safhe dare
    yeki index yeki messages
    kole hadaf in bakhsh ineke ticket ha girande peida konan
    yani yeki beshe girande ticket
    yani receiver_id por she
    chon too halate adi reciever_id = 0 bod
    be mahzi ke reciver id az 0 kharej she
    dg toie modirirat nistesh ticket chon dg reciever 0 nis
    toie index daghigh mesle tickets/index hast
    daghigh hamone
    fagat shart
    reciever_id =0 dare
    filter ham daghighan hamoni ke ghablan dari
    hamo state
    fagat toie index ye soton jadid avalesh ezafe kon
    toie soton aval ke zafe mikoni toie index
    اطلاعات فرستنده
    yani az sender_id estefade kon
    firs name o last name o phonenumber ro bezar
    baad dg too amaliat cheshm dari
    ro cheshm ke click she mire toie
    https://newform.one/Dashboard/TicketsManagement/Messages/22/
    miri messages on ticket
    in safhe ham mesle messgaecs ghabli hast
    ba in tafavot ke dg textarea o dokme ersal nadari
    hamo etelaat avalie ro darim ba messageha
    dg ersal message nadarim inja
  9. Ticket stateha management

    state haie 0 o 2 o 3 ro zadi kamel kamel
    fagat state = 1 monde ->
    agar receiver pasokh dad → yani message ersal kard
    state ticket mishe 1
    yani pasokh dade shode
    dar asl to shoroe kar yeki ticket mizane ke soal dare masalan
    pas state mishe dar entezar pasokh
    hala agar yeki javabesho dad → state mishe pasokh dade shode
    reciver javab mide dar asl
    yani toie tickets/messages
    jaie ke message ersal mikoni
    baiad check koni agar receiver dare message mide
    satte ticket ro baiad bokoni 1 (yani javab dade → javab dade shode)
    va agar sender dare paiam mide
    state ticket ro baiad bokoni 0 (yani soal dare javab mikhad → dar entezar pasokh)
    bastan ticket toie https://newform.one/Dashboard/TicketsManagement/Messages/22/
    daghighan hamon bastan ticket hast ke onja zadi
    fagat baiad copy koni biari toie management
    daghighan ham hamon shartharo dare
    yani agar sender bast mishe baste shode tavaseote frestande va bar ax
    yani in yeki daghighan hamone
    toie management index va counter ke dare
    baiad shart ezafe she
    ke alave bar receiver =0 boodan
    state baiad mokhalef
    baste shode tavasote site
    va
    baste shode tavaseto ferestande bashe
    yani ticket haie ke kolan baste nashodan melak hast toie managements
    counter management ticket done done hast
    hichie dg nadare
    **counter ticket ke monde**
    baraie counter ticket shart injorie ke
    agar mn sender basham va state pasokh dade shode bashe
    \+
    mn receiver basham va state dar entezar pasokh bashe
    \+ → OR
    x → AND
    (x1 and x2) OR (x3 and x4)
  10. Ticket Mavared Mande o Koli

    toie ticket index
    serfan baiad tickethaie ro biari ke
    ya sender\_id = get\_user_id() ya
    receiver\_id = get\_user_id()
    too tamame xcondtionhaie tickets in gozashte she
    ke aga fagat tickethaie mn baz she
    yani tickethaie ke ya mn ferestande hastam ya mn girande
  11. Ticket Be Fard Khas

    ارسال تیکت به شخص خاص
    دقیقا مثل تیکت جدید قبلی هست ولی گیرنده مشخص هست
    receiver = 0 nist
    az toie dropdown entekhab mikone
    pas toie
    http://localhost/aramesh/Dashboard/Ticket/Index/
    ye dokme dg ijad mishe kenar ticket jadid
    be esme
    تیکت به کاربر خاص
    rosh ke zad daghighan mesle ticket/add adi hast
    yani mesle
    http://localhost/aramesh/Dashboard/Ticket/Add/
    vali balaie safhe ye dropdown select2 vojod dare ke receiver az too on entekhab mishe
    yani ye dropdown az userha hsat
    baad dg on user mishe reciver va tamam
    che userhaie toie dropdown bashan?
    userhaie ke ye access khas daran
    too group access ویژه
    ye access jadid baraie userhaie ke mishe beheshon ticket zad
    har role in access ro dasht toie in dropdown miad
    access ro bede bede be naghsh userha



تسک 35 - شروع بخش تیکت ها - بخش 1 -> جداول

3 jadval darim baraie ticket alave bar ticket_title ke zadi ke mishe ina -> hamaro bezar toie proje - havaset bashe ticket title ke zadi -> deltesh ba removed basheha


CREATE TABLE `tickets` ( `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT, `title` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL, `date` datetime NOT NULL, `state` int NOT NULL DEFAULT '0', `code` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL, `sender_id` int NOT NULL DEFAULT '0', `receiver_id` int NOT NULL DEFAULT '0', `title_id` int NOT NULL DEFAULT '0', `type` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_persian_ci;


CREATE TABLE `ticket_messages` ( `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT, `ticket_id` int NOT NULL DEFAULT '0', `text` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL, `sender_id` int NOT NULL DEFAULT '0', `date` datetime NOT NULL, `rate` int NOT NULL DEFAULT '0', `state` int NOT NULL DEFAULT '0', `type` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_persian_ci;


CREATE TABLE `ticket_files` ( `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT, `ticket_message_id` int NOT NULL DEFAULT '0', `file` text CHARACTER SET utf8mb3 COLLATE utf8mb3_persian_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_persian_ci;



تسک 34 - اعمال کد تخفیف

toie site moghe kharid package -> yani safhe ke mire o taied mikone o mikhad bekhare dg -> inja ya az kife pool migire ya az dargah ->
inja baiad ye field bashe code takhfif ke field text hast o code takhfif ro mizane -> hala baiad validate koni code takhfif ke zade ro
moetabar bashe o tedad dashte bashe o male in user bashe ya male hame ya cat_id o mablagh o state o removed o hamechi -> tamame fieldha baiad check she ke code ok BASHE
pas hatman baiad check she ke code ok bashe -> hala agar code ok bood -> (nokte mohem: toie back hamin safhe check mikoni ke code ok hast ya na) -> az mablah kam mikoni o neshonesh midi -> yani az mablagh kole sefaresh kam mishe o neshon midi ke aga ina ok shode o minevisi ke movafaghiat amiz boode o chegadr kam shode -> agar nabood -> error ro minevisi
pas field ro dari -> sabt ke zad code check mishe o errror ya paiam monaseb o emal code o takhfif ro dari
hala nokte mohem injas ke baiad be dargah ham mablagh takhfif ro pas bedi dg yani mablagh mishe baade code takhfif dg
in az in ta inja code ro ok kardi o mablagh ro neshon dadi o ok -> fagat agar beri dargah bargardi be khata mikhore chon toie back baiad handle she
ma vagti az dargah bar migardi geimat ro dobare hesab mikonim ke kasi hack nakone va onja code takhfif emal nakardim ma -> pas yejorie baiad moghe bazgasht az dargah ya hata moghe sabt kifepool -> baiad in handle she -> yani baiad bedoni kodom code ro zade boode ke aga mablagh ro hesab koni o motmaen shi doros boode -> code takhfif fagat vase ghabele ha havaset bashe -> pas baiad yejori vagti az dargah bar migardi ya sabt kife pool mishe code takhfif ro roie giemat emal koni o baad toie order sabt koni
soton "current_off_code_id" ke mishe code takhfif alani -> ino toie user misazi ke mishe soton jadid -> vagti code takhfif ok ok hast -> ono mizari inja ke befahmi in user kodom code ro zade -> yani alan che code dashte ke betooni azesh estefade koni toie back -> yejori engar code takhfif ke karbar alan dare ro mifahmim ba in
havaset bashe ke harvagt code takhfif jadid mizane ya kharid ok mishe o code takhfif masraf mishe ya hata error mide code takhfif baiad in soton user ro khali koni -> kolan ba kharid o ya zadan dokme sabt code takhfif, baiad code az aval biad toie users
ba refresh sahfe kharid ke field code takhfif dare -> baiad code az aval validate she az soton user o agar moshkel dare delete she az in soton o behesh error bedim
vagti code takhfif ro dasht o sefresh sabt shod dg havaset bashe -> baiad code takhfif biad toie order sabt she toie soton "off_code_id" va az tedad code takhfif kam she
yani sabt mishe ke in code takhfif khorde boode tosh o ...
hamchenin toie sefareshat mn o hame neshonesh midi




تسک 33 - کد تخفیف

in task ro ghablan zadi hododan - fagat hatman hatman testesh kon kamel ke ok bashe - ye seri chizash jadide mesle removed o ... -> hatman agar copy mikoni checkesh kon
CREATE TABLE off_code ( id int NOT NULL PRIMARY KEY AUTO_INCREMENT, code text NOT NULL, name text NOT NULL, count int NOT NULL DEFAULT 0, limit_count int NOT NULL DEFAULT 0, off_percent int NOT NULL DEFAULT 0, state int NOT NULL DEFAULT 0, start_date date DEFAULT NULL, end_date date DEFAULT NULL, user_id int NOT NULL DEFAULT 0, each_person_count int NOT NULL DEFAULT 0, cat_id int NOT NULL DEFAULT 0, min_price int NOT NULL DEFAULT 0, first_buy int NOT NULL DEFAULT 0, max_value int NOT NULL DEFAULT 0, off_value int NOT NULL DEFAULT 0, removed int NOT NULL DEFAULT 0 );
code text NOT NULL, => خود کد تخفیف -> nabaiad aslan tekrari bashe -> magar inke ghabli removed bashe ya state = 0 bashe -> va agar state yechi dare mishe 1 nabaiad az in code state = 1 dashte bashim -> hatman baiad por she
name text NOT NULL, => نام کد تخفیف که نشون بدی مثلا عید و سال نو
count int NOT NULL DEFAULT 0, => تعداد که میشه استفاده کرد -> aadade ke admin vared mikone
limit_count int NOT NULL DEFAULT 0, => تعداد مانده که هی ازش کم میشه و الان موقع وارد کردن میشه برابر تعداد اصلی که ستون بالاتری هست -> khodet insert mikoni moghe add (ba code hast na field)
off_percent int NOT NULL DEFAULT 0, => درصد تخفیف
state int NOT NULL DEFAULT 0, => وضعیت -> mishe 2 halate 0 o 1 -> faal o gheiere faal
start_date date DEFAULT NULL, => تاریخ شروع اگر بخواهد -> calendar -> ekhtiari
end_date date DEFAULT NULL, => تاریخ پایان اگر بخواهد-> calendar -> ekhtiari
user_id int NOT NULL DEFAULT 0, => مخصوص یک کاربر خاص اگر بخواهد -> ekhtiari va ye list az userha
each_person_count int NOT NULL DEFAULT 0, => هر کاربر چندبار می تونه استفاده کنه
cat_id int NOT NULL DEFAULT 0, => مخصوص یک دسته خاص اگر بخواهد -> daste ghaleb ha hast dar asl
min_price int NOT NULL DEFAULT 0, => کمترین مبلغ که بشه از این کد استفاده کرد -> sefaresh hadeghal baiad chegdar geimatesh bashe
first_buy int NOT NULL DEFAULT 0, => ایا فقط برای خرید اولی ها هست یا نه -> tahala order taraf nadashte bashe
max_value int NOT NULL DEFAULT 0, => بیشتری مبلغ که تخفیف میده یعنی مثلا ده درصد تا سقف اینقدر -> male darsad takhfife
off_value int NOT NULL DEFAULT 0 => به جای درصد تخفیف، یک مبلغ کم بشه از قیمت کل -> takhfif meghdari hast in dar asl
removed -> ke dg moghe pak shodane ke intowri pak mishe
hamchenin moghe edit zadan ham havaset bashe -> dar sorati edit mikhore ke kasi az in code takhfif estefade naakrde bashe -> dar gheire in sorat toie edit - > minevisi ke namishe edit kard o ina -> hala az koja befahmi ghablan estefade shode ya na -> ye soton toie orders be name off_code_id baiad ezafe koni
toie index ke mitooni az in site (09027360037 - Q12q12Ww - https://onlineselling.ir/Dashboard/OffCode/Index/)
halate radio buttone faramosh nashe - ye settings rahanama ham baraie balash bezar -
CRUD o pagination o access dare - Index ke etelaat asli miad mesle linki ke dadam - delete -> removed mishe 1 -
agar ye code delete shode bood ya inactive bood -> mishe az on code dobare zad vali on ghabli ro dg namishe active kard -> yani 2 ta code takhfif ba ye code dar ye lahze namitonan acitve bashan
in mishe delete o index o activate
baraie add ke malome - edit ham dar sorati darim ke code estefade nashode bashe -> agar estefade shode bood -> ye matn az settings minevisi ke baiad dobare tarif kone
baraie estefade ham mikhaim agar kasi code takhfif zad -> id code takhfif ro bezarim toie orderesh toie soton "off_code_id"
intowri mifahmim kodom order off code daran va che off codi daran -> intowri mitooni befahmi estefade shode ya na
hamchenin ba barabar naboodan count o limitcount ham mitooni befahmi




تسک 32 - منو دسته بندی تیکت ها

in task toie jadvale menus hast o ye type jadid hast -
type = "TICKET_TITLE"
menu baraie admin hast -> دسته بندی تیکت ها
id - title - priority - state - removed - type - text (ekhtiari)
CRUD dare samte admine - search ham dare




تسک 31 - تغییر عنوان در منو

کاربران من هست این منو
"http://185.208.175.156/bakart_git/Dashboard/MyUsers/Index/1/"




تسک 30 - راهنمای سیستمی

haman rahnama ke az hint miad -> alan yekisho mikhaim toie safhe "http://185.208.175.156/bakart_git/Dashboard/MyOrdersInformation/Index/49/"
mishe rahnama vared kardan link -> dokme miad toie satr hamon label vali akhar input yani samt chap
ye rahnama ham mishe baraie sefaresh dadan ke toie site hast -> yani toie khode post male ghaleb toie site
yeki dg ham toie safhe kharid hast ke dare az kifepol ya dargah pool mide




تسک 29 - میانبر های کاربران در میزکار

1. karthaie mn -> mire be sefareshat mn
2. kife pool -> mire be kife pool (meghdar alan kife pool ham jolosh benevis)
3. bookmarkha -> mire be bookmarkha -> ba tedad
3 mored bala be sorat col4 bashe ke biad toie ye satr

hala zire balaie be sorat col6 towr -> bia o karthaie ke alan karbar dare ro neshonesh bede
- miaie be sorat card mamanand sefareshat ke dare ro neshonesh midi -> (code sefaresh - tarikh sefaresh - tarikh etemam - tedad bazdid - etelaat item - fagat title package - onvane farsi - onvane englisi image -)
ye dokme share barashon bezar ke az haminja betoone kart ro share kone
ye dokme ham bashe ke moshahede kart bashe ke bere to linkesh
agar kart takmil nist toie shortcute benevise ke naghese
va ye dokme dg ham dare be esme viraiesh etelaat kart -> agar roie in dokme zad -> kafie ba code order on sefaresh ro search koni ke baz she o fagat on biad




تسک 28 - سرچ در سفارشات + دیدن سفارشات کاربران

ham baraie admin o ham baraie user - az etelaat khode order (hame etelaat jadval index ke darim be joz tarikhha o tedad bazdid)
toie users baiad betooni sefareshat ye karbar ro bebini - yani mire be sefareshat ye karbar khas bebinim




تسک 27 - اصلاحات

toie home site -> alan category blog o khode blog avalan baadesh category ghaleb o khode ghalebe -> category ghaleb - ghaleb - category blog - blog (tartib intowri)
جدیدترین پست ها -> beshe تازه ها
jadid tarin ghaleba -> jadid tarin kartha
daste bandi ghaleb ->daste bandi kartha




تسک 26 - اصلاحات کلی

safhe -> activation -> dokme taied kochiktar she o biad samt chap
baad ye dokme logout samte rast tarin hamin dokme
--------------------------------------
rahnama ha toie home dashboard comment she
--------------------------------------
adad 120 sanie benevise 120 sanie mande ta ersal mojadad
--------
agar karbari nam nadarad -> toie header samte chap -> benevise
کاربر باکارت
manzoooram az bakart -> setting websitename
-----------------------
default jensiat toie database beazr -1
----------------
http://185.208.175.156/bakart_git/Dashboard/OrdersChangeTheme/Index/24/
http://185.208.175.156/bakart_git/vcard-tst/
in theme ha check she -> hame theme ha toie server check kon
baad onaieke moshkel dare ro local check kon agar didi irad az local nist
ctrl f5 hatman bezan -> behem khabar bede
----------------
ro server test kon kamel kamel - moshkel raf kardi bego barat upload konam baz bebini o okayesh kon
------------------
search too tanzimat mikhaim mesle hezarforsat
----------------
ersal code mojdad toie activation -> card doresh border radius bgire




تسک 25 - تست کامل پروژه و ارسال بک آپ

kole proje test kamel - makhsosan sefareshha - aminiat - resp - theme
hamejore test kon ke moshkeli aslan aslan nabashe hicjori - agar moshkeli bood yeja benevis hamaro baad list kon baram befrest ke bezaram barat hal konim
ham design - ham themeha - ham back - ham amniat - makhsosan orderha har 2taraf ba tamame amaliat ha - ham responsive - hamehamechi proje ro test kon kamel
baad az test va etmam mavared ke boode -> hamechi kamel kamel ke ok shode -> backup befrest -> ino mikhaim dg azash test vaqeie begirim




تسک 24 - اجباری بودن ویدیو و تگ آیفریم که ویرایش رو خراب می کرد

required video to edit ha check she - in yani iframe o video harja dashtim ke ba js handle mishod
moghe edit be moshkel mikhord agar yadet bashe - harja intowri darim ro toie add o edit test kon - ke agar nakhast avaz kone video ya tag ro betoone yechiz dg ro avaz kone o sabt kone




تسک 23 - درست کردن عکس های کشیده شده

object fit ax video ke keshide shode - harja did ax keshide shode (mishe jahaie ke height | width dasti dadi) -> object fit bezar ke ax kesh nabaiad
mn toie theme ha ziad didam ino ro




تسک 22 - درست کردن آی فریم ها

doros kardan iframe ha hameja - code toie theme ha , orderha , hameja doros she - pishnamaiesh toie edit toie index ha - toie namaiesh theme ha
test kamel ham bokon ham responsive ham halate aadi - ham ba modal o ina - harja ke iframe darim ro hatman check kon ke ok bashe - orderha
on towri bood test kardam ke hamono chandbar sabt mizadam intowri ham test kon - toie add bezar toie edit, alaki sabt kon ya avazesh kon bebin kharab nashe




تسک 21 - طراحی بک گراند شیشه ای

in mored ke khodet gofti az halat shisheie kharej she o doros she ke matnha be moshkel nakhore




تسک 20 - طراحی آیفریم ها

design iframe toie dashboard o hameja mesle film mamoli bashe o responsive ham doros bashe




تسک 19 - ارسال کامیت ها

commitha ersal kon har lahze ke zadi vali push lazem nist - bedon net mishe commit dad - hamon lahze commit bede ke moshkeli nabashe o yadet nare ke chie




تسک 18 - ارور سرور

http://185.208.175.156/bakart_git/Purchase/Factor/9/1/
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '' for column 'end_date' at row 1
موقع خرید با کیف پول (روی سرور میتونی بری چک کنی خودت)




تسک 17 - درست شدن تب ایندکس در صفحه های لاگین و ...

ye attribute darim be esme tab-index -> in toie html hast o tartib tab zadan ro mide - yani boro safhe login bezan roie shomare ba mouse - baad agar tab bezani namire roie ramz -> mire toie dokme hidden ramz - in baiad doros she -> yani tab ha baiad shomare bedi ke be tartib she -> shomare = 1 , ramz = 2 (in mishe tartib tab index) -> toie hamin safehhae account bizahmat okayesh kon




تسک 16 (283 جیرا) - قسمت بالای کارت ویزیت بشه گیف هم گذاشت

in serfan kafie ke biaie format .gif ro ezafe koni be data bood ke format ha dasht - baad check koni ye gif bendazi toie ax asli theme bebini mishe ya na - yani ye format sade o teste




تسک 15 - آموزش بازارمالی

agar didi task nist , aval behem khabar bede baad boro amoozesh finance bebin harvagt didi task nist o on ro bebar jolo , boro amoozesh va check kon in safhe ro - be mahzi ke task omad boro soragh taskha - fagat hatman behem etelaa bede ke task bezaaram - chon kheili task darim o poshte dastemon pore - merc




تسک 14 - سیستم اولویت دهی هوشمند برای نقشه راه



NOKTE MOHEM: TAMAME TASK MESLE NEVESHTE PAIEN BASHE BE JOZ INKE BARAIE PRIORITY TEKRARI BOODAN MOEHM NIST - YANI TEKRARI HAM BETOONE BEZARE MASALAN 2TA JAIGAH 4 BESHE ZAD


khob nega garar shod to kheili az jaha ma priority ro 0 bedim - hala hameja bejoz roadmap in mozo kheili mohem nist - chon ke hameja tartib ontowri ke too roadmap moheme, mohem nist- roadmap tartib kheili moheme - pas ma ye system priority jadid mikhaim
in system ro felan fagat fagat vase roadmap mikhaim - hala agar jahaie dg baad lazem shod jahaie dg ham mizarim vali felan fagat baraie roadmape - pas mishe baraie user o admin -> toie add o edit road map
khob nega baraie olaviat ye dropdown mikhaim ke itemhash bar asase hadeaxar item roadmap on order chide mishe - yani fekr kon in package hadeaxar mitoone 10ta roadmap dashte bashe - hala moghe add avalin roadmap -> toie dropdown priority , 10ta jaigah darim - yani esme dropdown priority mishe jaigah - hala tosh mishe jaigah 1 - jaigah 2 - jaigah 3 - ... jaigah 10
pas priority mishe dropdown select2 - hala item hash mishe az jaigah 1 ta jaigan N (N mishe hadeaxar roadmap ke dare)
baad value ham mishe jaigah 1 = 1, jaigah 2 = 2 va ... ta jaigah 10 = 10
pas engar yejori priority hamon addad hast fagat mahdod shode az 1 at N(hadeaxar roadmap)
ma hamon adad save mikonim toie db vali dg dropdown hast o goftam dropdown chetowri sakhte mishe - baz hamon adade databbase - fagat moghe add o edit be sorat dropdown hast ke karbar gij nashe - intowri mifahme jagah chie vali baraie ma BACK hamon system ghablie
pas ta inja fahmidim ke back hamon ghablie - fagat front fargh dare baraie rahati karbar - va fagat baraie roadmap intowrie - fagat havaset bashe moghe chidan toie THEME barax ORDER mishe
hameja priority DESC boode hala inja mishe priority ASC chon jaigah 1 mishe balatarin toie THEME ha va hamchenin toie INDEX khode roadmap male order o order admin
harja soal dashti bepors hatman - fagat ye mored mimone onam fekr kon tahala 5 ta item zade -> az jaigah 1 ta 5 ro por karde - hala item baadi ro mizane jaigah 4 - ba inke jaigah 4 por boode - hala baiad jaie item jaigah 4 ba in avaz she -> yani jashon ro avaz mikoni ba alani -> alani mishe 4 o on yeki mishe 6 (akharin jaie ke khali boode)
in mishe system priority jadid - hala bahash kar konim, feedback begirim bebinim chetowrie




تسک 13 - فایل های تم ها

DOWNLOAD 1

DOWNLOAD 2

DOWNLOAD 3




تسک 12 - نقشه راه

تسک رو عوض کردم که ساده تر باشه برات برای فعلا بعد از اون تسک فعال سازی - این یکچی مثل گالری هست ولی قسمت جدیده
اگر یادت باشه یک چی داشتیم برای محدودیت گالری که میشه برای اینجا در اصل
این منو هم برای ادمین هست و هم برای کاربر هست و هم محدودیت داره و هم باید توی تم ها اعمال شه - توی تمام تم ها
قسمت نقشه راه هست - مثلا میتونه برای عروسی -> مراحل آشنایی و ... باشه و برای کارت ویزیت، گرفتن مدارک باشه و ...
محدودیت هم از قبل توی پکیچ گرفتیم با نام "حداکثر آیتم نقشه راه*" که همون اول زدی
این یکچی مثل گالری هست ولی دیگه دسته بندی و اینا نداره - یعنی صرفا آیتم آیتم هست و تمام و فقط هم عکس داره و همین - این ساده هست به نسبت


TABLE -> orders_roadmaps


state hamishe 1 midi mire -> az karbar namigiri aslan va priority ham 0 midi khodet mire - mahdodiat ax yadet nare hatman bezar
pas daghighan hame chia gallery o ina baraie inam hast - karbar menu dare poresh mikone baad toie theme ha emal she - task tolanie vali sakht nist aslan
agar jaie soal dashti bego - in system priorityesh ye fargi dare ke vagti task ro zade - toie task haie baadi behet migam chon on yekam fargh dare - mavared amniati o mahdodiat ha yadet nare o toie theme ha o hameja ham emal she




تسک 11 - صفحه فعال سازی

این تسک خیلی خیلی مهمه حواست باشه. در اصل این صفحه میشه بعد از ثبت نام - باید بعد از ثبت نام بریم یک صفصحه جدید - یعنی خودکار بعد از صفحه ثبت نام میریم یک صفحه جدید
Account/Activation/
بعد از خود ثبت نام هستا حواست باشه - خب باید user.state=0 باشه برای اینکار - یعنی کاربر موثع ثبت نام باید غیرفعال باشه و بعد خودش رو فعال کنه
حالا پس باید توی فایل core.php یک کاری کنی که اقا اگر کاربر غیرفعال هست - یعنی user.state = 0 هست ، باید خودکار بره این صفحه جدیده - این بروی توی فایل core.php نمونه کدش هست برای بن شده
خب پس تا اینجا رسیدیم به اینکه وقتی کاربر غیرفعاله فقط میره این صفحه - حالا توی این صففحه شما باید برای کاربر یک کد اس ام اس کنی و کاربر باید اون کد رو وارد کنه تا حسابش فعال شه
http://hezarforsat.ir/
توی سایت بالا برو، با یک شماره جدید ثبت نام کن. خودت صفحه رو میبینی که چجوری هست - دکمه خروج از حساب هم داره که خارج میشه ار حساب کاربریش
in task ro kheili deghat kon moghe zadan - kheili moheme - chandbar az rosh bekhon chon kheili hasase
khob baiad shoma ye code 6 raghami random doros koni - in code ro hash koni o bendazi toie soton "code" male user - intowri code ro dare -
pas ba baz shodan safhe Activation, miaie va code ro misazi o save mikoni o hamin code ro baraie karbar sms mikoni- hala agar karbar doros zad code ro ke state = 1 mishe o tamam o hamechi done - agar eshtebah zad code ro khata midi behesh o behesh migi dobare vared kone code ro
pas in shod soton code o nahve ersal code ke chetowri hast o karbar ta vagti faal nashode namitone bere safhe dg - hala ba har dafe refresh ma baraie karbar ye code mifrestim o on baiad code ro vared kone - inja ye bug darim o onam ineke momkene ye karbar hezar dafe refresh kone o system ma be fana mire- chon baiad hei sms bede
pas baraie rafe in moshkel ma hardafe sms midim, tarikh sms dadan ro save mikonim baraie karbar ke darsoorati dobare sms bere ke az sms ghabli 2 min gozasahte bashe - yani 120 sanie az sms ghabli gozashte bashe - pas dar asl ma ye soton dg midim karbar ->
ALTER TABLE users ADD last_sms_sent DATETIME DEFAULT NULL;
inja har dafe sms midi -> yani har dafe code update mishe o code jadid dare -> inam update mikoni be NOW() - hala faide ineke aval safhe check mikoni ke aya az akharin sms 2 min gozashte ya na - agar gozashte baz sms bede o code bede o ... dar gheire in sorat aslan dg kari namikone o karbar baiad code ghabli ro bezane - pas engar ba in soton ma mahdod karim karbar ro be sms dadan
bazam taied mikonam hesab karbar baiad hatman hatman state = 1 bashe ke betoone bere harjaie - hala mimone akharin kar va timer hast- baiad ye timer bezani ke az 120 sanie biad paien ba js hast - yani aval neveshte 120 -> 1sanie baad mishe - 119 va ... va vagti mirese be 0-> mishe ersal mojadad code -> in dar asl mishe link hamin safhe o roie safhe baz, baz mishe - in baes mishe safhe refresh she- refresh shodan safhe baes mishe ke code az aval bere chon 2min gozashte
task ro chandbar bekhon - ye safhe bishtar nist vali yekam geleg dare - site nemone ham hatman test kon - harja soal ham dashti zang bezan behem
templte: BAKARTACTIVATION

setInterval(function () {alert("har 1 sanie yebar in alert ejra mishe - inja codet bezar")}, 1000);




تسک 10 - دیدن معرفی ها و معرف ها برای ادمین

توی کاربران سمت ادمین باید بشه کاربر هایی که هر کاربر معرفی کرده رو دید
یعنی توی عملیات همه کاربران باید یک منو باشه به نام کاربران معرفی شده
بعد ادمین بره توی این منو می تونه کاربرانی که این کاربر معرفی کرده رو ببینه
و بنویسه چند نفر هم هستن یعنی توی عملیات تعداد بندازه برای ادمین و بعد بره توش و ببینه
همچنین باید توی خود جدول ایدندکس هم بنویسه معرف مثلا کاربر فعلی کی بوده