מילון מונחים

מילון בסדר אלפביתי של המונחים, המחלקות והמושגים של WIZZO CMS, עם הסבר קצר, מיקום בקוד וקישור לדף שמכסה כל אחד מהם בהרחבה.

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

המילון מסודר לפי השם האנגלי של המונח. נתיבי קבצים הם יחסית ל-api/core בריפו, ובאתר פרוס הם יושבים תחת system/core/. לכל מונח יש שורת "בקוד" עם המיקום ושורת "ראו" עם הדף שמרחיב.

ADMIN#

המחלקה שמטפלת בהתחברות של מנהלי המערכת: בדיקה אם המשתמש הנוכחי הוא מנהל, התחברות וניהול הסשן של הניהול. היא נפרדת מ-LOGIN, שמשרת משתמשי צד-לקוח של האתר.

בקוד: collections/ADMIN.php. ראו: התחברות, סשנים ו-WIZZO ID.

admin_url#

מאפיין של CONFIG_USER שקובע את כתובת הבסיס של פאנל הניהול. הוא יחסי, ולכן אין לשים אותו בכותרת Location כמות שהוא. הערך נכנס לביטוי רגולרי בלי escape, ולכן יש להקפיד על תווים רגילים בלבד.

בקוד: collections/CONFIG.php, collections/ROUTER.php. ראו: קונפיגורציה (CONFIG_USER).

ADMINMODULE_<name>#

שם המחלקה של פאנל ניהול בשם <name>. כשפאנל קיים גם בליבה (admin/<name>.php) וגם באתר (application/admin/<name>.php), הגרסה שבליבה גוברת.

בקוד: libraries/AdminModule.php, התיקייה admin/. ראו: בניית פאנל.

agent_mcp#

קונטרולר מערכת שמשמש גשר בין שרת הסוכן של Wizzo לבין האתר: הוא חושף לסוכנים כלים שרצים בתוך האתר. הגישה אליו מוגבלת לבקשות שמגיעות מ-Wizzo.

בקוד: controllers/agent_mcp.php. ראו: שרת הסוכן (agent_mcp).

AGENT_TOOLS#

נקודת ההרחבה שמאפשרת לאתר להוסיף כלים משלו לפלטפורמת הסוכנים בלי לגעת בליבה. רושמים כלי עם AGENT_TOOLS::add_tool([...]) מתוך application/admin/includes, עם שם, תיאור, סכמת קלט ופונקציית handler.

בקוד: libraries/agent_tools.php. ראו: כתיבת כלי MCP לאתר.

ai_cron#

קונטרולר מערכת שמריץ משימות AI מתוזמנות. הוא קורא כלים מתיקיית application/ai_tools/<name>.php, שבהם המחלקה נקראת ai_tool_<name>. זו התיקייה היחידה בליבה שקוראת את application/ai_tools.

בקוד: controllers/ai_cron.php. ראו: סוכני AI.

allowed_domains#

עמודה בטבלת CRM_platforms שמונה דומיינים נוספים שמורשים לשרת את אותה פלטפורמה. אחרי שהליבה בודקת התאמה של SERVER_NAME לדומיין הראשי של הפלטפורמה, היא בודקת גם את הרשימה הזו. דומיין שלא נמצא באף מקום נדחה עם URL ERROR.

בקוד: collections/CONFIG.php, collections/PAGE.php (שורה 719). ראו: פלטפורמות ורב-לשוניות.

application/#

תיקיית הקוד והתוכן של האתר עצמו, בניגוד לליבה: includes/init.php, admin, controllers, models ועוד. שדרוג ליבה לא נוגע בה.

בקוד: core.php (טעינת init.php). ראו: מבנה התיקיות של אתר.

base_path#

מאפיין ש-CONFIG::preinit מחשב מנתיב סקריפט הכניסה (dirname של index.php), והוא שורש האתר בדיסק. כמעט כל נתיב אחר (cache, models, application) נגזר ממנו.

בקוד: collections/CONFIG.php. ראו: קונפיגורציה (CONFIG_USER).

bgl_controller, wz_controller#

wz_controller היא מחלקת הבסיס של כל קונטרולר. bgl_controller היא כינוי ישן ריק שיורש ממנה, ונשאר לתאימות לאחור. אותו דבר חל על wz_loader ו-bgl_loader.

