=== Persian Office Automation SaaS ===
Contributors: syeedalireza
Tags: automation, office, correspondence, dabirkhane, letter-management
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 3.0.19
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

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

== Description ==

**توضیحات به زبان فارسی**

**Persian Office Automation SaaS** پلاگین تخصصی **اتوماسیون اداری** و **مدیریت دبیرخانه (کارتابل)** برای وردپرس است. اگر به دنبال جایگزینی پرونده‌های کاغذی، پیگیری شماره نامه، ارجاع بین همکاران و یک **داشبورد اداری فارسی** روی همان زیرساختی که برای وب‌سایت استفاده می‌کنید هستید، این افزونه مسیر دیجیتال‌سازی مکاتبات را بدون نیاز به نرم‌افزار جداگانه فراهم می‌کند.

**این پلاگین به درد چه سازمان‌ها و کسب‌وکارهایی می‌خورد؟**

* شرکت‌های کوچک و متوسط، دفاتر حقوقی، مشاوره و خدمات حرفه‌ای
* فروشگاه‌ها و واحدهای تجاری کوچک تا متوسط با نیاز به بایگانی سفارشات، مکاتبات تامین‌کننده یا پیگیری داخلی
* تیم‌های اجرایی، پشتیبانی و پروژه‌ای که وظایف روزمره را روی یک تقویم و بورد مدیریت می‌کنند
* نهادها و مجموعه‌هایی که **شماره‌گذاری نامه وارده و صادره**، **بایگانی الکترونیک** و **کنترل دسترسی نقش‌محور** برایشان اولویت دارد
* هر سازمانی که **تاریخ جلالی (شمسی)** در فرم‌ها و گزارش‌ها نیاز دارد

**قابلیت‌ها و امکانات اصلی (خلاصهٔ کاربردی)**

* **کارتابل و دبیرخانه:** صندوق ورودی، ارسال‌شده، در انتظار، ستاره‌دار و آرشیو؛ دریافت، ارجاع و پیگیری نامه در یک گردش کار واحد.
* **نامه وارده و صادره:** ثبت شماره، مرجع، موضوع، فرستنده/گیرنده، اولویت، تاریخ و ضمیمه؛ جستجو و آرشیو برای مرور سریع سوابق.
* **مکاتبات داخلی:** تبادل یادداشت و مکاتبهٔ داخلی بین کاربران و واحدها، به‌همراه **پاسخ به نامه** و ثبت سابقه در کارتابل.
* **مدیریت وظایف (Tasks):** ایجاد وظیفه، تخصیص به کاربر، وضعیت در نمای فهرست یا کانبان، چک‌لیست، ثبت زمان و نظرات برای هماهنگی تیمی.
* **جلسات:** ثبت جلسه با تاریخ، مکان، شرکت‌کنندگان و یادداشت؛ هم‌راستا با تقویم و رویدادهای اداری.
* **سربرگ سازمانی:** تعریف قالب سربرگ با لوگو، نام سازمان، بسمه‌تعالی و پاورقی؛ اعمال روی نامه وارده، صادره یا مکاتبه داخلی هنگام مشاهده و چاپ.
* **یادداشت روزانه فردی:** ثبت یادداشت شخصی روی تقویم شمسی، با حال‌وهوا، برچسب، پین و نمایش در تقویم کاری.
* **فرآیندهای کسب‌وکار (اختیاری):** فعال‌سازی ماژول گردش کار و چارت سازمانی از تنظیمات، بدون شلوغ کردن منو برای سازمان‌هایی که به آن نیاز ندارند.
* **تقویم شمسی (جلالی):** نمایی یکپارچه از نامه‌ها، جلسات، وظایف و یادداشت‌های روزانه روی تقویم فارسی.
* **گزارش‌ها:** گزارش‌های آماری برای مدیران جهت نظارت بر حجم مکاتبات و وضعیت کارها (با محدودیت نقش مناسب).
* **نقش‌ها و دسترسی دقیق:** قابلیت‌های سفارشی مانند ایجاد/مشاهدهٔ نامه (`persian_oa_create_letter`، `persian_oa_view_letter` و …) برای تفکیک دسترسی کارکنان.
* **تنظیمات واحد:** تنظیمات عمومی، آپلود، شماره‌گذاری، دسته‌بندی‌ها و فرآیندهای کسب‌وکار برای هماهنگی با رویهٔ سازمان شما.
* **اعلان‌ها:** نمایش در نوار مدیریت برای اطلاع‌رسانی سریع (بر اساس امکانات نسخهٔ فعلی).
* **آمادهٔ چندزبانگی:** بستهٔ ترجمه و Text Domain استاندارد برای توسعهٔ آینده.
* **حفاظت از فایل‌های آپلودشده:** پیوست نامه‌ها، فایل وظایف، لوگو و آیکون در پوشهٔ خصوصی ذخیره می‌شوند و فقط کاربر لاگین‌شده با مجوز مجاز می‌تواند آن‌ها را دانلود کند.

