ابزار سایت

سازوکار_حذف_محتوای_کاربر_در_هنگام_حذف_کاربر

سازوکار حذف محتوای کاربر در هنگام حذف کاربر

در تنظیمات کاربری بخش مدیریت، امکان حذف کاربر‌(کاربران) سامانه وجود دارد، با انتخاب گزینه حذف کاربر سازوکار رویداد لازم با نام ON_USER_UNREGISTER برای حذف تمامی محتوای ایجاد شده توسط کاربر در بخش‌های مختلف اجرا می‌شود:

سازوکار حذف محتوای کاربری

نام استاندارد در نظر گرفته‌شده برای تابع حذف محتوای کاربر onDeleteUserContent است.

برای تمامی بخش‌ها مانند اطلاعات پایه‌ای کاربر و یا افزونه‌هایی که کاربر می‌تواند در آن‌ها اطلاعاتی وارد کند، می‌بایست این تابع در فایل event_handler تعریف شده و در تابع genericInit() یا init() فایل event_handler مربوط به افزونه می‌بایست bind شود.

فراخوانی رویداد ON_USER_UNREGISTER در تابع deleteUser در مسیر زیر انجام می‌شود.

ow_system_plugins\base\bol\user_service.php

نکته: تاکید می‌شود برای کلیه افزونه‌هایی که کاربر می‌تواند در آن‌ها داده‌ای ایجاد کند، می‌بایست رویکرد حذف محتوا در نظر گرفته شود.

برای مثال افزونه ویدیو:

در تابع genericInit() در فایل event_handler.php ویدیو، رویداد فوق bind شده است:

$em->bind(OW_EventManager::ON_USER_UNREGISTER, array($this, 'deleteUserContent'));

و به صورت زیر تعریف شده است:

public function deleteUserContent( OW_Event $event )
{
    $params = $event->getParams();
    if ( !isset($params['deleteContent']) || !(bool) $params['deleteContent'] )
    {
        return;
    }
    $userId = (int) $params['userId'];
    if ( $userId > 0 )
    {
        VIDEO_BOL_ClipService::getInstance()->deleteUserClips($userId);
    }
}

سازوکار_حذف_محتوای_کاربر_در_هنگام_حذف_کاربر.txt · آخرین ویرایش: 2019/01/15 12:45