כל הטבלאות

קטלוג כל טבלאות CRM_ של ליבת WIZZO CMS לפי תחום: תפקיד, עמודות מפתח, איזה קוד כותב אליהן ואיזה קורא, ומי יוצר אותן.

⏱ 19 דק' קריאה 3463 מילים ערוך דף זה ב-GitHub

הדף הזה הוא המפה של מסד הנתונים: כל טבלה שהקוד של הליבה (api/core, מותקן באתר ב-system/) קורא, כותב או יוצר, מקובצת לפי תחום. לכל טבלה מופיעים התפקיד, עמודות המפתח, הקוד שכותב אליה והקוד שקורא ממנה. הדף הוא רפרנס לחיפוש: להבנה כללית של שכבת ה-DB התחילו ב-סקירת שכבת ה-DB.

קידומת: ה-builder מול SQL גולמי#

כל הטבלאות מתחילות ב-CRM_ (הערך של CONFIG::$db_fullprefix, שנגזר מ-CONFIG_USER::$db_prefix). הכלל חשוב ונשבר בקלות:

APIשם הטבלהדוגמה
ה-builder: DB::query, DB::update, DB::get_val, DB::deleteבלי CRM_DB::query("cron_tasks")
SQL גולמי: DB::sql, DB::get_all, DB::get_rowעם הקידומת המלאה"SELECT * FROM " . CONFIG::$db_fullprefix . "cron_tasks"
// builder: שם בלי קידומת
$tasks = DB::query("cron_tasks", ["is_active" => "1"], "next_run ASC")->get_all();