معماری افزونه بر پایهٔ لایه‌بندی تمیز (دامنه، سرویس‌ها، زیرساخت و نمایش) است تا نگهداری و توسعه برای تیم فنی ساده‌تر باشد. برای **سئو و دیده‌شدن موضوعی**، این افزونه در حوزه‌های کلیدی واژگانی مانند *اتوماسیون اداری وردپرس*، *دبیرخانه دیجیتال*، *مدیریت مکاتبات*، *کارتابل نامه*، *تقویم شمسی در وردپرس* و *مدیریت وظایف سازمانی* طراحی شده است تا در جستجوهای مرتبط مخاطب مناسب را پیدا کند.

---

**English**

**Persian Office Automation SaaS** is a WordPress plugin for **office automation**, **correspondence (Dabirkhane / cartable)** and **team operations**. It helps you replace paper trails with structured incoming/outgoing letter registers, internal memos, task boards and a **Jalali (Persian) calendar**—all inside the WordPress admin you already use.

**Who is it for?**

* **Small and medium companies**, professional offices, consulting and service businesses
* **Small-to-medium shops** that need **document trails**, supplier correspondence or lightweight internal tracking
* **Operational and project teams** that coordinate work with tasks, checklists and status boards
* Organizations that need **letter numbering**, **digital archiving** and **role-based access control**
* Anyone who requires **Jalali dates** consistently across forms and lists

**Major features**

* **Cartable / inbox workflow:** Inbox, sent, pending, starred and archive views—receive, refer and track letters end-to-end.
* **Incoming & outgoing letters:** Register reference data, subject, parties, priority, dates and attachments; search and archive historical records.
* **Internal correspondence:** Exchange internal notes between users/teams alongside formal mail.
* **Task management:** Assign work, track status (list/kanban), checklists, time notes and comments.
* **Meetings:** Schedule meetings with attendees, location and notes, aligned with calendar-style visibility.
* **Letterheads:** Build organizational letterhead templates (logo, organization name, basmala, footer) and apply them to incoming, outgoing or internal letters when viewing or printing.
* **Daily notes:** Personal Jalali journal with mood, tags, pinning and calendar visibility.
* **Optional business processes:** Enable workflow and org-chart modules from settings only when the organization needs them.
* **Jalali calendar:** Surface letters, meetings, tasks and daily notes on a Persian calendar.
* **Reports (admin):** Statistics for oversight (appropriate capability gating).
* **Fine-grained capabilities:** Custom caps such as `persian_oa_create_letter` and `persian_oa_view_letter` for least-privilege setups.
* **Settings:** General, uploads, numbering, categories and optional business-process options to match your organization’s policy.
* **Admin bar notifications** where applicable in the current release.
* **Translation-ready:** Text domain and languages folder for i18n.
* **Protected uploads:** Letter attachments, task files, letterhead logos and title icons are stored privately and downloaded only by logged-in users with permission.

The codebase follows a **clean, layered architecture** (domain, application, infrastructure, presentation) for maintainability. For **topic SEO**, positioning keywords include *WordPress office automation*, *digital mailroom*, *correspondence management*, *Persian Jalali calendar*, *task & workflow for SMEs*—so the right teams discover the plugin when they search for those problems.

== Installation ==

1. Upload the `persian-office-automation` folder to `/wp-content/plugins/`, or install the ZIP via **Plugins → Add New → Upload Plugin**.
2. Activate **Persian Office Automation SaaS** from the **Plugins** screen.
3. Open **اتوماسیون اداری** in the admin menu and complete **تنظیمات** (عمومی، آپلود، شماره‌گذاری، دسته‌بندی‌ها و در صورت نیاز فرآیندهای کسب‌وکار) as needed.
4. On first activation or update, required database structures and default roles/capabilities are created. Ensure users receive appropriate capabilities (administrators have broad access by default).
5. To print letters on official paper, add a letterhead under **سربرگ‌ها**. Daily notes are personal to each user and appear on the Jalali calendar.

== Frequently Asked Questions ==

= آیا این افزونه فقط برای سازمان‌های بزرگ است؟ =

خیر. برای **تیم‌های کوچک و متوسط**، فروشگاه‌ها و دفاتر کاری که می‌خواهند مکاتبات و کارها را روی وردپرس متمرکز کنند طراحی شده است.

= آیا تقویم شمسی در تمام بخش‌ها پشتیبانی می‌شود؟ =

هدف افزونه **همسوکردن تاریخ جلالی** در فرم‌ها، لیست‌ها، یادداشت روزانه و تقویم است؛ جزئیات هر صفحه ممکن است با به‌روزرسانی‌ها تکمیل شود.

= سربرگ نامه چیست و روی کدام نامه‌ها اعمال می‌شود؟ =

