ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilFileObjectToStorageMigrationHelper Class Reference
+ Collaboration diagram for ilFileObjectToStorageMigrationHelper:

Public Member Functions

 __construct (string $base_path, ilDBInterface $database)
 
 getNext ()
 

Data Fields

const MIGRATED = ".migrated"
 

Protected Attributes

 $base_path = '/var/iliasdata/ilias/default/ilFile'
 
 $database
 

Private Member Functions

 createPathFromId (int $file_id)
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilFileObjectToStorageMigrationHelper::__construct ( string  $base_path,
ilDBInterface  $database 
)
Parameters
string$base_path
ilDBInterface$database

Definition at line 16 of file class.ilFileObjectToStorageMigrationHelper.php.

References $base_path, and $database.

Member Function Documentation

◆ createPathFromId()

ilFileObjectToStorageMigrationHelper::createPathFromId ( int  $file_id)
private

Definition at line 40 of file class.ilFileObjectToStorageMigrationHelper.php.

References $i.

Referenced by getNext().

40  : string
41  {
42  $path = [];
43  $found = false;
44  $num = $file_id;
45  $path_string = '';
46  for ($i = 3; $i > 0; $i--) {
47  $factor = pow(100, $i);
48  if (($tmp = (int) ($num / $factor)) or $found) {
49  $path[] = $tmp;
50  $num = $num % $factor;
51  $found = true;
52  }
53  }
54 
55  if (count($path)) {
56  $path_string = (implode('/', $path) . '/');
57  }
58 
59  return $this->base_path . '/' . $path_string . 'file_' . $file_id;
60  }
$i
Definition: metadata.php:24
+ Here is the caller graph for this function:

◆ getNext()

ilFileObjectToStorageMigrationHelper::getNext ( )

Definition at line 22 of file class.ilFileObjectToStorageMigrationHelper.php.

References $d, $query, and createPathFromId().

23  {
24  $query = "SELECT file_id
25  FROM file_data
26  WHERE
27  (rid IS NULL OR rid = '')
28  AND (file_id != '' AND file_id IS NOT NULL)
29  LIMIT 1;";
30  $r = $this->database->query($query);
31  $d = $this->database->fetchObject($r);
32  if (!isset($d->file_id) || null === $d->file_id || '' === $d->file_id) {
33  throw new LogicException("error fetching file_id");
34  }
35 
36  $file_id = (int) $d->file_id;
37  return new ilFileObjectToStorageDirectory($file_id, $this->createPathFromId($file_id));
38  }
Class ilFileObjectToStorageDirectory.
$query
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
Definition: date.php:296
+ Here is the call graph for this function:

Field Documentation

◆ $base_path

ilFileObjectToStorageMigrationHelper::$base_path = '/var/iliasdata/ilias/default/ilFile'
protected

Definition at line 5 of file class.ilFileObjectToStorageMigrationHelper.php.

Referenced by __construct().

◆ $database

ilFileObjectToStorageMigrationHelper::$database
protected

Definition at line 10 of file class.ilFileObjectToStorageMigrationHelper.php.

Referenced by __construct().

◆ MIGRATED

const ilFileObjectToStorageMigrationHelper::MIGRATED = ".migrated"

The documentation for this class was generated from the following file: