function docdocTags($req) { global $CONFIG; set_time_limit(0); //this avoids timeouts require_once $CONFIG->path . "mod/profile_manager/views/default/profile_manager/members/config.php"; $outputfile = $CONFIG->path . "mod/profile_manager/views/default/profile_manager/members/output.log"; file_put_contents($outputfile, "Starting creating TAGS doc-doc matrix...\n", FILE_APPEND); $tags_dt = unserialize(file_get_contents($IOdir . "tags_dt")); $tags_dd = array(); if ($req["dd_useold"] == "true") { if (file_exists($IOdir . "old_tags_dd") && file_exists($IOdir . "old_tags_dt")) { file_put_contents($outputfile, "I'm using, where possible, the old TAGS Doc-doc matrix...\n", FILE_APPEND); $old_tags_dd = unserialize(file_get_contents($IOdir . "old_tags_dd")); $old_tags_dt = unserialize(file_get_contents($IOdir . "old_tags_dt")); $tags_dd = toDocDocTags($tags_dt, $old_tags_dd, $old_tags_dt); } else { $tags_dd = toDocDocTags($tags_dt); } } else { $tags_dd = toDocDocTags($tags_dt); } //right now we have only half of the values (triangular matrix) but, since this must be a symmetric matrix, the other half of the values can be obtained from the present half $i = 0; foreach ($tags_dd as $guid => $row) { $j = 0; foreach ($tags_dd as $guid2 => $row2) { if ($i > $j) { $tags_dd[$guid][$guid2] = $tags_dd[$guid2][$guid]; } $j++; } $i++; } krsort($tags_dd); foreach ($tags_dd as $guid => $row) { krsort($tags_dd[$guid]); } file_put_contents($IOdir . "tags_dd", serialize($tags_dd)); if (PHP_OS == "Linux") { chmod($IOdir . "tags_dd", 0666); } //set rw permissions for everybody for this file file_put_contents($outputfile, "TAGS doc-doc matrix created\n\n", FILE_APPEND); return "OK"; }
$old_tags_dd = unserialize(file_get_contents($IOdir . "old_tags_dd")); $old_tags_dt = unserialize(file_get_contents($IOdir . "old_tags_dt")); $tags_dd = toDocDocTags($tags_dt, $M, $N, $old_tags_dd, $old_tags_dt); } else { $tags_dd = toDocDocTags($tags_dt, $M, $N); } echo 'TAGS doc-doc matrix created' . "\n"; } else { echo 'Starting creating METADATA Doc-doc matrix...' . "\n"; $metadata_dd = toDocDocMetadataUses($metadata_dt, $M, $N); echo 'METADATA doc-doc matrix created' . "\n"; echo 'Starting creating USES Doc-doc matrix...' . "\n"; $uses_dd = toDocDocMetadataUses($uses_dt, $M, $N); echo 'USES doc-doc matrix created' . "\n"; echo 'Starting creating TAGS Doc-doc matrix...' . "\n"; $tags_dd = toDocDocTags($tags_dt, $M, $N); echo 'TAGS doc-doc matrix created' . "\n"; } file_put_contents($IOdir . "metadata_dd" . $M, serialize($metadata_dd)); if (PHP_OS == "Linux" && getmyuid() == fileowner($IOdir . "metadata_dd" . $M)) { chmod($IOdir . "metadata_dd" . $M, 0666); } //set all the permissions for everybody for this file file_put_contents($IOdir . "uses_dd" . $M, serialize($uses_dd)); if (PHP_OS == "Linux" && getmyuid() == fileowner($IOdir . "uses_dd" . $M)) { chmod($IOdir . "uses_dd" . $M, 0666); } //set all the permissions for everybody for this file file_put_contents($IOdir . "tags_dd" . $M, serialize($tags_dd)); if (PHP_OS == "Linux" && getmyuid() == fileowner($IOdir . "tags_dd" . $M)) { chmod($IOdir . "tags_dd" . $M, 0666);