示例#1
0
 case 'create':
     // Record new Userfield
 // Record new Userfield
 case 'create_new':
     // Record Userfield and create new
 // Record Userfield and create new
 case 'create_copy':
     // Record Userfield and create similar
     // Insert new user field...:
     $edited_Userfield = new Userfield();
     // Check that this action request is not a CSRF hacked request:
     $Session->assert_received_crumb('userfield');
     // Check permission:
     $current_User->check_perm('users', 'edit', true);
     // load data from request
     if ($edited_Userfield->load_from_Request()) {
         // We could load data from form without errors:
         // While inserting into DB, ID property of Userfield object will be set to autogenerated ID
         // So far as we set ID manualy, we need to preserve this value
         // When assignment of wrong value will be fixed, we can skip this
         $entered_userfield_id = $edited_Userfield->ID;
         // Insert in DB:
         $DB->begin();
         // because of manual assigning ID,
         // member function Userfield::dbexists() is overloaded for proper functionality
         $q = $edited_Userfield->dbexists();
         if ($q) {
             // We have a duplicate entry:
             param_error('ufdf_ID', sprintf(T_('This user field already exists. Do you want to <a %s>edit the existing user field</a>?'), 'href="?ctrl=userfields&amp;action=edit&amp;ufdf_ID=' . $q . '"'));
         } else {
             $edited_Userfield->dbinsert();