1446 |
1446 |
}
|
1447 |
1447 |
}
|
1448 |
1448 |
|
1449 |
|
if(!function_exists('rebuild_all_accessfiles')){
|
1450 |
|
function rebuild_all_accessfiles($bShowDetails=false ) {
|
1451 |
|
global $database;
|
1452 |
|
$aRetval = array();
|
1453 |
|
/**
|
1454 |
|
* try to remove access files and build new folder protect files
|
1455 |
|
*/
|
1456 |
|
// $sTempDir = (defined('PAGES_DIRECTORY') && (PAGES_DIRECTORY != '') ? PAGES_DIRECTORY : '').'/';
|
1457 |
|
$sTreeToDelete = WbAdaptor::getInstance()->AppPath.WbAdaptor::getInstance()->PagesDir;
|
1458 |
|
if(($sTreeToDelete!='') && is_writeable($sTreeToDelete)==true) {
|
1459 |
|
// if(rm_full_dir (WB_PATH.$sTempDir, true, $aProtectedFiles )==false) {
|
1460 |
|
// $aRetval[] = 'Could not delete existing access files';
|
1461 |
|
// }
|
1462 |
|
$aDeleteLog = array(); // <<< ge?ndert
|
1463 |
|
DeleteAccessFilesTree($sTreeToDelete, $aDeleteLog); // <<< ge?ndert
|
1464 |
|
if($bShowDetails) {
|
1465 |
|
$aRetval = array_merge($aRetval, $aDeleteLog); // <<< ge?ndert
|
1466 |
|
}
|
|
1449 |
if(!function_exists('rebuild_all_accessfiles'))
|
|
1450 |
{
|
|
1451 |
function rebuild_all_accessfiles($bShowDetails=false )
|
|
1452 |
{
|
|
1453 |
$oDb = WbDatabase::getInstance();
|
|
1454 |
$oReg = WbAdaptor::getInstance();
|
|
1455 |
// try to remove access files and build new folder protect files
|
|
1456 |
$sTreeToDelete = $oReg->AppPath.$oReg->PagesDir;
|
|
1457 |
if(($sTreeToDelete!='') && is_writeable($sTreeToDelete)==true)
|
|
1458 |
{
|
|
1459 |
$aDeleteLog = array();
|
|
1460 |
DeleteAccessFilesTree($sTreeToDelete, $aDeleteLog);
|
|
1461 |
// show details if debug is set
|
|
1462 |
if($bShowDetails) { $aRetval = $aDeleteLog; }
|
1467 |
1463 |
}
|
1468 |
|
|
1469 |
|
$aRetval = array_merge($aRetval,createFolderProtectFile(rtrim( WB_PATH.PAGES_DIRECTORY,'/') ));
|
1470 |
|
|
1471 |
|
/**
|
1472 |
|
* Reformat/rebuild all existing access files
|
1473 |
|
*/
|
1474 |
|
// $sql = 'SELECT `page_id`,`root_parent`,`link`, `level` FROM `'.TABLE_PREFIX.'pages` ORDER BY `link`';
|
1475 |
|
$sql = 'SELECT `page_id`,`root_parent`,`link`, `level` ';
|
1476 |
|
$sql .= 'FROM `'.TABLE_PREFIX.'pages` ';
|
1477 |
|
$sql .= 'WHERE `link` != \'\' ORDER BY `link` ';
|
1478 |
|
if (($oPage = $database->query($sql)))
|
|
1464 |
// set logging informations
|
|
1465 |
$aRetval = array_merge((isset($aRetval) ? $aRetval : array()),
|
|
1466 |
createFolderProtectFile(rtrim( $oReg->AppPath.$oReg->PagesDir, '/') ));
|
|
1467 |
// Reformat/rebuild all existing access files
|
|
1468 |
$sql = 'SELECT `page_id`,`root_parent`,`parent`,`link`,`level`,`page_trail` '
|
|
1469 |
. 'FROM `'.$oDb->TablePrefix.'pages` '
|
|
1470 |
. 'WHERE `link` != \'\' '
|
|
1471 |
. 'ORDER BY `link`';
|
|
1472 |
if (($oPage = $oDb->query($sql)))
|
1479 |
1473 |
{
|
1480 |
|
$x = 0;
|
1481 |
|
while (($page = $oPage->fetchRow(MYSQL_ASSOC)))
|
|
1474 |
$iFileCounter = 0;
|
|
1475 |
// iterate over all existing page records
|
|
1476 |
while (($aPageRecord = $oPage->fetchRow(MYSQL_ASSOC)))
|
1482 |
1477 |
{
|
1483 |
|
// Work out level
|
1484 |
|
$level = level_count($page['page_id']);
|
1485 |
|
// Work out root parent
|
1486 |
|
$root_parent = root_parent($page['page_id']);
|
1487 |
|
// Work out page trail
|
1488 |
|
$page_trail = get_page_trail($page['page_id']);
|
1489 |
|
// Update page with new level and link
|
1490 |
|
$sql = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
|
1491 |
|
$sql .= '`root_parent` = '.$root_parent.', ';
|
1492 |
|
$sql .= '`level` = '.$level.', ';
|
1493 |
|
$sql .= '`page_trail` = "'.$page_trail.'" ';
|
1494 |
|
$sql .= 'WHERE `page_id` = '.$page['page_id'];
|
1495 |
|
|
1496 |
|
if(!$database->query($sql)) {}
|
1497 |
|
$filename = WB_PATH.PAGES_DIRECTORY.$page['link'].PAGE_EXTENSION;
|
1498 |
|
create_access_file($filename, $page['page_id'], $page['level']);
|
1499 |
|
$x++;
|
|
1478 |
// --- begin reorg tree structure ------------------------------------------------
|
|
1479 |
// rebuild level entries
|
|
1480 |
$sql = 'SELECT `level`+1 AS `level`, `page_trail` '
|
|
1481 |
. 'FROM `'.$oDb->TablePrefix.'pages` '
|
|
1482 |
. 'WHERE `page_id`='.$aPageRecord['parent'];
|
|
1483 |
// search for parent record
|
|
1484 |
$oParent = $oDb->query($sql);
|
|
1485 |
if(($aParentRecord = $oParent->fetchRow(MYSQLI_ASSOC)))
|
|
1486 |
{
|
|
1487 |
// get values from existing parent record
|
|
1488 |
$aPageRecord['level'] = intval($aParentRecord['level']);
|
|
1489 |
$aPageRecord['root_parent'] = intval($aParentRecord['page_trail']);
|
|
1490 |
$aPageRecord['page_trail'] = (string)$aParentRecord['page_trail'].','.(string)$aPageRecord['page_id'];
|
|
1491 |
}else
|
|
1492 |
{
|
|
1493 |
// set as root record if no parentrecord exists
|
|
1494 |
$aPageRecord['level'] = 0;
|
|
1495 |
$aPageRecord['root_parent'] = $aPageRecord['page_id'];
|
|
1496 |
$aPageRecord['page_trail'] = (string)$aPageRecord['page_id'];
|
|
1497 |
}
|
|
1498 |
// update current record with regenerated values
|
|
1499 |
$sql = 'UPDATE `'.$oDb->TablePrefix.'pages` '
|
|
1500 |
. 'SET `root_parent`='.$aPageRecord['root_parent'].', '
|
|
1501 |
. '`level`='.$aPageRecord['level'].', '
|
|
1502 |
. '`page_trail`=\''.$aPageRecord['page_trail'].'\' '
|
|
1503 |
. 'WHERE `page_id`='.$aPageRecord['page_id'];
|
|
1504 |
$oDb->query($sql);
|
|
1505 |
// --- end reorg tree structure --------------------------------------------------
|
|
1506 |
$sFilename = $oReg->AppPath.$oReg->PagesDir.$aPageRecord['link'].$oReg->PageExtension;
|
|
1507 |
$oAccessFile = new AccessFile($sFilename, $aPageRecord['page_id']);
|
|
1508 |
$oAccessFile->write();
|
|
1509 |
unset($oAccessFile);
|
|
1510 |
$iFileCounter++;
|
1500 |
1511 |
}
|
1501 |
|
$aRetval[] = 'Number of new formated access files: '.$x.'';
|
|
1512 |
$aRetval[] = 'Number of new formated access files: '.$iFileCounter;
|
1502 |
1513 |
}
|
1503 |
|
return $aRetval;
|
1504 |
|
}
|
1505 |
|
}
|
|
1514 |
return $aRetval;
|
|
1515 |
} // end of function rebuild_all_accessfiles()
|
|
1516 |
} // endif
|
1506 |
1517 |
|
1507 |
1518 |
if(!function_exists('upgrade_modules')){
|
1508 |
1519 |
function upgrade_modules($aModuleList) {
|
! /framework/initialize.php::SetInstallPathConstants() setting of DOCUMENT_ROOT now compatible for windows installation
! /framework/functions.php::rebuild_all_accessfiles() Optimize rebuild access file coding