בקוד: collections/MODULE.php (wz_controller בשורה 168). ראו: קונטרולרים של אתר.

bgl_theme#

מחלקת הבסיס של ערכת נושא. מחלקת ערכה באתר נקראת TEMPLATE_<theme> ויורשת ממנה.

בקוד: collections/theme.php. ראו: ערכות נושא (Themes).

cache_engine#

מנגנון המטמון הכללי: cache_engine::get($key, $func = false, $hours = 24, $in_platform = true) מחזיר ערך שמור או מחשב אותו בעזרת הפונקציה ושומר, ו-cache_engine::remove($key) מנקה מפתח. הערכים נשמרים כקבצים תחת cache/.

בקוד: collections/cache_engine.php. ראו: cache_engine API, איך המטמון עובד.

.chc#

סיומת קובצי המטמון שיוצר cache_engine. קובץ דחוס נשמר כ-.chc.gz.

בקוד: collections/cache_engine.php. ראו: איך המטמון עובד.

Collections#

מחלקות הליבה הסטטיות שנטענות בכל בקשה (DB, PAGE, ROUTER, MISC, CONFIG ועוד) ויושבות בתיקייה collections/. הן נקראות ישירות, בלי יצירת מופע.

בקוד: collections/. ראו: ה-Collections.

CONFIG, CONFIG_USER#

CONFIG_USER היא מחלקת הקונפיגורציה שהאתר מגדיר ב-system/config.php. CONFIG היא מחלקת ליבה שיורשת ממנה, מוסיפה ערכים מחושבים ומריצה את preinit ו-init. קריאה למאפיין סטטי שלא הוגדר היא שגיאה קטלנית.

בקוד: collections/CONFIG.php. ראו: קונפיגורציה (CONFIG_USER), CONFIG_USER (רפרנס).

COOKIES#

עטיפה לעוגיות הדפדפן, שבה שומרים גם נתוני התחברות מקודדים (MISC::encode) תחת קידומת לפי שם הטבלה. אפשר להצמיד עוגיה לכתובת IP, ובבדיקה הזו נעשה שימוש ב-WIZZO_NET.

בקוד: collections/COOKIES.php. ראו: COOKIES ו-SESSION.

core_path#

מאפיין של CONFIG_USER שמצביע על תיקיית הליבה, בדרך כלל system/core ביחס לשורש האתר. הוא נקרא על ידי index.php של האתר לפני שהליבה נטענת. נתיב מוחלט שובר את חישוב העליות ב-index.php.

בקוד: index.php של האתר, core.php. ראו: קונפיגורציה (CONFIG_USER).

CRM_ (קידומת טבלאות)#

כל הטבלאות של המערכת מתחילות ב-CRM_. בוני השאילתות (DB::query, DB::update ועוד) מקבלים שם טבלה בלי הקידומת, ואילו SQL גולמי חייב לכלול אותה במלואה. בפועל הקידומת קבועה, כי עשרות קבצי ליבה כותבים CRM_ ישירות בשאילתות גולמיות.

בקוד: collections/DB.php, collections/CONFIG.php (db_fullprefix). ראו: שכבת ה-DB, סכמת הטבלאות.

CRM_modules#

טבלה שמונה את הקונטרולרים הפעילים של האתר. קונטרולר של אתר שאין לו שורה פעילה כאן מחזיר 404. התוצאה נשמרת במטמון תחת המפתח modules_lang<lang> לשבעה ימים.

בקוד: collections/MISC.php (get_modules_tbl). ראו: קונטרולרים של אתר.

cron_runner#

קונטרולר מערכת שמריץ את משימות הקרון של המערכת. הוא מוגן בטוקן cron_runner_token מהטבלה CRM_params, ונקרא משורת קרון מהצורה php index.php url=system/cron_runner tk=....

בקוד: controllers/cron_runner.php. ראו: מנהל משימות (Cron).

CronLogger#

מתעד את ריצות המשימות בטבלה CRM_cron_logs. הוא שומר 50 ריצות אחרונות לכל משימה, וקוטם פלט ארוך מדי.

בקוד: collections/CronLogger.php. ראו: מנהל משימות (Cron).