از منوی **سربرگ‌ها** می‌توانید قالب سازمانی (لوگو، نام، بسمه‌تعالی و پاورقی) بسازید و آن را برای همه نامه‌ها، یا فقط وارده / صادره / داخلی تنظیم کنید. هنگام مشاهده نامه می‌توانید سربرگ را برای چاپ فعال کنید.

= یادداشت روزانه برای همه کاربران قابل مشاهده است؟ =

خیر. یادداشت‌های روزانه شخصی هستند و فقط برای همان کاربر ذخیره و در تقویم خودش نمایش داده می‌شوند.

= چطور مدیریت فرآیندهای کسب‌وکار را فعال کنم؟ =

از **تنظیمات → فرآیندهای کسب و کار** گزینه فعال‌سازی را روشن کنید. تا وقتی این گزینه خاموش باشد، منوی فرآیند و چارت سازمانی نمایش داده نمی‌شود.

= Is multilingual content supported in the UI? =

The plugin is **translation-ready** (text domain: `persian-office-automation`). You can ship translations via the `languages` directory or standard WordPress translation workflows.

= What are the minimum requirements? =

**WordPress 6.0+**, **PHP 7.4+**, and a compatible **MySQL/MariaDB** version as noted in the main plugin header/README.

= آیا فایل‌های پیوست برای عموم قابل دانلود است؟ =

خیر. از نسخه ۳.۰.۱۹ فایل‌های آپلودشده (پیوست نامه، فایل وظیفه، لوگو و آیکون) در پوشهٔ خصوصی ذخیره می‌شوند و فقط کاربران واردشده با مجوز مشاهدهٔ همان نامه یا وظیفه می‌توانند آن‌ها را دانلود کنند.

= Are uploaded attachments publicly downloadable? =

No. Since 3.0.19, plugin uploads are stored in a private folder (`wp-content/uploads/persian-oa-protected/`) and served only through a login- and permission-checked download endpoint. Direct public URLs are denied.

== Screenshots ==

1. **Dashboard:** مدیریت یکجای فعالیت‌های اداری و دسترسی سریع به کارتابل، وظایف و مکاتبات / Central overview for cartable, tasks and correspondence.
2. **ثبت نامه / Letter registration:** رابط کاربری برای ثبت نامه وارده یا صادره با فیلدهای استاندارد دبیرخانه / Standard mailroom fields for incoming or outgoing letters.

== Changelog ==

= 3.0.19 =
* Blocked public HTTP access to plugin uploads (letters, tasks, letterheads, icons).
* Served files only through a login- and permission-checked download endpoint.
* Moved existing attachments into a private uploads folder and denied direct URL access.

= 3.0.18 =
* Enabled reply on internal letters (مکاتبات داخلی / مشاهده نامه): compose a reply to the original sender, with quote of the source letter.
* Marked the original letter as replied (reply number, date and content) and listed it under cartable «پاسخ داده شده».
* Included unanswered internal letters in cartable «در انتظار پاسخ».

= 3.0.17 =
* Added organizational letterhead templates (logo, organization name, basmala, footer) for incoming, outgoing and internal letters.
* Applied letterheads on letter view and print screens, with a per-letter toggle.
* Added personal daily notes with Jalali calendar, mood, tags, pinning and search.
* Showed daily notes alongside letters, meetings and tasks on the working calendar.
* Added an optional business-process module (workflow settings and org-chart entry) behind a settings toggle.
* Created database tables for letterheads and daily notes, with uninstall cleanup.

= 3.0.14 =
*   Version bump.

= 3.0.13 =
*   Version bump.

= 3.0.12 =
*   Version bump.

= 3.0.11 =
*   Version bump.

= 3.0.10 =
*   Version bump.

= 3.0.9 =
*   Version bump.

= 3.0.8 =
*   Version bump; readme Stable tag aligned with plugin header.

= 3.0.7 =
*   Version bump.

= 3.0.6 =
*   Version bump.

= 3.0.5 =
*   Plugin Check compliance: dashboard DB logic moved to repository; Direct DB warnings addressed in services.

= 3.0.2 =
*   Added outgoing letter view page.
*   UI/UX improvements across cartable, tasks, and correspondence views.
*   Enhanced Jalali date handling and report service.
*   Multi-language support (languages folder).
*   Various bug fixes and code quality improvements.

= 3.0.1 =
*   WordPress.org plugin directory compliance fixes.
*   Code and security improvements per review feedback.

= 3.0.0 =
*   Initial release of the SaaS version.
*   Added comprehensive task management.
*   Improved UI/UX with modern design.
*   Fixed Jalali date picker issues.

== Upgrade Notice ==

= 3.0.19 =
Plugin uploads are now private. Existing attachment files are moved into a protected folder on update. Direct public URLs stop working; use the in-plugin download links.

= 3.0.18 =
Internal letter reply is now available from the letter view and cartable pending list.

= 3.0.17 =
Adds letterheads, personal daily notes and an optional business-process module. Back up the site before updating on production.
