כל הטבלאות של המערכת מתחילות ב-CRM_, ורובן נוצרות לבד (עדכון גרסה או יצירה עצלה בקוד). הדף נותן מפה: אילו קבוצות קיימות, איזה תפקיד יש לכל אחת, ואילו מהן חובה כדי שאתר יעלה. רשימה מלאה של כל טבלה ועמודותיה נמצאת ב-כל הטבלאות.
בעמוד הזה system/ הוא תיקיית הליבה הפרוסה (= api/core בריפו) ו-{admin} הוא CONFIG::$admin_url של האתר.
טבלאות שבלעדיהן האתר לא עולה#
הליבה קוראת אותן בכל בקשה, ולכן הן חייבות להיות קיימות ומלאות לפני שאפשר לפתוח דף.
| טבלה | תפקיד | מי קורא |
|---|---|---|
CRM_platforms | פלטפורמות ודומיינים (= שפות). שורה אחת לפחות, ו-domain חייב להיות SERVER_NAME של האתר | CONFIG::init(), נשמר במטמון 30 יום (platforms) |
CRM_params | פרמטרי מערכת בצורת מפתח וערך (sysName + value) | PARAMS::init(), נשמר במטמון 30 יום (params) |
CRM_modules (+ _content) | המודולים (קונטרולרים) הפעילים באתר. מודול שאינו פעיל מחזיר 404 | MISC::get_modules_tbl(), MODULE |
CRM_seoUrl | כתובות ידידותיות: sysname הפונה ל-pageurl פנימי | ROUTER |
CRM_redirections | הפניות 301 (url_from אל url_to) | ROUTER |
CRM_langs_words* | מילון מילות הממשק | LANGS |
CRM_scripts | תגיות סקריפט לאזורי head ו-body | PAGE |
בלי שורת פלטפורמה אחת לפחות CONFIG::init() נופלת. דומיין שלא מופיע ברשימה יפול חזרה לפלטפורמה הראשונה, ובצד האתר הציבורי יגמר ב-die("URL ERROR"). אחרי הוספת דומיין צריך למחוק את מטמון platforms.
sysName חייב להיות UNIQUE: הליבה משתמשת ב-INSERT IGNORE וב-ON DUPLICATE KEY UPDATE מול הטבלה הזאת. פרמטרים בשימוש הליבה כוללים attaches_version (גרסת נכסים, עולה ב-1 בכל ניקוי מטמון), log_sql (ראו דיבוג SQL) ו-cron_runner_token.ניהול ומשתמשי אדמין#
| טבלה | תפקיד |
|---|---|
CRM_adminPanel_admins | מנהלי האתר: שם משתמש, סיסמת bcrypt, קבוצה, IP מותרים, דגל skip_otp |
CRM_adminPanel_admins_groups | קבוצות הרשאות. perms = '-1' הוא הכול, אחרת JSON של פאנלים והרשאות |
CRM_adminPanel_admins_bad_attempts | ניסיונות כניסה כושלים (חסימה לפי קצב) |
CRM_adminPanel_panels, _panels_categories, _panels_options | תפריט הניהול: קטגוריות, פאנלים, תת-עמודים |
CRM_adminPanel_sessions | התחברויות פעילות. נוצרת עצלה על ידי ADMIN::ensure_sessions_table() |
CRM_adminPanel_mcp_tokens | טוקנים לחיבור MCP |
פאנל חדש שלא קיימת לו שורה ב-CRM_adminPanel_panels פשוט לא מופיע בתפריט. ראו בניית פאנל ו-הרשאות אדמין.
תוכן, SEO ונכסים#
| טבלה | תפקיד |
|---|---|
CRM_pages (+ _content) | עמודי תוכן |
CRM_tree (+ _content) | עץ ערכים כללי |
CRM_seo_center | מטא ו-Open Graph לפי page_key |
CRM_storage, CRM_storage_folders | ספריית המדיה והתיקיות שלה. ראו אחסון |
CRM_minify_groups, CRM_minify_files | קבוצות קבצי JS ו-CSS לאיחוד |
CRM_tag_manager, CRM_tag_manager_groups | תגיות לפי דף וסביבה (אופציונלי) |
CRM_mail_tpl, CRM_emails_queue | תבניות מייל ותור שליחה (אופציונליים) |
משימות מתוזמנות#
CRM_cron_categories, CRM_cron_tasks ו-CRM_cron_logs מחזיקות את המשימות, ההרצות והלוגים. קטגוריה id=1 ("מערכת") מסונכרנת מהשרת הראשי בכל עדכון גרסה. ראו משימות מתוזמנות.
AI, MCP ו-SEO#
CRM_ai_agents*,CRM_ai_chat_*,CRM_ai_prompts*,CRM_admin_chat*: סוכני AI, שיחות והנחיות.CRM_seo_findings,CRM_seo_occurrences,CRM_seo_profile,CRM_seo_runs,CRM_seo_metrics,CRM_seo_changes,CRM_seo_bot_hits,CRM_seo_indexnow_sent: חבילת ה-SEO. כולן נוצרות עצלות מתוך הספריות.CRM_analytics*: נתוני צפיות (רק כשמשתמשים ב-system/analytics).
תחזוקה ולוגים#
CRM_wizzo_update_log (היסטוריית עדכוני גרסה), CRM_safe_sql_log (פקודות שהורצו ב-מנהל מסד הנתונים המוגן), CRM_file_manager_log (פעולות במנהל הקבצים).
שרידים ושמות שמטעים#
| שם | מה זה |
|---|---|
CRM_langs | טבלה ישנה. נקראת רק מ-copyToAllLangs, שבורה |
CRM_buttons*, CRM_newsletter_*, CRM_trg_*, CRM_users | לא מיוצאות במנגנון עדכון המבנה, ולכן לא נוצרות אוטומטית |
CRM_admin_logged, CRM_admin_session | אינן טבלאות: אלה שמות cookies |
טבלאות שהאתר שלכם מוסיף ליצור בשם CRM_<name> (ו-CRM_<name>_content לשדות מתורגמים), עם id INT AUTO_INCREMENT PRIMARY KEY. אחרי יצירה מחקו את מטמון table_list. אפשר ליצור אותה גם מהפאנל create_table, שרושם אותה כפאנל. ראו SQL להקמה.