Changeset 1008

Show
Ignore:
Timestamp:
03/07/07 16:11:04 (2 years ago)
Author:
ben
Message:

Dashboard items now get removed on user delete; files and folders contained in folders owned by the deleted user will be moved to root.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/mod/adash/lib.php

    r758 r1008  
    4040             
    4141            $function['init'][] = $CFG->dirroot . "mod/adash/init.php"; 
     42             
     43            // Delete users 
     44            listen_for_event("user","delete","adash_user_delete"); 
    4245             
    4346            $CFG->widgets->display['text'] = "adash_text_widget_display"; 
     
    271274        } 
    272275         
     276        function adash_user_delete($object_type, $event, $object) { 
     277            global $CFG, $data; 
     278            if (!empty($object->ident) && $object_type == "user" && $event == "delete") { 
     279                 
     280                if ($widgets = get_records_sql("select * from {$CFG->prefix}dashboard_widgets where owner = {$object->ident}")) { 
     281                     
     282                    foreach($widgets as $widget) { 
     283                         
     284                        delete_records('dashboard_data','widget',$widget->ident); 
     285                         
     286                    } 
     287                    delete_records('dashboard_widgets','owner',$object->ident); 
     288                     
     289                } 
     290                 
     291            } 
     292            return $object; 
     293        } 
     294         
    273295?> 
  • devel/mod/file/lib.php

    r1003 r1008  
    283283                    $folder = plugin_hook("folder","delete",$folder); 
    284284                    if (!empty($folder)) { 
    285                         set_field('file_folders','parent',$folder->parent,'parent',$folder->ident); 
    286                         set_field('files','folder',$folder->parent,'folder',$folder->ident); 
     285                        set_field('file_folders','parent',-1,'parent',$folder->ident); 
     286                        set_field('files','folder',-1,'folder',$folder->ident); 
    287287                        delete_records('file_folders','ident',$folder->ident); 
    288288                        delete_records('tags','tagtype','folder','ref',$folder->ident);