original_string: protected function fix_old_style_reference($packed) {
          $ref = unserialize($packed);
          $ref = $this->dropbox->get_file_share_info($ref->path);
          if (!$ref || empty($ref->url)) {
              // Some error occurred, do not fix reference for now.
              return $packed;
          }
  
          $newreference = serialize($ref);
          if ($newreference !== $packed) {
              // We need to update references in the database.
              global $DB;
              $params = array(
                  'newreference'  => $newreference,
                  'newhash'       => sha1($newreference),
                  'reference'     => $packed,
                  'hash'          => sha1($packed),
                  'repoid'        => $this->id,
              );
              $refid = $DB->get_field_sql('SELECT id FROM {files_reference}
                  WHERE reference = :reference AND referencehash = :hash
                  AND repositoryid = :repoid', $params);
              if (!$refid) {
                  return $newreference;
              }
  
              $existingrefid = $DB->get_field_sql('SELECT id FROM {files_reference}
                      WHERE reference = :newreference AND referencehash = :newhash
                      AND repositoryid = :repoid', $params);
              if ($existingrefid) {
                  // The same reference already exists, we unlink all files from it,
                  // link them to the current reference and remove the old one.
                  $DB->execute('UPDATE {files} SET referencefileid = :refid
                      WHERE referencefileid = :existingrefid',
                      array('refid' => $refid, 'existingrefid' => $existingrefid));
                  $DB->delete_records('files_reference', array('id' => $existingrefid));
              }
  
              // Update the reference.
              $params['refid'] = $refid;
              $DB->execute('UPDATE {files_reference}
                  SET reference = :newreference, referencehash = :newhash
                  WHERE id = :refid', $params);
          }
          return $newreference;
      }
code: protected function fix_old_style_reference($packed) {
          $ref = unserialize($packed);
          $ref = $this->dropbox->get_file_share_info($ref->path);
          if (!$ref || empty($ref->url)) {
              // Some error occurred, do not fix reference for now.
              return $packed;
          }
  
          $newreference = serialize($ref);
          if ($newreference !== $packed) {
              // We need to update references in the database.
              global $DB;
              $params = array(
                  'newreference'  => $newreference,
                  'newhash'       => sha1($newreference),
                  'reference'     => $packed,
                  'hash'          => sha1($packed),
                  'repoid'        => $this->id,
              );
              $refid = $DB->get_field_sql('SELECT id FROM {files_reference}
                  WHERE reference = :reference AND referencehash = :hash
                  AND repositoryid = :repoid', $params);
              if (!$refid) {
                  return $newreference;
              }
  
              $existingrefid = $DB->get_field_sql('SELECT id FROM {files_reference}
                      WHERE reference = :newreference AND referencehash = :newhash
                      AND repositoryid = :repoid', $params);
              if ($existingrefid) {
                  // The same reference already exists, we unlink all files from it,
                  // link them to the current reference and remove the old one.
                  $DB->execute('UPDATE {files} SET referencefileid = :refid
                      WHERE referencefileid = :existingrefid',
                      array('refid' => $refid, 'existingrefid' => $existingrefid));
                  $DB->delete_records('files_reference', array('id' => $existingrefid));
              }
  
              // Update the reference.
              $params['refid'] = $refid;
              $DB->execute('UPDATE {files_reference}
                  SET reference = :newreference, referencehash = :newhash
                  WHERE id = :refid', $params);
          }
          return $newreference;
      }
code_tokens: protected function fix_old_style_reference ( $ packed ) { $ ref = unserialize ( $ packed ) ; $ ref = $ this -> dropbox -> get_file_share_info ( $ ref -> path ) ; if ( ! $ ref || empty ( $ ref -> url ) ) { // Some error occurred, do not fix reference for now. return $ packed ; } $ newreference = serialize ( $ ref ) ; if ( $ newreference !== $ packed ) { // We need to update references in the database. global $ DB ; $ params = array ( 'newreference' => $ newreference , 'newhash' => sha1 ( $ newreference ) , 'reference' => $ packed , 'hash' => sha1 ( $ packed ) , 'repoid' => $ this -> id , ) ; $ refid = $ DB -> get_field_sql ( 'SELECT id FROM {files_reference}
                  WHERE reference = :reference AND referencehash = :hash
                  AND repositoryid = :repoid' , $ params ) ; if ( ! $ refid ) { return $ newreference ; } $ existingrefid = $ DB -> get_field_sql ( 'SELECT id FROM {files_reference}
                      WHERE reference = :newreference AND referencehash = :newhash
                      AND repositoryid = :repoid' , $ params ) ; if ( $ existingrefid ) { // The same reference already exists, we unlink all files from it, // link them to the current reference and remove the old one. $ DB -> execute ( 'UPDATE {files} SET referencefileid = :refid
                      WHERE referencefileid = :existingrefid' , array ( 'refid' => $ refid , 'existingrefid' => $ existingrefid ) ) ; $ DB -> delete_records ( 'files_reference' , array ( 'id' => $ existingrefid ) ) ; } // Update the reference. $ params [ 'refid' ] = $ refid ; $ DB -> execute ( 'UPDATE {files_reference}
                  SET reference = :newreference, referencehash = :newhash
                  WHERE id = :refid' , $ params ) ; } return $ newreference ; }
docstring: Fixes references in DB that contains user credentials.
  
  @param   string      $packed     Content of DB field files_reference.reference
  @return  string                  New serialized reference
docstring_tokens: Fixes references in DB that contains user credentials .