CRYPT#

הצפנה סימטרית בשיטת AES-256-CBC עם set_secret_key, encode ו-decode. למפתח יש ערך ברירת מחדל קבוע בקוד, ולכן באתר אמיתי יש להגדיר מפתח משלכם.

בקוד: collections/CRYPT.php. ראו: הצפנה וקידוד, COOKIES, SESSION, LOGIN, CRYPT.

DB#

שכבת הגישה למסד הנתונים: שאילתות גולמיות (get_all, get_row, get_val, sql) ובוני שאילתות (query, update, delete). אין DB::insert. הוספת שורה נעשית עם DB::update(table)->set(col, val)->insert().

בקוד: collections/DB.php. ראו: שכבת ה-DB, DB (רפרנס).

db_fullprefix#

הקידומת המלאה של טבלאות המערכת, כפי ש-CONFIG::init מחשבת אותה: ריקה כש-db_prefix ריק, אחרת db_prefix ואחריו קו תחתי. משמשת בחלק מהשאילתות הגולמיות של הליבה.

בקוד: collections/CONFIG.php. ראו: קונפיגורציה (CONFIG_USER).

default_module#

הקונטרולר שנטען כשהכתובת לא מציינת קונטרולר, כלומר דף הבית. הוא נקרא מ-CONFIG_USER.

בקוד: collections/ROUTER.php. ראו: ניתוב (ROUTER).

deftheme#

עמודה בטבלת CRM_platforms שמגדירה את ערכת הנושא של הפלטפורמה. כשהעמוד לא קבע ערכה בעצמו, PAGE משתמשת בערך הזה.

בקוד: collections/PAGE.php, admin/platforms.php. ראו: ערכות נושא (Themes).

FILES#

מחלקה שאחראית על טעינת תבניות ותצוגות מהדיסק ועל עיבודן, כולל ההחלטה אם להפעיל Smarty. הגדרות מודול יכולות לעקוף את ברירת המחדל.

בקוד: collections/FILES.php. ראו: FILES.

Form, FormInput_*#

ספריית הטפסים של הניהול: מופע טופס ואוסף שדות, כל אחד מחלקה בשם FormInput_<סוג> (למשל FormInput_Select, FormInput_Text).

בקוד: libraries/forms/. ראו: טפסים (Form), FormInput_* (חתימות).

init.php#

הקובץ application/includes/init.php של האתר. הליבה טוענת אותו אם הוא קיים, מיד אחרי CONFIG::init. זה המקום להגדיר ערכים גלובליים, כמו מפתחות S3, לפני שהבקשה מעובדת.

בקוד: core.php. ראו: מבנה התיקיות של אתר, קונפיגורציה (CONFIG_USER).

LANGS#

מחלקת המילים המתורגמות. המילים נשמרות בטבלה CRM_langs_words, ונטענות למטמון בשם words_lang<lang> לארבע שעות.

בקוד: collections/LANGS.php. ראו: פרמטרים ומילים (PARAMS, LANGS), PARAMS ו-LANGS.

LOGIN#

מחלקת ההתחברות של משתמשי צד-לקוח. ברירות המחדל: הטבלה users, הצפנת סיסמה md5, ועד שלושה מכשירים לכל משתמש. התחברות לפי IP כבויה כברירת מחדל.

בקוד: collections/LOGIN.php. ראו: משתמשי צד-לקוח (LOGIN), COOKIES, SESSION, LOGIN, CRYPT.

mail_tpl#

ספרייה לשליחת דואר מבוסס תבנית. היא נבנית עם השם המערכתי של התבנית (sysName), ומאפשרת להגדיר נמענים ולשלוח.

בקוד: libraries/mail_tpl.php. ראו: שליחת דואר.

market_service#

ספרייה שמחברת את האתר ל-Wizzo Market, ובין השאר דואגת למגן .htaccess שמגן על תיקיית ההגדרות system/.

בקוד: libraries/market_service.php. ראו: Wizzo Market.

MASK#

מצב הסוואה: הערך CONFIG::$mask יכול להיות false, true או מערך, ו-$mask_words מגדיר את המילים שמוחלפות. כשהוא פעיל, MASK::out מעבדת את הפלט לפני שהוא נשלח.

