ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilArrayTableDataParser.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
9 {
10  protected $dir = null;
11 
12  protected $value = '';
13 
14  public function __construct($data_dir)
15  {
16  $this->dir = $data_dir;
17  }
18 
19  public function startParsing()
20  {
21  global $DIC;
22  $ilDB = $DIC->database();
23  $ilLogger = $DIC->logger()->root();
24 
25  if (!$dp = opendir($this->dir)) {
26  $ilLogger->error(__METHOD__ . ': Cannot open data directory: ' . $this->dir);
27  return false;
28  }
29 
30  $ilLogger->log(__METHOD__ . ': Reading table data from: ' . $this->dir);
31  while (false !== ($file = readdir($dp))) {
32  $ilLogger->log(__METHOD__ . ': Handling file: ' . $file);
33  if (substr($file, -5) != '.data') {
34  $ilLogger->log(__METHOD__ . ': Ignoring file: ' . $file);
35  continue;
36  }
37 
38  $content = file_get_contents($this->dir . DIRECTORY_SEPARATOR . $file);
39 
40  $ilLogger->log(__METHOD__ . ': Reading inserts of ' . $this->dir . '/' . $file);
41  $content = unserialize($content);
42 
43  if (!is_array($content)) {
44  $ilLogger->log(__METHOD__ . ': No entries found in ' . $this->dir . '/' . $file);
45  continue;
46  }
47 
48  foreach ($content as $table => $rows) {
49  foreach ($rows as $row) {
50  $ilDB->insert($table, $row);
51  }
52  }
53  if (function_exists('memory_get_usage')) {
54  $ilLogger->log(__METHOD__ . ': Memory usage ' . memory_get_usage(true));
55  }
56  }
57  fclose($dp);
58  }
59 }
global $DIC
Definition: saml.php:7
$row
$rows
Definition: xhr_table.php:10
global $ilDB
if(empty($password)) $table
Definition: pwgen.php:24