original_string: public static function update_user_profile_image($userid, $url) {
          global $CFG, $DB;
  
          require_once($CFG->libdir . '/filelib.php');
          require_once($CFG->libdir . '/gdlib.php');
  
          $fs = get_file_storage();
  
          $context = \context_user::instance($userid, MUST_EXIST);
          $fs->delete_area_files($context->id, 'user', 'newicon');
  
          $filerecord = array(
              'contextid' => $context->id,
              'component' => 'user',
              'filearea' => 'newicon',
              'itemid' => 0,
              'filepath' => '/'
          );
  
          $urlparams = array(
              'calctimeout' => false,
              'timeout' => 5,
              'skipcertverify' => true,
              'connecttimeout' => 5
          );
  
          try {
              $fs->create_file_from_url($filerecord, $url, $urlparams);
          } catch (\file_exception $e) {
              return get_string($e->errorcode, $e->module, $e->a);
          }
  
          $iconfile = $fs->get_area_files($context->id, 'user', 'newicon', false, 'itemid', false);
  
          // There should only be one.
          $iconfile = reset($iconfile);
  
          // Something went wrong while creating temp file - remove the uploaded file.
          if (!$iconfile = $iconfile->copy_content_to_temp()) {
              $fs->delete_area_files($context->id, 'user', 'newicon');
              return self::PROFILE_IMAGE_UPDATE_FAILED;
          }
  
          // Copy file to temporary location and the send it for processing icon.
          $newpicture = (int) process_new_icon($context, 'user', 'icon', 0, $iconfile);
          // Delete temporary file.
          @unlink($iconfile);
          // Remove uploaded file.
          $fs->delete_area_files($context->id, 'user', 'newicon');
          // Set the user's picture.
          $DB->set_field('user', 'picture', $newpicture, array('id' => $userid));
          return self::PROFILE_IMAGE_UPDATE_SUCCESSFUL;
      }
code: public static function update_user_profile_image($userid, $url) {
          global $CFG, $DB;
  
          require_once($CFG->libdir . '/filelib.php');
          require_once($CFG->libdir . '/gdlib.php');
  
          $fs = get_file_storage();
  
          $context = \context_user::instance($userid, MUST_EXIST);
          $fs->delete_area_files($context->id, 'user', 'newicon');
  
          $filerecord = array(
              'contextid' => $context->id,
              'component' => 'user',
              'filearea' => 'newicon',
              'itemid' => 0,
              'filepath' => '/'
          );
  
          $urlparams = array(
              'calctimeout' => false,
              'timeout' => 5,
              'skipcertverify' => true,
              'connecttimeout' => 5
          );
  
          try {
              $fs->create_file_from_url($filerecord, $url, $urlparams);
          } catch (\file_exception $e) {
              return get_string($e->errorcode, $e->module, $e->a);
          }
  
          $iconfile = $fs->get_area_files($context->id, 'user', 'newicon', false, 'itemid', false);
  
          // There should only be one.
          $iconfile = reset($iconfile);
  
          // Something went wrong while creating temp file - remove the uploaded file.
          if (!$iconfile = $iconfile->copy_content_to_temp()) {
              $fs->delete_area_files($context->id, 'user', 'newicon');
              return self::PROFILE_IMAGE_UPDATE_FAILED;
          }
  
          // Copy file to temporary location and the send it for processing icon.
          $newpicture = (int) process_new_icon($context, 'user', 'icon', 0, $iconfile);
          // Delete temporary file.
          @unlink($iconfile);
          // Remove uploaded file.
          $fs->delete_area_files($context->id, 'user', 'newicon');
          // Set the user's picture.
          $DB->set_field('user', 'picture', $newpicture, array('id' => $userid));
          return self::PROFILE_IMAGE_UPDATE_SUCCESSFUL;
      }
code_tokens: public static function update_user_profile_image ( $ userid , $ url ) { global $ CFG , $ DB ; require_once ( $ CFG -> libdir . '/filelib.php' ) ; require_once ( $ CFG -> libdir . '/gdlib.php' ) ; $ fs = get_file_storage ( ) ; $ context = \ context_user :: instance ( $ userid , MUST_EXIST ) ; $ fs -> delete_area_files ( $ context -> id , 'user' , 'newicon' ) ; $ filerecord = array ( 'contextid' => $ context -> id , 'component' => 'user' , 'filearea' => 'newicon' , 'itemid' => 0 , 'filepath' => '/' ) ; $ urlparams = array ( 'calctimeout' => false , 'timeout' => 5 , 'skipcertverify' => true , 'connecttimeout' => 5 ) ; try { $ fs -> create_file_from_url ( $ filerecord , $ url , $ urlparams ) ; } catch ( \ file_exception $ e ) { return get_string ( $ e -> errorcode , $ e -> module , $ e -> a ) ; } $ iconfile = $ fs -> get_area_files ( $ context -> id , 'user' , 'newicon' , false , 'itemid' , false ) ; // There should only be one. $ iconfile = reset ( $ iconfile ) ; // Something went wrong while creating temp file - remove the uploaded file. if ( ! $ iconfile = $ iconfile -> copy_content_to_temp ( ) ) { $ fs -> delete_area_files ( $ context -> id , 'user' , 'newicon' ) ; return self :: PROFILE_IMAGE_UPDATE_FAILED ; } // Copy file to temporary location and the send it for processing icon. $ newpicture = ( int ) process_new_icon ( $ context , 'user' , 'icon' , 0 , $ iconfile ) ; // Delete temporary file. @ unlink ( $ iconfile ) ; // Remove uploaded file. $ fs -> delete_area_files ( $ context -> id , 'user' , 'newicon' ) ; // Set the user's picture. $ DB -> set_field ( 'user' , 'picture' , $ newpicture , array ( 'id' => $ userid ) ) ; return self :: PROFILE_IMAGE_UPDATE_SUCCESSFUL ; }
docstring: Updates the users profile image.
  
  @param int $userid the id of the user
  @param string $url the url of the image
  @return bool|string true if successful, else a string explaining why it failed
docstring_tokens: Updates the users profile image .