בקוד: collections/MASK.php. ראו: מצב הסוואה (MASK).

mcp#

קונטרולר מערכת בכתובת /system/mcp שחושף את האתר כשרת MCP. הוא דורש טוקן Bearer.

בקוד: controllers/mcp.php. ראו: MCP ב-WIZZO CMS.

minify#

קונטרולר מערכת שמגיש קובצי JS ו-CSS ממוזערים ומאוחדים. הוא פטור מבדיקת הדומיין ב-PAGE::load. מטמון הקבצים שלו יושב תחת cache/ יחסי, ולא לפי cache_folder.

בקוד: controllers/minify.php. ראו: צינור הנכסים (SCSS, Minify).

MISC#

אוסף עזרים כלליים: אבטחה, טעינת טבלת המודולים, בדיקות סביבה, גלובלים (MISC::$GLOBALS) ועוד.

בקוד: collections/MISC.php. ראו: עזרים (MISC), MISC.

MODULE#

הקובץ שמגדיר את מחלקות הבסיס של קונטרולרים, טוענים ומודלים (wz_controller, wz_loader, wz_model) ואת הלוגיקה שטוענת קונטרולר לפי המודול שהניתוב קבע.

בקוד: collections/MODULE.php. ראו: ROUTER ו-MODULE.

PAGE#

מחלקה שמנהלת את העמוד: טעינה (PAGE::load), ערכת הנושא, נכסי JS ו-CSS (add_asset), מטא, ואירועים (bind, trigger, למשל SYSTEM_LOADED).

בקוד: collections/PAGE.php. ראו: PAGE: נכסים, מטא ואירועים, PAGE.

Page cache (מטמון עמודים)#

שמירה של ה-HTML המלא של עמוד. היא פועלת רק כש-system_type הוא client ו-allow_cache דלוק, והעמוד סומן כניתן לשמירה.

בקוד: core.php, collections/PAGE.php. ראו: מטמון עמודים מלא.

panel_table#

ספרייה שבונה טבלת רשימה בפאנל ניהול: עמודות, חיפוש, מיון ופעולות, ממחלקת wz_model.

בקוד: libraries/panel_table.php. ראו: טבלאות רשימה (panel_table), panel_table (אפשרויות).

pmode=empg#

פרמטר שמדכא את מסגרת העמוד ומחזיר רק את התוכן. קונטרולרי מערכת משתמשים בו כדי להחזיר פלט נקי. הערך inner מתנהג בצורה דומה.

בקוד: collections/PAGE.php. ראו: קונטרולרי מערכת.

PARAMS#

פרמטרים כלליים של המערכת מהטבלה CRM_params, עם מטמון של 30 יום.

בקוד: collections/PARAMS.php. ראו: פרמטרים ומילים (PARAMS, LANGS), PARAMS ו-LANGS.

Platform (פלטפורמה)#

שורה בטבלה CRM_platforms שמייצגת שפה או אתר לוגי עם דומיין משלו. הליבה בוחרת פלטפורמה לפי SERVER_NAME, אחר כך לפי allowed_domains, ואם אין התאמה לוקחת את הראשונה. ערך CONFIG::$lang שווה למזהה הפלטפורמה.

בקוד: collections/CONFIG.php. ראו: פלטפורמות ורב-לשוניות.

preinit, init#

שני שלבי האתחול של CONFIG. preinit רץ ראשון: מגדיר אזור זמן (Asia/Jerusalem) ונתיבי בסיס. init רץ אחרי בדיקת ה-CLI: מחבר נתיבים, בוחר פלטפורמה ומחשב את db_fullprefix.

בקוד: collections/CONFIG.php, core.php. ראו: קונפיגורציה (CONFIG_USER), מחזור חיי בקשה.

Redirections (הפניות)#

הטבלה CRM_redirections (עמודות url_from, url_to) מגדירה הפניות 301. הרשימה נשמרת במטמון תחת המפתח redirections לשבעה ימים.

בקוד: collections/ROUTER.php (redirections). ראו: הפניות 301.

ROUTER#

מנתח את כתובת הבקשה למודול ופרמטרים, מחיל הפניות, ופותר כתובות ידידותיות. עם ?__router_trace=1 אפשר לראות את מסלול ההחלטה, אך רק למנהלים, מ-localhost או מאותו שרת.