// SQL גולמי: עם CONFIG::$db_fullprefix, וקלט חיצוני תמיד דרך DB::escape
$row = DB::get_row("SELECT id, admin_id FROM " . CONFIG::$db_fullprefix . "adminPanel_sessions
                    WHERE token = '" . DB::escape($token) . "' AND expires_at > NOW()");
הקידומת בפועל קבועה
CONFIG::init() מריץ SELECT * FROM CRM_platforms עם הקידומת כתובה בקוד, ועוד עשרות מקומות בליבה כותבים CRM_ קשיח. הגדרת $db_prefix לערך אחר שבור את האתר. השתמשו ב-CRM.

מוסכמות משותפות#

  • id: כל טבלה שעוברת דרך ה-builder היא עם id INT AUTO_INCREMENT PRIMARY KEY (DB::delete, ->update($id) ו-DB::get_val($table, 5) מניחים אותה).
  • <טבלה>_content: אם קיימת טבלה בשם X_content (עמודות parentId, langId ועמודות התוכן), ה-builder מצרף אותה אוטומטית. langId הוא id של שורה ב-CRM_platforms. פירוט ב-רב-לשוניות ב-DB.
  • platform: בטבלאות ה-SEO קיימת עמודת platform INT לאתרים עם כמה פלטפורמות.
  • ord: עמודת סדר. panel_table עם order_manager מוסיף אותה לבד (ALTER TABLE) אם חסרה.

מי יוצר את הטבלאות#

אין קובץ SQL שמתקין את הכול. הטבלאות מגיעות מארבעה מקורות, וכל שורה בקטלוג למטה מציינת איזה:

מקורמשמעות
ידני / שלדהטבלה נדרשת מההתקנה. שלד CREATE TABLE משוחזר מופיע ב-SQL להקמה, והמבנה המלא ב-סכמת ה-DB
lazyהקוד יוצר אותה בעצמו בפעם הראשונה שהוא צריך אותה (ensure_table, ensure_schema, CREATE TABLE IF NOT EXISTS)
סנכרון מהמאסטרwizzo_update::update_db() מושך את מבנה הטבלאות מאתר המאסטר של Wizzo (check_version/db_structure) ויוצר חסרות, מוסיף עמודות ואינדקסים. הוא לא מוחק ולא משנה קיימות. ראו עדכון גרסה
פאנל יוצרכלי ניהול כמו create_table ו-db_manager יוצרים טבלאות לפי בקשת המפתח, ראו מנהל ה-DB
מה המאסטר לא מייצא
check_version::db_structure מדלג על כל טבלת CRM_trg_*, על CRM_users ועל טבלאות legacy של buttons* ו-newsletter_*. אתר שצריך אותן מקים אותן בעצמו.

שלד האתר#

הטבלאות שהאתר לא עולה בלעדיהן. platforms נקראת כבר ב-CONFIG::init, params ב-PARAMS::init, modules בניתוב.

טבלהתפקידעמודות מפתחכותבקוראמקור
platformsפלטפורמות ודומיינים. "שפה" באתר היא שורה בטבלה הזוid (הוא CONFIG::$lang ו-langId), domain, allowed_domains, name, direction, ord, seo_title, seo_keywords, seo_description, deftheme, allowads, logo, logo_1, flagפאנל platformsCONFIG::init (cache platforms), SEO::tags_summary, Form, SeoPlatformידני
paramsפרמטרי מערכת, מפתח וערךid, sysName (צריך להיות UNIQUE), value, description, perm_developerפאנל Params, wizzo_update, cron_manager, שירותי Market, ספריות SEOPARAMS::init (cache params), PARAMS::get, cron_runner, check_version, Todo, market_serviceידני
modulesהמודולים (קונטרולרים) הפעילים באתרid, moduleName, activeפאנל ModulesMISC::get_modules_tbl (cache modules_lang<lang>), MODULEידני
modules_contentערכת עיצוב למודולparentId, langId, templateפאנל Modules (שדה template נשמר כ-content)לא נקרא ע"י MODULE. נדרש רק כדי שהטופס Modules/insert יעבודידני
seoUrlכתובות ידידותיות ו-regexid, sysname, pageurl, regularexp, ordפאנל Seo, שדה FormInput_SEO / SeoUrl בטפסיםROUTER::get_seo_tbl (cache seoUrl_tbl), ROUTER::get_by_url, ROUTER::get_by_friendlyידני
redirectionsהפניות 301id, url_from, url_toפאנל redirectionsROUTER::redirections (cache redirections), SeoSiteChecksידני
langs_wordsמילון ממשק: מפתח המילהid, sysName, group_idפאנל ui_langs_legacyLANGS::get_wordידני
langs_words_contentהערך של מילה בכל שפהparentId, langId, valueפאנל ui_langs_legacyLANGSידני
langs_words_groupsקבוצות של מיליםid, nameפאנל ui_langs_legacyפאנל ui_langs_legacyידני
scriptsתגיות סקריפט שמוזרקות לאתרid, name, is_active, area (head, body_start, body_end), script, ordפאנל ScriptsPAGE (cache scripts, שאילתה על is_active = 1 לפי ord)ידני
pagesעמודי תוכןid, noDeleteפאנל Pages, chat_actionsפאנל Pages, ניתוב דרך seoUrl.pageurl = pages/<id>ידני
pages_contentתוכן העמוד לפי שפהparentId, langId, title, textפאנל Pagesפאנל Pagesידני
treeעץ ערכים כלליid, pid, topID, valueפאנל Treeפאנל Treeידני
tree_contentשם הצומת לפי שפהparentId, langId, nameפאנל Treeפאנל Treeידני
seo_centerמטא-תגיות לפי עמוד או כתובתid, page_key, is_by_url, title_include_sitename, meta_title, meta_description, meta_keywords, og_title, og_description, og_image, scriptsפאנל seo_center, שדה FormInput_SEOSEO::tags_summary: קודם page_key = הנתיב עם is_by_url = 1, אחר כך SEO::$page_key עם is_by_url = 0ידני
minify_groupsקבוצות נכסים (JS/CSS)id, type, area, async, themeפאנל minifyPAGE, controllers/minify.phpידני
minify_filesקבצי הנכסים בכל קבוצהid, url, group_idפאנל minifyPAGE, controllers/minify.phpידני
tag_manager_groupsקבוצות של תגי מערכתid, nameפאנל tag_managercontrollers/minify.phpידני
tag_managerתגי מערכת (למשל GTM) שמוגשים ב-tag_manager.jsid, group_id, is_active, is_after_done, environment, name, area, page_key, script, ordפאנל tag_managercontrollers/minify.php (tag_manager, cache tag_manager)ידני
quick_actionsכפתורי קיצור בדף הבית של האדמיןid, title, icon, linkפאנל quick_actionsפאנל home (בתוך try/catch, הטבלה אופציונלית)ידני
mail_tplתבניות מיילid, name, sysName, from, fromName, cc, bcc, replay, subject, msgפאנל MailTplMail_Tpl / mail_tpl::get_tpl_data (לפי sysName)ידני
שימו לב
seoUrl ו-pageurl באותיות קטנות חלק מהקוד כותב pageUrl ו-sysName וחלק pageurl ו-sysname. MySQL לא רגיש לרישיות בשמות עמודות, אבל שמרו על pageurl ו-sysname ב-DDL כדי להתאים ל-ROUTER. פירוט על הניתוב ב-ניתוב, כתובות SEO ו-הפניות.

פרמטרים שהליבה מגדירה
params מכילה גם מפתחות שהליבה עצמה כותבת, למשל attaches_version (גרסת נכסים, Tools::delete_cache מגדיל אותה), log_sql, cron_runner_token, cron_runner_heartbeat, wizzo_market_api_key, mcp_gateway, seo_engine. הרשימה והמשמעות ב-פרמטרים ושפות.

אדמין והרשאות#

מבנה תפריט הניהול, המנהלים והקבוצות. ההרשאות נשמרות כ-JSON בקבוצה, ראו הרשאות ו-כניסה לניהול.

טבלהתפקידעמודות מפתחכותבקוראמקור
adminPanel_adminsמנהלי המערכתid, uname, password (bcrypt), name, email, phone, group_id, allow_ip, skip_otp, auth_provider, external_id, developer_token, last_login, phone_last_code, phone_last_code_dateפאנל Admins, admin_login (קוד OTP), ADMIN (last_login), wizzo_auth (developer_token), יצירת מנהלי bot ב-ai_agents_lib וב-admin_mcp_toolsADMIN, admin_login, mcp, wizzo_updateידני. auth_provider ו-external_id מתווספות lazily ב-ADMIN::ensure_sessions_table
adminPanel_admins_groupsקבוצות הרשאותid, name, perms (הערך -1 = הכול, אחרת JSON)פאנל AdminsADMIN (has_perms), תפריט האדמין, admin_mcp_toolsידני
adminPanel_admins_bad_attemptsניסיונות כניסה שנכשלוid, uname, password (מקודד), ip, date_createdADMINADMIN: חסימה אחרי 5 ניסיונות לשם משתמש או 15 ל-IP ב-10 דקות. ניקוי רשומות מעל 24 שעותידני
adminPanel_panels_categoriesקטגוריות בתפריט הניהולid, name, ordפאנלים PanelList, panel_registry, התקנותתפריט האדמין, check_version::panelידני
adminPanel_panelsהפאנלים עצמםid, category, panel_name, text, icon, ord, perm_developer, extra_perms. אופציונלי: view_countPanelList, panel_registry, todo, install_file_manager, create_table, wizzo_updateAdminModule, תפריט האדמין, admin_panel_viewsידני, תוכן מסונכרן מהמאסטר
adminPanel_panels_optionsתת-עמודים של פאנל שאפשר להגביל בהרשאותid, panelId, filename (שם המתודה), name, ordPanelList, install_file_manager, wizzo_updateADMIN, תפריט האדמיןידני
panel_table_orderסדר חיצוני לרשימות panel_tabletype, item_id, item_ord. נדרש UNIQUE על type ו-item_idpanel_table (INSERT ... ON DUPLICATE KEY UPDATE)panel_table (JOIN)ידני. נדרשת רק עם order_manager_external_tbl
שימו לב
panel_name רגיש לרישיות adminPanel_panels.panel_name הוא שם קובץ ושם מחלקה (ADMINMODULE_<panel_name>). בלינוקס Pages ו-pages הם קבצים שונים. רישום פאנל חדש מתואר ב-בניית פאנל וב-פאנלי הליבה.

לוג הטבלאות של פאנל
adminPanel_admins_bad_attempts דורשת DEFAULT CURRENT_TIMESTAMP על date_created: ה-INSERT של ADMIN לא כותב אותה.

סשנים וטוקנים#

מה שמזהה מי מחובר: סשן האדמין, טוקני MCP, וכניסת משתמשי האתר.

טבלהתפקידעמודות מפתחכותבקוראמקור
adminPanel_sessionsסשני אדמין. הטוקן הוא העוגייה CRM_admin_sessionid, admin_id, token (UNIQUE), ip, user_agent, device_label, created_at, last_active_at, expires_at, is_impersonated, impersonated_byADMIN (כניסה, הארכה, יציאה), admin_mcp_tools::mint_session ו-agent_mcp (סשנים של MCP)ADMIN (טעינת הסשן, "המכשירים שלי")lazy: ADMIN::ensure_sessions_table
adminPanel_mcp_tokensטוקני Bearer ל-POST /system/mcpid, admin_id, name, token (UNIQUE), created_at, last_used_at. בשימוש גם: expires_at, agent_id, run_id, allowed_toolsexternal_mcp (טוקן השער של Market), ai_agents_lib (טוקן קצר לריצת סוכן)controllers/mcp.php (אימות ועדכון last_used_at)lazy: admin_mcp_tools::ensure_tokens_table
usersמשתמשי אתר (כניסת אתר ציבורי). השם הוא LOGIN::$tableid, username, password, activeהאתר עצמו (טפסי הרשמה של הפרויקט)LOGIN::login_by_details, LOGIN::loginאופציונלי, לא מיוצא מהמאסטר
users_loginsטוקני כניסה פעילים של usersid, uid, token, ipLOGIN::loginLOGIN::get_token (עד LOGIN::$max_devices האחרונים), LOGIN::logout מוחקאופציונלי
אזהרה
adminPanel_mcp_tokens נוצרת בלי כל העמודות ה-DDL המקומי יוצר רק את עמודות הבסיס. expires_at, agent_id, run_id ו-allowed_tools מגיעות מסנכרון המבנה מהמאסטר. אתר שלא עבר update_db() ייכשל ב-ai_agents_lib וב-mcp.php שמסתמכים עליהן. הטוקנים הם סודות: אל תרשמו אותם ללוגים.

פרטים על העוגיות והסשן ב-עוגיות וסשן ועל משתמשי האתר ב-משתמשי אתר.

SEO#

טבלאות ה-SEO שבנויות מהגדרות ה-meta (seo_center, seoUrl, redirections) מופיעות ב"שלד האתר". כאן טבלאות ה-suite, והן נוצרות כולן lazily ע"י הספריות ולא דורשות התקנה. בכולן יש platform INT לתמיכה בכמה פלטפורמות.

טבלהתפקידעמודות מפתחכותבקורא
seo_findingsממצא אחד לכל סיבת שורשfinding_key (UNIQUE), check_id, root_cause_key, scope, fix_mode, severity, title_he, evidence, affected_count, affected_traffic, effort, destination, ticket_id, state, answer, accepted_signature, owner_note, first_seen, last_seen, resolved_atSeoFindings (upsert, קבלה, תשובה, הערה), SeoTicketsSeoContent, SeoTickets, seo_runner, seo_indexnow, SeoHosted::export
seo_occurrencesהעמודים שבהם הממצא מופיעfinding_key, url, url_hash, detail, traffic, first_seen, last_seen, resolved_at. UNIQUE על finding_key ו-url_hashSeoFindingsSeoContent, SeoTickets, seo_runner, SeoHosted::export
seo_profileעובדות שנצברו על האתרtopic, fact, signature, source, finding_key, is_activeSeoFindingsSeoFindings, SeoHosted::export
seo_runsשורה לכל ריצת איסוףran_at, site_traffic, traffic_days, findings, collector_versionאין כותב בליבה הנוכחיתSeoHosted::export
seo_metricsשורה לכל משיכת Search Consolepulled_at, range_start, range_end, impressions, clicks, position, brand_clicks, nonbrand_clicks, discover_impressions, findings_openאין כותב בליבה הנוכחיתSeoFindings (בסיס להשוואה), SeoHosted::export
seo_changesהצעות שינוי, אישור והחזרהfinding_key, panel, row_id, field, headline, context, url, before_value, after_value, before_metrics, after_metrics, measured_at, state, approved_by, created_at, applied_atSeoContent (נוצרת גם עם ALTER לעמודות שהתווספו מאוחר)SeoContent, SeoMcp, agent_mcp, SeoHosted::export
seo_bot_hitsביקורי בוטים של מנועי חיפוש ו-AI לפי יוםday, bot, hits. UNIQUE על day, bot, platformSeoBots::track (נקרא מ-PAGE בכל טעינה)SeoBots
seo_indexnow_sentכתובות שכבר הוכרזו ב-IndexNowurl_hash, first_sent. UNIQUE על url_hash ו-platformSeoIndexNowSeoIndexNow
הערה
seo_runs ו-seo_metrics הן היסטוריה בגרסה הנוכחית אף קוד בליבה לא כותב אליהן. הן נוצרות עם שאר הטבלאות, אתרים ישנים מחזיקים בהן שורות, והן נקראות רק לצורכי הייצוא ובסיס ההשוואה. כשהפרמטר seo_engine הוא hosted, המנוע החיצוני מחזיק את המצב ו-SeoHosted::export מעתיק אליו את הטבלאות פעם אחת בהגירה.

המשך ב-ה-suite של ה-SEO, ממצאים, IndexNow ו-SEO למפתחים.

AI, MCP וסוכנים#

הטבלאות מתחלקות לשלושה מנגנונים: סוכני אוטומציה (ai_agents*), צ'אט המנהל (ai_chat_*, admin_chat*) ומאגר הפרומפטים. ראו סוכני AI, צ'אט AI ו-סקירת MCP.

סוכנים#

כל שבע הטבלאות נוצרות lazily ב-ai_agents_lib::ensure_schema() (CREATE TABLE IF NOT EXISTS, בתוספת stream_agent_id ל-ai_agents ו-stream_run_id ל-ai_agents_runs).

טבלהתפקידעמודות מפתחכותבקורא
ai_agentsהגדרת סוכןid, title, slug (UNIQUE), goal, system_prompt, tools, panels, model, trigger_type, crontime, event_key, approval_mode, bot_admin_id, limits, notify, status, is_active, next_run, last_runai_agents_lib, ai_agent_runnerai_agent_runner, ai_agents_lib, admin_mcp_tools
ai_agents_runsריצותid, agent_id, parent_run_id, trigger_src, idempotency_key (UNIQUE), status, run_secret, started_at, finished_at, steps_count, tokens_in, tokens_out, credits_cost, summary, error, dry_runai_agents_lib, ai_agent_runnerai_agent_runner, פאנלי הצ'אט
ai_agents_run_stepsצעדי ריצהrun_id, step_num, type, tool_call_id, tool_name, tool_args, tool_result, duration_ms, narration. UNIQUE על run_id ו-tool_call_idai_agent_runnerai_agent_runner
ai_agents_memoryזיכרון הסוכןagent_id, kind (work, episode, insight, feedback, playbook), mem_key, mem_value, source_run_id, reinforced_countai_agents_lib, admin_mcp_tools (הכלי remember)ai_agents_lib, admin_mcp_tools
ai_agents_approvalsפעולות כתיבה שממתינות לאישורrun_id, agent_id, action_type, panel, record_id, payload, record_snapshot, status, decided_by, decided_atadmin_mcp_tools, ai_agents_libai_agents_lib, admin_mcp_tools
ai_agents_tool_ledgerאידמפוטנטיות של קריאות כליrun_id, tool_call_id, result. UNIQUE על run_id ו-tool_call_idadmin_mcp_toolsadmin_mcp_tools
ai_agents_versionsגרסאות הגדרה של סוכןagent_id, definition, created_by, created_atאין כותב בקוד (טבלה שמורה)אין

צ'אט המנהל, פרומפטים וכלים#

טבלהתפקידעמודות מפתחכותבקוראמקור
admin_chatצ'אט פנימי בין מנהליםid, admin_id, message, file_url, file_name, date_createdפאנל admin_chat, הכלי notify_admin, ai_agents_libפאנל admin_chatlazy: admin_chat::ensure_table
admin_chat_readמצב קריאה לכל מנהלadmin_id (PK), last_read_idפאנל admin_chatפאנל admin_chatlazy
ai_chat_conversationsשיחות הצ'אט של המנהלid, admin_id, title, model, system_prompt, is_pinned, is_archived, last_message_at, created_at, updated_atפאנל ai_chatפאנל ai_chatסנכרון מהמאסטר
ai_chat_messagesהודעות בשיחהid, conversation_id, role, content, message_type, tool_call_id, tool_name, tool_data, metadata, attachments, created_atפאנל ai_chatפאנל ai_chatסנכרון מהמאסטר
ai_chat_memoryזיכרון קבוע לכל מנהלid, admin_id, category, memory_key, memory_value, source_conversation_id, created_at, updated_atפאנל ai_chatפאנל ai_chatסנכרון מהמאסטר
ai_chat_instructionsהנחיות שמוזרקות ל-system promptid, title, content, panel_name, is_active, ord, created_at, updated_atפאנל ai_chat_settingsפאנל ai_chatlazy: ai_chat_settings::ensure_table
ai_chat_automationsחוקי אוטומציה על שמירת טפסיםid, slug (UNIQUE), title, instruction, rules, behavior, confidence_threshold, watch_fields, fail_policy, is_active, ordפאנל ai_chat_automations_settingsפאנל ai_chatlazy
ai_commandsפעולות מוכנות לצ'אטid, title, icon, description, json_schema, examples, api_url, is_active, sort_orderפאנל ai_commandsפאנל ai_commands, תפריט האדמין (בודק עם SHOW TABLES)סנכרון מהמאסטר
ai_promptsמאגר פרומפטים לפי שםid, sysname, content, model, versionפאנל ai_prompts, storage_ai_prompts_seedwizzo_ai::get_prompt (לפי sysname)סנכרון מהמאסטר
ai_prompts_versionsהיסטוריית גרסאות לפרומפטid, prompt_id, version_number, content, model, created_by, is_currentפאנל ai_promptsפאנל ai_prompts (שחזור גרסה)סנכרון מהמאסטר
ai_toolsמנגנון ישן: כלי AI מתוזמנים מ-application/ai_tools/id, sys_name, crontime, next_run, last_run, is_activeאין פאנל בליבהcontrollers/ai_cron.phplegacy
safe_sql_logלוג הרצות SQL בפאנל ושל קריאות MCPid, admin_id, admin_name, sql_query, success, details, ip_address, created_atפאנל safe_sql, mcp, agent_mcpפאנל safe_sqllazy: safe_sql::create_log_table
שימו לב
ai_chat_* ו-ai_prompts בלי DDL מקומי הקוד של הליבה לא מכיל CREATE TABLE לשלוש טבלאות הצ'אט, ל-ai_commands, ל-ai_prompts ול-ai_prompts_versions. אתר שלא הריץ update_db() לא יכיל אותן. פירוט על ההרצה ב-עדכון גרסה.

הערה
ai_agents_versions ו-ai_tools ai_agents_versions נוצרת אבל לא נכתבת. ai_tools שייכת למנגנון ה-cron הישן, והחלופה היא ai_agents. הסבר על כלי MCP ב-כלי MCP.

Cron, ריצות ועדכונים#

תזמון משימות, יומני ריצה ובריאות המערכת. ראו cron, אבחון ו-בריאות וביצועים.

טבלהתפקידעמודות מפתחכותבקוראמקור
cron_categoriesתיקיות של משימותid, name, is_active. id = 1 שמור ל"מערכת"פאנל cron_manager, wizzo_updatecron_runner (JOIN), SystemHealthסנכרון מהמאסטר
cron_tasksהמשימות המתוזמנותid, category_id, title, url, params, crontime, is_active, next_run, last_run, runs_countפאנל cron_manager, cron_runner (מעדכן next_run, last_run, runs_count), wizzo_updatecron_runner, cron_manager, SystemHealthסנכרון מהמאסטר
cron_logsיומן הרצותid, task_id, url, params, status (running, ok, error), started_at, finished_at, duration_ms, output, error_messageCronLogger (פותח שורה running, סוגר בסיום, וגוזם לאחרונות לכל משימה)פאנל cron_manager, SystemHealthסנכרון מהמאסטר
wizzo_update_logיומן עדכוני גרסהid, date_created, admin_id (0 = אוטומטי), status, error_text, from_version, to_version, head_sha, prev_sha, commits_count, ai_summary, ai_summary_datewizzo_update (ensure_schema, log_update)wizzo_update, agent_mcplazy
system_health_reportsדוחות בריאות שמורים(אין DDL ואין כותב בליבה)איןOlegAgent (מייצא עד 50 אחרונים)ללא בעלים בקוד הנוכחי
הרצה

ה-runner נקרא כל דקה (php index.php url=system/cron_runner tk=<cron_runner_token>), והטוקן והדופק נשמרים ב-params (cron_runner_token, cron_runner_heartbeat). פרטים מלאים ב-cron.

מייל והודעות#

טבלהתפקידעמודות מפתחכותבקוראמקור
emails_queueתור שליחת מיילים כש-CONFIG::$mail_queue פעילid, data (אובייקט PHPMailer בהמרת serialize), mail_tpl, priority, pid, is_sent, log, send_dateMISC::add_mail_to_queueTools::cron_emails_queue (שולף עד 250 עם is_sent = 0, מסמן, שולח, ומוחק נשלחות מעל 24 שעות)אופציונלי
push_managerהודעות פוש מתוזמנות לרשומהid, item_type, item_id, title, content, date_send, is_sendFormInput_PushManagerFormInput_PushManager. השליחה עצמה בשירות POOSH, לא בליבהאופציונלי
wzcontactפניות מהאתרid, email, subject, content, display_namem_wzcontactפאנל wzcontact, m_wzcontactאופציונלי
wzcontact_messagesהודעות בשרשור של פנייהid, contact_id, content, is_system_message, is_readm_wzcontact (תשובה שולחת גם מייל)פאנל wzcontact, m_wzcontactאופציונלי
שימו לב
emails_queue.data הוא serialize של אובייקט התור שומר אובייקט PHPMailer שלם ומשחזר אותו ב-unserialize בעת השליחה. אל תכתבו אליו מקור שאינו הקוד של הליבה. פירוט ב-מייל.

אנליטיקס#

מונה אירועים פנימי ודשבורד. ראו את הפאנל analytics ב-פאנלי הליבה.

טבלהתפקידעמודות מפתחכותבקוראמקור
analyticsספירה יומית לפי פריט ואירועitem_type, item_id, event, stat_date, total, total_unique. נדרש UNIQUE על item_type, item_id, event, stat_datem_analytics (INSERT ... ON DUPLICATE KEY UPDATE)פאנל analyticsידני
analytics_realtimeאותה ספירה בדיוק של דקהאותן עמודות. stat_date בפורמט Y-m-d H:im_analyticsפאנל analytics (get_real_time)ידני
analytics_eventsרשימת האירועים המותריםid, eventפאנל analyticsm_analytics (cache analytics_events): אירוע שלא ברשימה נדחהידני
analytics_tokensמבקרים פעילים (טוקן, זמן, כתובת)token, last_login, urlm_analytics (לכל היותר פעם ב-10 דקות לדפדפן)פאנל analytics (מנקה רשומות מעל שעה)ידני
analytics_tokens_sumסיכומי מבקרים לאורך זמןtotal, stat_dateפאנל analyticsפאנל analyticsידני
trg_banners, trg_banner_groups, trg_campaignsנתוני שירות TARGET של Market(הפאנל קורא trg_banners בשאילתת JOIN עם trg_banner_groups)שירות TARGETפאנל analyticsלא מיוצאות מהמאסטר

פירוט על שירותי Market ב-סקירת Market וב-קטלוג השירותים.

קבצים ומדיה#

טבלהתפקידעמודות מפתחכותבקוראמקור
storageרשומה לכל קובץ מדיהid, uuid, name, ext, path, remote, data (JSON), tumb, uploaded_by, ord, object_type, object_id, copyrights, description, folder_id, filename_type, label, tags, is_hide. אופציונלית: file_hash (נבדקת ב-is_column_exists)STORAGE::add ושאר מתודותיה, פאנל storage, כלי ה-MCP לייבוא מדיהSTORAGE, פאנל storage, שדות FormInput_drop ו-VGallery, search_mediaידני
storage_foldersתיקיות בספריית המדיהid, pid, name, tagsפאנל storageפאנל storageידני
file_manager_logיומן פעולות של מנהל הקבציםid, admin_id, action, path, bytes, note, ip, user_agent, createdפאנל file_managerפאנל file_managerlazy: install_file_manager::ensureLogTable

המשך ב-אחסון, אבטחת העלאות ו-מנהל הקבצים.

שאריות, שמות שאינם טבלאות וטבלאות של Market#

שםמה זה
langsטבלה ישנה. נקראת רק ב-DB_UPDATE_CLASS::copyToAllLangs, ושם היא שבורה. "שפה" מיוצגת היום ב-platforms
buttons, buttons_categories ועוד _content שלהן, ו-newsletter_messages, newsletter_messages_track, newsletter_recipients, newsletter_types, newsletter_unsubscribeשאריות legacy. הליבה לא משתמשת בהן, והיא רק מוציאה אותן מייצוא המבנה ב-check_version::db_structure
mcp_connectionsטבלה בצד של Market ולא של האתר. הקוד מזכיר אותה רק בהערה של external_mcp
admin_logged, admin_sessionלא טבלאות: אלה העוגיות CRM_admin_logged ו-CRM_admin_session. ראו עוגיות וסשן
Calendarלא טבלה: תיקיית הנכסים assets/CRM_Calendar/ של שדה התאריך הישן

ראו גם#

מצאתם טעות או חוסר? תקנו את הדף או פתחו Issue בריפו. התיעוד נכתב מתוך הקוד של ליבה 5.0.115.