function backtoLog($pid, $log) { //$generate = null; //$generate = function ($pid) use(&$generate, $log) { // vers::setLog($log); $generate = null; $generate = function ($pid) use(&$generate) { $Cont = Page($pid); foreach ($Cont->Conts() as $SubCont) { // todo, select only conts and no pages $generate($SubCont->id); } if ($Cont->access() < 2) { return; } // access in the past!? vers::tableRollBackWhere('page', array('id' => $pid)); //vers::tableRollBackWhere('page', array('basis' => $pid, 'type'=>'c')); // remove subpages not in this version, problem: changes access! vers::tableRollBackWhere('page_class', array('page_id' => $pid)); vers::tableRollBackWhere('page_file', array('page_id' => $pid)); vers::tableRollBackWhere('page_text', array('page_id' => $pid)); vers::tableRollBackWhere('page_url', array('page_id' => $pid)); vers::tableRollBackWhere('text', array('id' => $Cont->vs['title_id'])); // todo: cached! foreach (D()->col("SELECT text_id FROM page_text WHERE page_id = " . $pid) as $text_id) { vers::tableRollBackWhere('text', array('id' => $text_id)); } foreach (D()->col("SELECT file_id FROM page_file WHERE page_id = " . $pid) as $file_id) { vers::tableRollBackWhere('file', array('id' => $file_id)); } // qg settings $basis = G()->SET['cms']['pages']->i; vers::qgSettingsRollBack($basis, $pid); }; settingArray::$All = array(); cms::$_Pages = array(); // remove Page-Object-Cache vers::setLog($log); $generate($pid); vers::setLog(0); cms::$_Pages = array(); // remove Page-Object-Cache settingArray::$All = array(); }