בקוד: collections/ROUTER.php. ראו: ניתוב (ROUTER), דיבוג ניתוב.

SEO#

מחלקה שאוספת את נתוני ה-SEO של העמוד (מפתח, שדות, סכמה) ומחזירה אותם לתגיות ה-HTML.

בקוד: collections/SEO.php. ראו: תגיות SEO ו-Schema, SEO.

seoUrl#

טבלה שממפה כתובת ידידותית (pageurl) לשם פנימי (sysname). ROUTER משתמש בה כדי להפוך כתובת לקונטרולר ופרמטרים.

בקוד: collections/ROUTER.php. ראו: כתובות ידידותיות (seoUrl).

SESSION#

עטיפה ל-$_SESSION. היא מפעילה session_start רק אם הסשן עדיין לא פעיל, ומפרקת ערכים מסורלים אוטומטית בקריאה.

בקוד: collections/SESSION.php. ראו: COOKIES ו-SESSION.

Smarty, use_smarty#

מנוע התבניות שמשמש לקובצי .tpl. המאפיין CONFIG::$use_smarty קובע את ברירת המחדל, וניתן לעקוף אותו בהגדרות של מודול בודד.

בקוד: collections/FILES.php. ראו: תבניות Smarty.

STORAGE#

העלאה ואחסון של קבצים: STORAGE::add שומר קובץ, STORAGE::get מחזיר אותו, ו-STORAGE::get_thumb($id, $width, $height) מחזיר תמונה ממוזערת. הנתיב ברירת המחדל הוא media/Storage.

בקוד: collections/STORAGE.php. ראו: STORAGE: העלאה ואחסון, STORAGE.

System controller (קונטרולר מערכת)#

קונטרולר שיושב בתיקיית controllers/ של הליבה ונגיש בכתובת /system/<name>. הוא לא דורש שורה בטבלה CRM_modules.

בקוד: controllers/. ראו: קונטרולרי מערכת.

system_type#

מאפיין של CONFIG_USER שמסווג את האתר. הערך client נדרש בין היתר כדי שמטמון העמודים יפעל.

בקוד: core.php. ראו: קונפיגורציה (CONFIG_USER).

Theme, TEMPLATE_<name>#

ערכת נושא שמורכבת מתיקייה תחת themes/ ומחלקה בשם TEMPLATE_<name> שיורשת מ-bgl_theme. הערכה מגדירה את המסגרת של העמוד ואת הנכסים שלו.

בקוד: collections/theme.php, collections/PAGE.php. ראו: ערכות נושא (Themes).

WIZZO ID#

מערכת הזיהוי של Wizzo, שבה כניסה לניהול נעשית בקוד חד-פעמי (OTP) שנשלח דרך שירות ההזדהות של Wizzo.

בקוד: libraries/wizzo_auth.php, controllers/admin_login.php. ראו: התחברות, סשנים ו-WIZZO ID.

WIZZO_KEY#

המקום היחיד שבו הליבה קוראת את המפתח ששרת של Wizzo מציג כשהוא קורא לאתר (מחבר ה-Market, ריצות ה-SEO והסוכן). הוא מקבל את המפתח גם בכותרת X-Wizzo-Key ובגוף ה-POST, כי בסביבת CGI/FastCGI הכותרת Authorization לא תמיד מגיעה ליישום. לא קוראים אותו משורת הכתובת.

בקוד: collections/WIZZO_KEY.php. ראו: שרת הסוכן (agent_mcp), אבטחה.

WIZZO_NET#

רשימת כתובות ה-IP של Wizzo. קוראים אותה agent_mcp, שער המדינה ב-ROUTER, והצמדת ה-IP ב-COOKIES.

בקוד: collections/WIZZO_NET.php. ראו: שרת הסוכן (agent_mcp).

wizzo_update#

פאנל הניהול שמעדכן את הליבה של האתר: מוריד גרסה חדשה לתיקייה צמודה, מחליף אותה בליבה הקיימת ושומר עותק גיבוי של הישנה.

בקוד: admin/wizzo_update.php. ראו: עדכון ליבה.

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