function throwErrorPage($code) { if ($code == "404") { $header = $_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'; } else { if ($code == "403") { $header = $_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden'; } else { $header = $_SERVER['SERVER_PROTOCOL'] . ' ' . $code; } } header($header); $errorPage = sConfig()->getVar('CONFIG/ERRORPAGES/ERROR_' . $code); if ($errorPage && $errorPage != '') { $request_path_string = getRequestPathString(explode('/', 'page' . $errorPage)); $request_path = getRequestPathArray($request_path_string); $psite = $request_path[1]; if ((int) $psite > 0) { $sinfo = sSites()->get($psite); $siteID = (int) $psite; } else { $sinfo = sSites()->getByPName($psite); $siteID = $sinfo['ID']; } $pageMgr = new PageMgr($siteID); $pageID = $pageMgr->getPageIdByPname($request_path[count($request_path) - 1]); $page = $pageMgr->getPage($pageID); $pageInfo = $page->get(); $version = $page->getLatestVersion(); renderPage($page, $version, $pageInfo, $pageMgr, $sinfo); } else { echo $header; } die; }
function sumchanges_new($newchangeslist) { for ($i = 0; $i < count($newchangeslist); $i++) { if ($newchangeslist[$i]['TYPE'] == HISTORYTYPE_PAGE) { if ($newchangeslist[$i]["SITEID"] && $newchangeslist[$i]["OID"]) { try { $PageMgr = new PageMgr($newchangeslist[$i]["SITEID"]); $page = $PageMgr->getPage($newchangeslist[$i]["OID"]); if ($page) { $oidinfo = $page->get(); $name = $oidinfo["NAME"]; } } catch (Exception $ex) { } } } if ($newchangeslist[$i]['TYPE'] == HISTORYTYPE_CO) { try { $cb = sCblockMgr()->getCblock($newchangeslist[$i]["OID"]); if ($cb) { $oidinfo = $cb->get(); $name = $oidinfo["NAME"]; } } catch (Exception $ex) { } } if ($newchangeslist[$i]['TYPE'] == HISTORYTYPE_FILE) { try { $file = sFileMgr()->getFile($newchangeslist[$i]["OID"]); if ($file) { $oidinfo = $file->get(); $name = $oidinfo["NAME"]; } } catch (Exception $ex) { } } if ($newchangeslist[$i]['TYPE'] == HISTORYTYPE_MAILING) { try { $mailing = sMailingMgr()->getMailing($newchangeslist[$i]["OID"]); if ($mailing) { $oidinfo = $mailing->get(); $name = $oidinfo["NAME"]; } } catch (Exception $ex) { } } if (strlen($name) > 0) { $changeslist[$i] = $newchangeslist[$i]; $changeslist[$i]["NAME"] = $name; } } return $changeslist; }
public function process($siteId, $objectId, $params) { $siteId = (int) $siteId; $objectId = (int) $objectId; $publishVersion = (int) $params['VERSION']; $pageMgr = new PageMgr($siteId); $page = $pageMgr->getPage($objectId); $objectInfo = $page->get(); if (count($objectInfo) > 0) { $page->publishVersion($publishVersion); // Add to history if ($publishVersion != ALWAYS_LATEST_APPROVED_VERSION) { $page->history->add(HISTORYTYPE_PAGE, NULL, $publishVersion, 'TXT_PAGE_H_AUTOPUBLISH'); } else { $lastfinalversion = $page->getLatestApprovedVersion(); $page->history->add(HISTORYTYPE_PAGE, NULL, $lastfinalversion, 'TXT_PAGE_H_AUTOPUBLISH'); } return true; } else { return false; } }
} else { $jsQueue->add($source, HISTORYTYPE_PAGE, 'PAGE_MOVE', sGuiUS(), $target . '-' . $targetsite); } } break; case 'pageSelectNode': $node = $this->params['node']; $siteID = $this->params['siteID']; $wid = $this->params['wid']; if ($node == 'trash') { break; } // Pages $pageMgr = new PageMgr($siteID); $root_node = $pageMgr->getTree(NULL, 0); $page = $pageMgr->getPage($node); // 1 = rsub // 2 = rread // 3 = rdelete // 4 = parent -> rsub & rwrite // 5 = parent -> rsub & rwrite // 6 = rdelete $buttons = array(); // Get Parents $parents = $pageMgr->getParents($node); $parentid = $parents[0][0]['ID']; // Check rights $rread = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $node, "RREAD"); $rwrite = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $node, "RWRITE"); $rsub = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $node, "RSUB"); $rdelete = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $node, "RDELETE");
} } $object_property_ids = array(); foreach ($used_extensions as $used_extension_idx => $used_extension) { // Call callback $used_extension->callExtensionHook('onRenderExtensionTab'); $used_extensions_info[$used_extension_idx]['PROPERTIES'] = $used_extension->properties->getList(); } $pageInfo = $mailingInfo; } break; case 'extpage': default: $pageMgr = new PageMgr($siteID); if ($objectID) { $page = $pageMgr->getPage($objectID); $pageInfo = $page->get(); $pageInfo['RWRITE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RWRITE"); $pageInfo['RSTAGE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RSTAGE"); if ($pageInfo['DELETED']) { $pageInfo['RWRITE'] = false; $pageInfo['READONLY'] = true; $pageInfo['RSTAGE'] = false; } // Get current locks for this token (and unlock them) $lockToken = sGuiUS() . '_' . $this->request->parameters['win_no']; $lockedObjects = $pageMgr->getLocksByToken($lockToken); foreach ($lockedObjects as $lockedObject) { if ($lockedObject['OBJECTID']) { $currentObject = $pageMgr->getPage($lockedObject['OBJECTID']); $currentObject->releaseLock($lockedObject['TOKEN']);
/** * Function to get the queued commands from the history */ public function getQueuedCommands() { $entrymaskMgr = new Entrymasks(); $jsQueue = new JSQueue(NULL); $tagMgr = new Tags(); $queuedCommands = array(); $currentQueueId = sGuiLH(); if (!$currentQueueId || $currentQueueId == 'false') { return; // if running first time (only) //$currentQueueId = $jsQueue->getLastQueueId(); } if ($currentQueueId) { $queuedCommandsRaw = $jsQueue->getQueue($currentQueueId, sGuiUS()); $templateMgr = new Templates(); $viewMgr = new Views(); foreach ($queuedCommandsRaw as $queuedCommandRaw) { // Check permissions $permissionsObj = NULL; $objectID = $queuedCommandRaw['OID']; $siteID = $queuedCommandRaw['SITEID']; $icons = new Icons(); $url = $imgurl = ''; switch ($queuedCommandRaw['TYPE']) { case HISTORYTYPE_MAILING: $mailingMgr = new MailingMgr(); $mailingObj = $mailingMgr->getMailing($objectID); $permissionsObj = $mailingObj->permissions; break; case HISTORYTYPE_PAGE: if ($siteID > 0 && $objectID > 0) { $pageMgr = new PageMgr($siteID); $pageObj = $pageMgr->getPage($objectID); if ($pageObj) { $url = $pageObj->getUrl(); $permissionsObj = $pageObj->permissions; } } break; case HISTORYTYPE_CO: if (!$objectID) { continue; } $cb = sCblockMgr()->getCblock($objectID); $permissionsObj = $cb->permissions; break; case HISTORYTYPE_ENTRYMASK: $permissionsObj = $entrymaskMgr->permissions; break; case HISTORYTYPE_FILE: $permissionsObj = sFileMgr()->permissions; if ($objectID) { $file = sFileMgr()->getFile($objectID); if ($file) { $info = $file->get(); $url = sApp()->webroot . "download/" . $info['PNAME'] . "/"; $hiddenviews = $file->views->getHiddenViews(); foreach ($hiddenviews as $hiddenview) { if ($hiddenview['IDENTIFIER'] == "YGSOURCE") { $tmpviewinfo = $file->views->getGeneratedViewInfo($hiddenview['ID']); if ($tmpviewinfo[0]['TYPE'] == FILE_TYPE_WEBIMAGE) { $imgurl = sApp()->webroot . "image/" . $info['PNAME'] . "/"; } } } } } break; case HISTORYTYPE_TEMPLATE: $permissionsObj = $templateMgr->permissions; break; case HISTORYTYPE_TAG: $permissionsObj = $tagMgr->permissions; break; case HISTORYTYPE_SITE: $pageMgr = new PageMgr($siteID); $sitePages = $pageMgr->tree->get(0, 1); $tmpPageID = $sitePages[0]["ID"]; if ($tmpPageID) { $pageObj = $pageMgr->getPage($tmpPageID); $permissionsObj = $pageObj->permissions; } break; case HISTORYTYPE_USER: $permissionsObj = sUsergroups()->usergroupPermissions; break; case HISTORYTYPE_USERGROUP: case HISTORYTYPE_EXTERNAL: case HISTORYTYPE_IMAGE: case HISTORYTYPE_FILETYPES: case HISTORYTYPE_FILEVIEWS: case HISTORYTYPE_JSQUEUE: case HISTORYTYPE_PERMISSION: default: break; } if ($queuedCommandRaw['TEXT'] == 'NOPERMISSIONCHECK' || strpos($queuedCommandRaw['OLDVALUE'], 'HIGHLIGHT') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'UNHIGHLIGHT') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'PAGE_MOVE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'PAGE_HIDE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'PAGE_UNHIDE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'PAGE_ACTIVATE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'RELOAD_WINDOW') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'CLEAR_USERINFOS') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'SET_USERINFOS') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'CLEAR_FILEINFOS') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'REFRESH_WINDOW') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'ADD_FILE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_DELETE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_ADD_TAG') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_CHANGE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_CHANGECLASS') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_CHANGEPNAME') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_CHANGEBGIMAGE') === 0 || strpos($queuedCommandRaw['OLDVALUE'], 'OBJECT_CHANGE_LOCK_STATE') === 0) { $allowed = true; } else { if ($permissionsObj != NULL) { $allowed = $permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RREAD"); } } if ($permissionsObj != NULL || $allowed) { if ($allowed) { $itext = sItext(); switch ($queuedCommandRaw['OLDVALUE']) { case 'UNHIGHLIGHT': if ($queuedCommandRaw['TEXT']) { //$queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\''.$queuedCommandRaw['TEXT'].'\', \''.$objectID.'-template\', \''.$queuedCommandRaw['TEXT'].'\');'; $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\');'; } break; case 'OBJECT_CHANGE_LOCK_STATE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_changeWindowLockStateForObject(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\');'; } break; case 'OBJECT_CHANGEBGIMAGE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_changeBGImage(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\', \'' . $queuedCommandRaw['VALUE3'] . '\');'; } break; case 'OBJECT_CHANGECLASS': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_changeClass(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\', \'' . $queuedCommandRaw['VALUE3'] . '\');'; } break; case 'OBJECT_CHANGEPNAME': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_changePName(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\', \'' . $queuedCommandRaw['VALUE3'] . '\', \'' . $url . '\', \'' . $imgurl . '\');'; } break; case 'OBJECT_CHANGE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_change(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . addslashes($queuedCommandRaw['VALUE1']) . '\', \'' . addslashes($queuedCommandRaw['VALUE2']) . '\', \'' . addslashes($queuedCommandRaw['VALUE3']) . '\');'; } break; case 'OBJECT_ADD_TAG': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addTag(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\', \'' . $queuedCommandRaw['VALUE3'] . '\', \'' . $queuedCommandRaw['VALUE4'] . '\', ' . stripslashes($queuedCommandRaw['VALUE5']) . ', \'' . $queuedCommandRaw['VALUE6'] . '\', \'' . $queuedCommandRaw['VALUE7'] . '\');'; } break; case 'OBJECT_DELETE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_del(\'' . $queuedCommandRaw['TEXT'] . '\', \'' . $queuedCommandRaw['VALUE1'] . '\', \'' . $queuedCommandRaw['VALUE2'] . '\', \'' . $queuedCommandRaw['VALUE3'] . '\', \'' . $queuedCommandRaw['VALUE4'] . '\');'; } break; case 'ADD_FILE': $file = new File($objectID); $latestVersion = $file->getLatestApprovedVersion(); $file = new File($objectID, $latestVersion); $fileInfo = $file->get(); $reftracker = new Reftracker(); if ($fileInfo['CREATEDBY']) { $user = new User($fileInfo['CREATEDBY']); $userInfo = $user->get(); $userInfo['PROPS'] = $user->properties->getValues($fileInfo['CREATEDBY']); } $fileInfo['CUSTOM_DATE'] = date('d.m.Y', TStoLocalTS($fileInfo['CHANGEDTS'])); $fileInfo['CUSTOM_TIME'] = date('G:i', TStoLocalTS($fileInfo['CHANGEDTS'])); $fileInfo['REFS'] = $reftracker->getIncomingForFile($fileInfo['OBJECTID']); $tags = $file->tags->getAssigned(); for ($t = 0; $t < count($tags); $t++) { $tp = array(); $tp = $file->tags->tree->getParents($tags[$t]['ID']); $tp2 = array(); for ($p = 0; $p < count($tp); $p++) { $tinfo = $file->tags->get($tp[$p]); $tp2[$p]['ID'] = $tinfo['ID']; $tp2[$p]['NAME'] = $tinfo['NAME']; } $tp2[count($tp2) - 1]['NAME'] = $itext['TXT_TAGS'] != '' ? $itext['TXT_TAGS'] : '$TXT_TAGS'; $tags[$t]['PARENTS'] = $tp2; } $fileInfo['TAGS'] = $tags; $fileInfo['THUMB'] = 1; if ($queuedCommandRaw['TEXT'] == 'nothumb') { $fileInfo['THUMB'] = 0; } $views = $file->views->getAssigned(); foreach ($views as $view) { if ($view["IDENTIFIER"] == "YGSOURCE") { $viewinfo = $file->views->getGeneratedViewInfo($view["ID"]); $fileInfo["WIDTH"] = $viewinfo[0]["WIDTH"]; $fileInfo["HEIGHT"] = $viewinfo[0]["HEIGHT"]; } } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addFile(\'file\', \'' . $fileInfo['PARENT'] . '-file\', \'' . $objectID . '\', \'' . $fileInfo['THUMB'] . '\', \'' . $fileInfo['COLOR'] . '\', \'' . $fileInfo['CODE'] . '\', \'' . $fileInfo['NAME'] . '\', \'' . $fileInfo['PNAME'] . '\', \'' . json_encode($fileInfo['TAGS']) . '\', \'' . $fileInfo['FILESIZE'] . '\', \'' . count($fileInfo['REFS']) . '\', \'' . TStoLocalTS($fileInfo['CHANGEDTS']) . '\', \'' . $fileInfo['CUSTOM_DATE'] . '\', \'' . $fileInfo['CUSTOM_TIME'] . '\', \'' . $fileInfo['UID'] . '\', \'' . $userInfo['PROPS']['FIRSTNAME'] . ' ' . $userInfo['PROPS']['LASTNAME'] . '\', \'' . $fileInfo['FILENAME'] . '\', \'' . $fileInfo["WIDTH"] . '\', \'' . $fileInfo['HEIGHT'] . '\');'; break; case 'REFRESH_TAGS': if ($queuedCommandRaw['TEXT']) { switch ($queuedCommandRaw['TYPE']) { case HISTORYTYPE_CO: $objType = 'cblock'; break; case HISTORYTYPE_FILE: $objType = 'file'; break; } } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshTags(\'' . $objType . '\', \'' . $objectID . '-' . $objType . '\', \'tags\', \'' . $queuedCommandRaw['TEXT'] . '\');'; break; case 'REFRESH_WINDOW': if ($queuedCommandRaw['TEXT']) { switch ($queuedCommandRaw['TYPE']) { case HISTORYTYPE_CO: $objType = 'cblock'; break; case HISTORYTYPE_PAGE: $objType = 'page'; break; case HISTORYTYPE_FILE: $objType = 'file'; break; case HISTORYTYPE_TAG: $objType = 'tag'; break; case HISTORYTYPE_TEMPLATE: $objType = 'template'; break; case HISTORYTYPE_ENTRYMASK: $objType = 'entrymask'; break; case HISTORYTYPE_SITE: $objType = 'site'; break; } // Special cases switch ($queuedCommandRaw['TYPE']) { case HISTORYTYPE_PAGE: $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshWin(\'' . $objType . '\',\'' . $objectID . '-' . $siteID . '\',\'' . $queuedCommandRaw['TEXT'] . '\');'; break; case HISTORYTYPE_FILE: $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshWin(\'' . $objType . '\',\'' . $objectID . '-' . $objType . '\',\'' . $queuedCommandRaw['TEXT'] . '\');'; $queuedCommands[$queuedCommandRaw['ID']] .= 'Koala.yg_refreshWin(\'' . $objType . 'folder\',\'' . $objectID . '-' . $objType . '\',\'' . $queuedCommandRaw['TEXT'] . '\');'; break; default: $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshWin(\'' . $objType . '\',\'' . $objectID . '-' . $objType . '\',\'' . $queuedCommandRaw['TEXT'] . '\');'; break; } } break; case 'CLEAR_FILEINFOS': $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_fileInfos[' . $objectID . '] = null;'; break; case 'SET_FILEINFOS': $file = sFileMgr()->getFile($objectID); if ($file) { $latestFinalVersion = $file->getLatestApprovedVersion(); $file = new File($objectID, $latestFinalVersion); $fileInfo = $file->get(); $fileTypes = sFileMgr()->getFiletypes(); $user = new User(sUserMgr()->getCurrentUserID()); $fileInfo['DATE'] = date($itext['DATE_FORMAT'], TStoLocalTS($fileInfo['CHANGEDTS'])); $fileInfo['TIME'] = date($itext['TIME_FORMAT'], TStoLocalTS($fileInfo['CHANGEDTS'])); $fileInfo['FILESIZE'] = formatFileSize($fileInfo['FILESIZE']); $views = $file->views->getAssigned(true); $viewInfo = $file->views->getGeneratedViewInfo($views[0]["ID"]); $fileInfo['WIDTH'] = $viewInfo[0]["WIDTH"]; $fileInfo['HEIGHT'] = $viewInfo[0]["HEIGHT"]; $fileInfo['TAGS'] = $file->tags->getAssigned(); $tags = array(); foreach ($fileInfo['TAGS'] as $tag) { array_push($tags, $tag['NAME']); } $fileTags = implode(', ', $tags); if (strlen($fileTags) > 40) { $fileTags = substr($fileTags, 0, 40); $fileTags .= '...'; } $fileInfo['TAGS'] = $fileTags; if (strlen($fileInfo['NAME']) > 40) { $fileInfo['NAME'] = substr($fileInfo['NAME'], 0, 40); $fileInfo['NAME'] .= '...'; } if (strlen($fileInfo['FILENAME']) > 40) { $fileInfo['FILENAME'] = substr($fileInfo['FILENAME'], 0, 40); $fileInfo['FILENAME'] .= '...'; } if ($fileInfo['CREATEDBY']) { $user = new User($fileInfo['CREATEDBY']); $userInfo = $user->get(); $userInfo['PROPS'] = $user->properties->getValues($fileInfo['CREATEDBY']); $fileInfo['USERNAME'] = $userInfo['PROPS']['FIRSTNAME'] . ' ' . $userInfo['PROPS']['LASTNAME']; } foreach ($fileTypes as $fileTypes_item) { if ($fileTypes_item['ID'] == $fileInfo['FILETYPE']) { $fileInfo['FILETYPE_TXT'] = $fileTypes_item['NAME']; } } $fileInfo['THUMB'] = 0; $hiddenViews = $file->views->getHiddenViews(); foreach ($hiddenViews as $view) { if ($view['IDENTIFIER'] == 'yg-preview') { $tmpviewinfo = $file->views->getGeneratedViewInfo($view["ID"]); if ($tmpviewinfo[0]["TYPE"] == FILE_TYPE_WEBIMAGE) { $fileInfo['THUMB'] = 1; $fileInfo['PREVIEWWIDTH'] = $tmpviewinfo[0]["WIDTH"]; $fileInfo['PREVIEWHEIGHT'] = $tmpviewinfo[0]["HEIGHT"]; } } } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_fileInfos[' . $objectID . '] = ' . json_encode($fileInfo) . ';Koala.yg_showFileHint(\'' . $objectID . '\');'; } break; case 'SET_USERINFOS': $user = new User($objectID); $userInfo = $user->get(); $userInfo['PROPS'] = $user->properties->getValues($objectID); $userInfo['USERGROUPS'] = $user->getUsergroups($objectID); $roles = array(); foreach ($userInfo['USERGROUPS'] as $role) { array_push($roles, $role['NAME']); } $user_roles = implode(', ', $roles); if (strlen($user_roles) > 30) { $user_roles = substr($user_roles, 0, 30); $user_roles .= '...'; } if (file_exists(sApp()->app_root . sApp()->userpicdir . $objectID . '-picture.jpg')) { $internPrefix = (string) sConfig()->getVar('CONFIG/REFTRACKER/INTERNALPREFIX'); $user_picture = $internPrefix . 'userimage/' . $objectID . '/48x48?rnd=' . rand(); } else { $user_picture = sApp()->imgpath . 'content/temp_userpic.png'; } $user_company = $userInfo['PROPS']['COMPANY']; $user_name = $userInfo['PROPS']['FIRSTNAME'] . ' ' . $userInfo['PROPS']['LASTNAME']; $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_userInfos[' . $objectID . '] = {name: \'' . $user_name . '\', groups: \'' . $user_roles . '\', pic: \'' . $user_picture . '\', company: \'' . $user_company . '\'}'; break; case 'CLEAR_USERINFOS': $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_userInfos[' . $objectID . '] = null;'; break; case 'CLEAR_REFRESH': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_clearRefresh(\'' . $objectID . '-' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'RELOAD_WINDOW': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_reloadWin(null, \'' . $objectID . '-' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'PAGE_DEACTIVATE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_deActivate(\'page\', \'' . $objectID . '-' . $siteID . '\', \'name\');'; } break; case 'PAGE_ACTIVATE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_activate(\'page\', \'' . $objectID . '-' . $siteID . '\', \'name\');'; } break; case 'PAGE_UNHIDE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHide(\'page\', \'' . $objectID . '-' . $siteID . '\', \'name\');'; } break; case 'PAGE_HIDE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_hide(\'page\', \'' . $objectID . '-' . $siteID . '\', \'name\');'; } break; case 'FILE_DELVIEW': if ($queuedCommandRaw['TEXT']) { $file = sFileMgr()->getFile($objectID); $fileInfo = $file->get(); if ($fileInfo['FOLDER'] == 1) { $isFolder = 'true'; } else { $isFolder = 'false'; } $queuedCommands[$queuedCommandRaw['ID']] = 'if (Koala.yg_delViewArr[' . $queuedCommandRaw['TEXT'] . ']) Koala.yg_delViewArr[' . $queuedCommandRaw['TEXT'] . '](' . $objectID . ', ' . $isFolder . ');'; } break; case 'FILE_CLEAR_DELVIEW': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'if (Koala.yg_delViewArr[' . $queuedCommandRaw['TEXT'] . ']) Koala.yg_delViewArr[' . $queuedCommandRaw['TEXT'] . ']=undefined;'; } break; case 'FILE_ADDVIEW': if ($queuedCommandRaw['TEXT']) { $file = sFileMgr()->getFile($objectID); $fileInfo = $file->get(); $viewInfo = $viewMgr->get($queuedCommandRaw['TEXT']); if ($fileInfo['FOLDER'] == 1) { $isFolder = 'true'; } else { $isFolder = 'false'; } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addView(\'' . $objectID . '\', \'' . $viewInfo['ID'] . '\', \'' . $viewInfo['IDENTIFIER'] . '\', \'' . $viewInfo['NAME'] . '\', \'' . $viewInfo['WIDTH'] . '\', \'' . $viewInfo['HEIGHT'] . '\', \'' . $isFolder . '\');'; } break; case 'FILE_GENERATEDVIEW': if ($queuedCommandRaw['TEXT']) { $file = sFileMgr()->getFile($objectID); $viewInfo = $viewMgr->get($queuedCommandRaw['TEXT']); $generatedViewInfo = $file->views->getGeneratedViewInfo($viewInfo['ID']); if ($generatedViewInfo[0]['TYPE'] == FILE_TYPE_WEBIMAGE) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addGenerated(\'' . $objectID . '\',\'' . $viewInfo['IDENTIFIER'] . '\', \'' . $viewInfo['WIDTH'] . '\', \'' . $viewInfo['HEIGHT'] . '\');'; } else { if ($generatedViewInfo[0]) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addGenerated(\'' . $objectID . '\',\'NULL\');'; } } } break; case 'UNHIGHLIGHT_TEMPLATE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'template\', \'' . $objectID . '-template\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'HIGHLIGHT_PAGE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_hilite(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'UNHIGHLIGHT_PAGE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'HIGHLIGHT_CBLOCK': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_hilite(\'cblock\', \'' . $objectID . '-cblock\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'UNHIGHLIGHT_CBLOCK': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'cblock\', \'' . $objectID . '-cblock\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'UNHIGHLIGHT_ENTRYMASK': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'entrymask\', \'' . $objectID . '-entrymask\', \'' . $queuedCommandRaw['TEXT'] . '\');' . 'Koala.yg_unHilite(\'page\', \'' . $objectID . '-entrymask\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'UNHIGHLIGHT_SITE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'page\', \'' . $objectID . '-site\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'HIGHLIGHT_SITE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_hilite(\'page\', \'' . $objectID . '-site\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'HIGHLIGHT_MAILING': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_hilite(\'mailing\', \'' . $objectID . '-mailing' . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'UNHIGHLIGHT_MAILING': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_unHilite(\'mailing\', \'' . $objectID . '-mailing' . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'PAGE_MOVE': if ($queuedCommandRaw['TEXT']) { if ($queuedCommandRaw['TARGETID'] == 1) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveTreeNode(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\', 2);'; } else { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveTreeNode(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\', 1);'; } } break; case 'PAGE_MOVEUP': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveUp(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'PAGE_MOVEDOWN': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveDown(\'page\', \'' . $objectID . '-' . $siteID . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } break; case 'CBLOCK_MOVE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveTreeNode(\'cblock\', \'' . $objectID . '-cblock\', \'' . $queuedCommandRaw['TEXT'] . '-cblock\', 1);'; } break; case 'FILE_MOVE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveTreeNode(\'file\', \'' . $objectID . '-file\', \'' . $queuedCommandRaw['TEXT'] . '-file\', 1);'; } break; case 'TAG_MOVE': if ($queuedCommandRaw['TEXT']) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_moveTreeNode(\'tag\', \'' . $objectID . '-tag\', \'' . $queuedCommandRaw['TEXT'] . '-tag\', 1);'; } break; case 'TAG_ADD': $objectInfo = $tagMgr->get($objectID); $icon = $icons->icon['tag_small']; $statusClass = ''; if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RWRITE")) { // Nur Leserecht (hellgrau) $statusClass .= " nowrite"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RDELETE")) { // Nur Leserecht (hellgrau) $statusClass .= " nodelete"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RSUB")) { $statusClass .= " nosub"; } $objectName = $objectInfo['NAME']; $objectParents = $tagMgr->getParents($objectID); $parentNodeId = $objectParents[0][0]["ID"]; if ($queuedCommandRaw['NEWVALUE'] == sGuiUS()) { $andSelect = 'true'; } else { $andSelect = 'false'; } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addChild(\'tag\', \'' . $parentNodeId . '-tag\', \'name\', \'' . $objectName . '\', \'tag\', \'' . $objectID . '-tag\', \'name\', \'' . $icon . '\', \'' . $statusClass . '\', ' . $andSelect . ');'; break; case 'FILE_ADD': case 'FILEFOLDER_ADD': $file = sFileMgr()->getFile($objectID); if ($file) { $objectInfo = $file->get(); $icon = $icons->icon['folder']; $statusClass = ''; if ($objectInfo["VERSIONPUBLISHED"] + 2 != $objectInfo["VERSION"] && $objectInfo["VERSIONPUBLISHED"] != ALWAYS_LATEST_APPROVED_VERSION && $objectInfo["HASCHANGED"] == "1") { // Editiert (grün) $statusClass = "changed"; } elseif ($objectInfo["HASCHANGED"] == "1") { $statusClass = "changed"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RWRITE")) { // Nur Leserecht (hellgrau) $statusClass .= " nowrite"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RDELETE")) { // Nur Leserecht (hellgrau) $statusClass .= " nodelete"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RSUB")) { $statusClass .= " nosub"; } $objectName = $objectInfo['NAME']; $objectParents = sFileMgr()->getParents($objectID); $parentNodeId = $objectParents[0][0]["ID"]; if ($queuedCommandRaw['NEWVALUE'] == sGuiUS()) { $andSelect = 'true'; } else { $andSelect = 'false'; } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addChild(\'file\', \'' . $parentNodeId . '-file\', \'name\', \'' . $objectName . '\', \'file\', \'' . $objectID . '-file\', \'name\', \'' . $icon . '\', \'' . $statusClass . '\', ' . $andSelect . ');'; } break; case 'CBLOCK_ADD': $cb = sCblockMgr()->getCblock($objectID); $objectInfo = $cb->get(); $icon = $icons->icon['cblock_small']; $statusClass = ''; if ($objectInfo['FOLDER'] != 1) { if ($objectInfo["VERSIONPUBLISHED"] + 2 != $objectInfo["VERSION"] && $objectInfo["VERSIONPUBLISHED"] != ALWAYS_LATEST_APPROVED_VERSION && $objectInfo["HASCHANGED"] == "1") { // Editiert (grün) $statusClass .= "changed changed1 nosub"; } elseif ($objectInfo["HASCHANGED"] == "1") { $statusClass .= "changed changed2 nosub"; } } else { if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RSUB")) { $statusClass .= " nosub"; } $icon = $icons->icon['folder']; $statusClass .= " folder"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RWRITE")) { // Nur Leserecht (hellgrau) $statusClass .= " nowrite"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RDELETE")) { // Nur Leserecht (hellgrau) $statusClass .= " nodelete"; } $objectName = $objectInfo['NAME']; $objectParents = sCblockMgr()->getParents($objectID); $parentNodeId = $objectParents[0][0]["ID"]; if ($queuedCommandRaw['NEWVALUE'] == sGuiUS() && $queuedCommandRaw['TEXT'] != 'list') { $andSelect = 'true'; } else { $andSelect = 'false'; } if ($queuedCommandRaw['NEWVALUE'] == sGuiUS()) { $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addListItem(\'' . $parentNodeId . '-cblock\', \'' . addslashes(json_encode($objectInfo)) . '\', \'' . $queuedCommandRaw['TEXT'] . '\');'; } $queuedCommands[$queuedCommandRaw['ID']] .= 'Koala.yg_addChild(\'cblock\', \'' . $parentNodeId . '-cblock\', \'name\', \'' . $objectName . '\', \'cblock\', \'' . $objectID . '-cblock\', \'name\', \'' . $icon . '\', \'' . $statusClass . '\', ' . $andSelect . ');'; break; case 'PAGE_ADD': if ($pageObj) { $objectInfo = $pageObj->get(); $icon = $icons->icon['page_small']; $statusClass = ''; $inactive = false; if ($objectInfo["ACTIVE"] == "0") { $icon = $icons->icon['page_inactive_small']; $inactive = true; } $naviinfo = NULL; $navis = $templateMgr->getNavis($objectInfo["TEMPLATEID"]); for ($i = 0; $i < count($navis); $i++) { if ($navis[$i]["ID"] == $objectInfo["NAVIGATIONID"]) { $naviinfo = $navis[$i]; } } if ($objectInfo["HIDDEN"] == "1" || $objectInfo["TEMPLATEID"] == "0" || !$naviinfo['ID']) { $icon = $icons->icon['page_hidden_small']; if ($inactive == true) { $icon = $icons->icon['page_inactive_hidden_small']; } } if ($objectInfo["VERSIONPUBLISHED"] + 2 != $objectInfo["VERSION"] && $objectInfo["VERSIONPUBLISHED"] != ALWAYS_LATEST_APPROVED_VERSION && $objectInfo["HASCHANGED"] == "1") { // Editiert (grün) $statusClass = "changed"; } elseif ($objectInfo["HASCHANGED"] == "1") { $statusClass = "changed"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RWRITE")) { // Nur Leserecht (hellgrau) $statusClass .= " nowrite"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RDELETE")) { // Nur Leserecht (hellgrau) $statusClass .= " nodelete"; } if (!$permissionsObj->checkInternal(sUserMgr()->getCurrentUserID(), $objectID, "RSUB")) { $statusClass .= " nosub"; } $objectName = $objectInfo['NAME']; $objectParents = $pageMgr->getParents($objectID); $parentNodeId = $objectParents[0][0]["ID"]; if (!$parentNodeId) { $parentNodeId = 1; } $url = $pageObj->getUrl(); if ($queuedCommandRaw['NEWVALUE'] == sGuiUS()) { $andSelect = 'true'; } else { $andSelect = 'false'; } $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_addChild(\'page\', \'' . $parentNodeId . '-' . $siteID . '\', \'name\', \'' . $objectName . '\', \'page\', \'' . $objectID . '-' . $siteID . '\', \'name\', \'' . $icon . '\', \'' . $statusClass . '\', ' . $andSelect . ', \'' . $url . '\');' . "\n"; } break; case 'MAILING_ADD': $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshMailingsWindow();' . "\n"; break; case 'MAILING_DELETE': $queuedCommands[$queuedCommandRaw['ID']] = 'Koala.yg_refreshMailingsWindow(true);' . "\n"; break; default: $queuedCommands[$queuedCommandRaw['ID']] = stripslashes($queuedCommandRaw['OLDVALUE']) . "\n"; break; } } } } if (count($queuedCommandsRaw)) { $currentQueueId = $queuedCommandsRaw[count($queuedCommandsRaw) - 1]['ID']; } } $output = "\n<script>\n"; $output .= "parent.Koala.currentGuiSyncHistoryId = " . $currentQueueId . ";\n"; $output .= "parent.Koala.yg_executeGuiJSQueue( " . json_encode($queuedCommands) . " );\n"; $output .= "</script>\n"; print $output; }
<?php $ygid = $this->request->parameters['yg_id']; $refresh = $this->request->parameters['refresh']; $data = explode('-', $ygid); $pageID = $data[0]; $siteID = $data[1]; $templateMgr = new Templates(); $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($pageID); $pageInfo = $page->get(); $pageInfo['RWRITE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $pageID, "RWRITE"); $pageInfo['RSTAGE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $pageID, "RSTAGE"); if ($pageInfo['DELETED']) { $pageInfo['RWRITE'] = false; $pageInfo['READONLY'] = true; $pageInfo['RSTAGE'] = false; } // Get current locks for this token (and unlock them) $lockToken = sGuiUS() . '_' . $this->request->parameters['win_no']; $lockedObjects = $pageMgr->getLocksByToken($lockToken); foreach ($lockedObjects as $lockedObject) { $currentObject = $pageMgr->getPage($lockedObject['OBJECTID']); $currentObject->releaseLock($lockedObject['TOKEN']); } // Check for lock, and lock if not locked $lockStatus = $page->getLock(); if ($lockStatus['LOCKED'] == 0) { $lockedFailed = !$page->acquireLock($lockToken); } else { $lockedFailed = true;
<?php $siteID = $this->request->parameters["site"]; $pageID = $this->request->parameters["page"]; $action = $this->request->parameters["action"]; $template = (int) sanitize($this->request->parameters["template"]); $templateMgr = new Templates(); if ($template == 0 && $siteID && $pageID) { if ($siteID == "mailing") { $mailingMgr = new MailingMgr(); $mailing = $mailingMgr->getMailing($pageID); $mailingInfo = $mailing->get(); $template = $mailingInfo["TEMPLATEID"]; } else { $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($pageID); $pageInfo = $page->get(); $template = $pageInfo["TEMPLATEID"]; } } else { $template = (int) sanitize($this->request->parameters["template"]); } if ($template != 0) { $templateInfo = $templateMgr->getTemplate($template); $templateInfo["PREVIEWPATH"] = $templateMgr->getPreviewPath($template); } else { $templateInfo = false; } $smarty->assign("templateInfo", $templateInfo); $smarty->assign("mode", sanitize($this->request->parameters["mode"])); $smarty->display("file:" . getrealpath($this->page_template));
/** * Gets all published Pages linked to this Cblock * * @param bool $onlyPublished TRUE if only published Pageversions should be returned (optional) * @return array|false Array of linked Pages or FALSE in case of an error */ function getLinkedPages($onlyPublished = false) { $cbId = $this->_id; if ($this->permissions->checkInternal($this->_uid, $cbId, "RREAD")) { $siteMgr = new Sites(); $sites = $siteMgr->getList(); $a = 0; for ($i = 0; $i < count($sites); $i++) { $linkedtosite = $this->getLinkedPageVersions($sites[$i]['ID'], true); if (count($linkedtosite) > 0) { for ($x = 0; $x < count($linkedtosite); $x++) { $linkpageid = $linkedtosite[$x]['ID']; $PageMgr = new PageMgr($sites[$i]['ID']); $linkpageparents = $PageMgr->getParents($linkpageid); $p = $PageMgr->getPage($linkpageid); $pageversions = $p->getVersionsByCblockId($cbId); $linkedPageInfo = $p->get(); $linkedpages[$a]['SITEID'] = $sites[$i]['ID']; $linkedpages[$a]['SITENAME'] = $sites[$i]['NAME']; $linkedpages[$a]['PAGEID'] = $linkpageid; $linkedpages[$a]['PAGENAME'] = $linkedPageInfo['NAME']; $linkedpages[$a]['HASCHANGED'] = $linkedtosite[$x]['HASCHANGED']; $linkedpages[$a]['PARENTS'] = $linkpageparents; if ($onlyPublished) { $tmpVersion = $p->getPublishedVersion(true); $linkedpages[$a]['VERSION'] = $tmpVersion; $linkedInPublishedVersion = false; foreach ($pageversions as $pageversionsItem) { if ($pageversionsItem['VERSION'] == $tmpVersion) { $linkedInPublishedVersion = true; } } if (!$linkedInPublishedVersion) { unset($linkedpages[$a]); } else { $a++; } } else { $linkedpages[$a]['VERSIONS'] = $pageversions; $a++; } } } } return $linkedpages; } else { return false; } }
$commentsObject = new Comments(); $commentsCount = $commentsObject->getAllCommentsCount($filterArray); // for paging $pageDirInfo = calcPageDir($commentsCount, 'created'); // X $pageDirOrderBy = $pageDirInfo['pageDirOrderBy']; $pageDirLimit = $pageDirInfo['pageDirLimit']; // END for paging $assignedComments = $commentsObject->getAllComments($filterArray, $pageDirLimit); $fileMgr = sFileMgr(); foreach ($assignedComments as $assignedCommentIdx => $assignedComment) { switch ($assignedComment['OBJECTTYPE']) { case 'PAGE': $PageMgr = new PageMgr($assignedComment['SITEID']); $assignedComments[$assignedCommentIdx]['PARENTS'] = $PageMgr->getParents($assignedComment['OBJECTID']); $cPage = $PageMgr->getPage($assignedComment['OBJECTID']); $cPageInfo = $cPage->get(); $cPageInfo['RWRITE'] = $cPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $assignedComment['OBJECTID'], "RWRITE"); $cPageInfo['RDELETE'] = $cPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $assignedComment['OBJECTID'], "RDELETE"); $assignedComments[$assignedCommentIdx]['PAGEINFO'] = $cPageInfo; $iconData = getIconForPage($cPageInfo); $assignedComments[$assignedCommentIdx]['ICON'] = $iconData['iconclass']; $assignedComments[$assignedCommentIdx]['STYLE'] = $iconData['style']; $assignedComments[$assignedCommentIdx]['HASCHANGED'] = $assignedComments[$assignedCommentIdx]['HASCHANGED']; $assignedComments[$assignedCommentIdx]['RMODERATE'] = $cPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $assignedComment['OBJECTID'], 'RMODERATE'); $assignedComments[$assignedCommentIdx]['RCOMMENT'] = $cPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $assignedComment['OBJECTID'], 'RCOMMENT'); $commentsObject = $cPage->comments; break; case 'CO': $assignedComments[$assignedCommentIdx]['PARENTS'] = sCblockMgr()->getParents($assignedComment['OBJECTID']); array_pop($assignedComments[$assignedCommentIdx]['PARENTS']);
$tmpFile = sFileMgr()->File($link_file); if ($tmpFile) { $link_fileinfo = $tmpFile->get(); $objectdynprops[$objectdynprops_cnt]['LINKTITLE'] = $link_fileinfo['NAME']; $link_filetype = $filetypeMgr->get($link_fileinfo['FILETYPE']); $objectdynprops[$objectdynprops_cnt]['FILEIDENTIFIER'] = $link_filetype['IDENTIFIER']; $objectdynprops[$objectdynprops_cnt]['FILEABBREVIATION'] = $link_filetype['CODE']; $objectdynprops[$objectdynprops_cnt]['FILECOLOR'] = $link_filetype['COLOR']; $objectdynprops[$objectdynprops_cnt]['FILE_ID'] = $link_file; } } } else { $link_site = $internal[3][0]; $link_page = str_replace('/', '', $internal[5][0]); $pageMgr = new PageMgr($link_site); $tmpPage = $pageMgr->getPage($link_page); $link_pageInfo = $tmpPage->get(); if ($siteID != 'cblock') { } $objectdynprops[$objectdynprops_cnt]['LINKTITLE'] = $link_pageInfo['NAME']; $objectdynprops[$objectdynprops_cnt]['IS_INTERNAL'] = true; } } elseif (substr($objectdynprops[$objectdynprops_cnt]['VALUE'], 0, 7) == 'mailto:') { $objectdynprops[$objectdynprops_cnt]['IS_EMAIL'] = true; $objectdynprops[$objectdynprops_cnt]['LINKTITLE'] = substr($objectdynprops[$objectdynprops_cnt]['VALUE'], 7); } else { $linkInfo = checkLinkInternalExternal($objectdynprops[$objectdynprops_cnt]['VALUE']); switch ($linkInfo['TYPE']) { case 'external': $objectdynprops[$objectdynprops_cnt]['LINKTITLE'] = $objectdynprops[$objectdynprops_cnt]['VALUE']; break;
$mailingInfo['RDELETE'] = $mailing->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $tagged_mailing_item['OBJECTID'], "RDELETE"); $styleData = getStyleForContentblock($mailingInfo, true); array_pop($pr); $objectparents = $pr; array_push($incoming_mailings, array('ID' => $mailingInfo['OBJECTID'], 'STYLE' => $styleData, 'NAME' => $mailingInfo['NAME'], 'PARENTS' => $objectparents)); } // Get all sites $sites = sSites()->getList(); foreach ($sites as $currentSite) { // Get all pages with this tag $pageMgr = new PageMgr($currentSite['ID']); $filterArray = array(); $filterArray[] = array('TYPE' => 'DELETED', 'OPERATOR' => 'is_not', 'VALUE' => 1); $tagged_pages = $pageMgr->tags->getByTag($tag_id, "OBJECTORDER DESC", "OR", false, $filterArray); foreach ($tagged_pages as $tagged_page_item) { $page = $pageMgr->getPage($tagged_page_item['OBJECTID']); if ($page) { $lpv = $page->getPublishedVersion(true); $page = $pageMgr->getPage($tagged_page_item['OBJECTID'], $lpv); $pageInfo = $page->get(); $pr = $pageMgr->getParents($tagged_page_item['OBJECTID']); $pageInfo['RWRITE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $tagged_page_item['OBJECTID'], "RWRITE"); $pageInfo['RDELETE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $tagged_page_item['OBJECTID'], "RDELETE"); $iconData = getIconForPage($pageInfo); array_pop($pr); $objectparents = $pr; array_push($incoming_pages, array('ID' => $tagged_page_item['OBJECTID'], 'SITEID' => $currentSite['ID'], 'ICON' => $iconData['iconclass'], 'STYLE' => $iconData['style'], 'NAME' => $pageInfo['NAME'], 'PARENTS' => $objectparents, 'SITENAME' => $currentSite['NAME'])); } } } $smarty->assign("incoming_files", $incoming_files);
/** * Removes this Extension from the specified Page * * @param string $pageID Page Id * @param string $version Page version * @param string $siteID Site Id * @return bool TRUE on success or FALSE in case of an error * @throws Exception */ public function removeFromPage($pageID, $version, $siteID) { $siteID = (int) $siteID; $pageID = (int) $pageID; $version = (int) $version; $sql = "DELETE FROM yg_extensions_lnk_pages WHERE CODE = ? AND SITEID = ? AND PAGEID = ? AND PAGEVERSION = ?;"; $result = sYDB()->Execute($sql, $this->_code, $siteID, $pageID, $version); if ($result === false) { throw new Exception(sYDB()->ErrorMsg()); } $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($pageID, $version); if ($page) { $page->markAsChanged(); } return true; }
$siteID = $siteID[1]; $pageMgr = new PageMgr($siteID); $trashedObjects = $pageMgr->getList(0, array('TRASHCAN'), 0, 0, $filterArray); // for paging $pageDirInfo = calcPageDir(count($trashedObjects), 'prop.CHANGEDTS', 'DESC'); $pageDirOrderBy = $pageDirInfo['pageDirOrderBy']; $pageDirOrderDir = $pageDirInfo['pageDirOrderDir']; $pageDirLimit = explode(',', $pageDirInfo['pageDirLimit']); $pageDirLimitFrom = $pageDirLimit[0]; $pageDirLimitLength = $pageDirLimit[1]; // END for paging $filterArray[] = array('TYPE' => 'LIMITER', 'VALUE' => $pageDirLimitFrom, 'VALUE2' => $pageDirLimitLength); $filterArray[] = array('TYPE' => 'ORDER', 'VALUE' => $pageDirOrderBy, 'VALUE2' => $pageDirOrderDir); $trashedObjects = $pageMgr->getList(0, array('TRASHCAN'), 0, 0, $filterArray); foreach ($trashedObjects as $trashedObjectIdx => $trashedObject) { $page = $pageMgr->getPage($trashedObject['ID']); $lastHistory = $page->history->getChanges(1); $trashedObjects[$trashedObjectIdx]['PARENTS'] = $pageMgr->getParents($trashedObject['ID']); $trashedObjects[$trashedObjectIdx]['SITE'] = $siteID; $trashedObjects[$trashedObjectIdx]['LASTCHANGE'] = $lastHistory; // Get permissions and style and icon for page $tPageInfo = $page->get(); $tPageInfo['RWRITE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $history[$i]['OID'], "RWRITE"); $tPageInfo['RDELETE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $history[$i]['OID'], "RDELETE"); $trashedObjects[$trashedObjectIdx]['PAGEINFO'] = $tPageInfo; $iconData = getIconForPage($tPageInfo); $trashedObjects[$trashedObjectIdx]['ICON'] = $iconData['iconclass']; $trashedObjects[$trashedObjectIdx]['STYLE'] = $iconData['style']; // Get information for creator if ($trashedObject['CREATEDBY']) { $user = new User($trashedObject['CREATEDBY']);
if ($version == 'working' || $versionCookie == 'working' && $version != 'live') { if ($version == 'working' || !isset($version)) { $version = 'null'; } // Set Cookie $this->session->setCookie('version', 'working'); $this->displaymode = "working"; } else { // Delete Cookie $this->session->removeCookie("version"); if ($version == "live") { unset($version); } $this->displaymode = "live"; } $page = $pageMgr->getPage($pageID, $version); // check if no permissions if (!$page) { sUserMgr()->impersonate(sUserMgr()->getAdministratorID()); $tmpPageMgr = new PageMgr($siteID); $tmpPage = $tmpPageMgr->getPublishedPage($pageID); if (!$tmpPage) { throwErrorPage('404'); } $tmpPageinfo = $tmpPage->get(); // Call callback $pageMgr->callExtensionHook("onAccessDenied", $siteID, $pageID, $tmpPageinfo['VERSION'], array("FILTER" => $filter, "CONTENTAREAS" => &$inhalte)); sUserMgr()->unimpersonate(); // Throw status 403 throwErrorPage('403'); }
/** * Gets a list of all Sites * * @param bool $skipPermissions (optional) TRUE if no permissions should be checked * @return array|bool Array of Site names with Ids * @throws Exception */ function getList($skipPermissions = false) { $sql = "SELECT\n\t\t\t\t\t*\n\t\t\t\tFROM\n\t\t\t\t\tyg_site\n\t\t\t\tORDER BY NAME;"; $result = sYDB()->Execute($sql); if ($result === false) { throw new Exception(sYDB()->ErrorMsg()); } $sites = $result->GetArray(); if ($skipPermissions) { return $sites; } $resultarray = array(); for ($s = 0; $s < count($sites); $s++) { $siteID = $sites[$s]["ID"]; $pageMgr = new PageMgr($siteID); $sitePages = $pageMgr->tree->get(0, 1); $pageID = $sitePages[0]["ID"]; $page = $pageMgr->getPage($pageID); if ($page && $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $pageID, "RREAD")) { $resultarray[] = $sites[$s]; } } return $resultarray; }
$tempformfield['FORMFIELD'] = 11; break; case 'DATETIME': $tempformfield['FORMFIELD'] = 12; break; case 'HEADLINE': $tempformfield['FORMFIELD'] = 13; break; case 'CUTLINE': $tempformfield['FORMFIELD'] = 14; break; case 'PAGE': $tempformfield['FORMFIELD'] = 15; if ($props[$c]['VALUE']['site'] && $props[$c]['VALUE']['page']) { $tmpPageMgr = new PageMgr($props[$c]['VALUE']['site']); $tmpPage = $tmpPageMgr->getPage($props[$c]['VALUE']['page']); $info = $tmpPage->get(); $info['RWRITE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $props[$c]['VALUE']['page'], "RWRITE"); $info['RDELETE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $props[$c]['VALUE']['page'], "RDELETE"); $iconData = getIconForPage($info); $tempformfield['ICON'] = $iconData['iconclass']; $tempformfield['STYLE'] = $iconData['style']; $tempformfield['DISPLAYNAME'] = $info['NAME']; } break; } $tempformfield['ENTRYMASKFORMFIELD'] = $tempformfield['FORMFIELD']; array_push($tempformfields, $tempformfield); } } $ex['ENTRYMASKS'][0]['FORMFIELDS'] = $tempformfields;
// Get links to pages $a = 0; $linkedpages = array(); $cbb = sCblockMgr()->getCblock($contentblock_blind['OBJECTID']); $cbbVersions = $cbb->getVersions(); foreach ($cbbVersions as $cbbVersion) { $cbv = sCblockMgr()->getCblock($contentblock_blind['OBJECTID'], $cbbVersion['VERSION']); for ($i = 0; $i < count($sites); $i++) { $linkedtosite = $cbv->getLinkedPageVersions($sites[$i]["ID"], false, true); if (count($linkedtosite) > 0) { for ($x = 0; $x < count($linkedtosite); $x++) { $linkpageid = $linkedtosite[$x]["ID"]; $lThePageMgr = new PageMgr($sites[$i]["ID"]); $linkpageparents = $lThePageMgr->getParents($linkpageid); array_pop($linkpageparents); $lPage = $lThePageMgr->getPage($linkpageid); if ($lPage) { $pageversions = $lPage->getVersionsByCblockId($co); $linkedPageInfo = $lPage->get(); $addToArray = true; foreach ($linkedpages as $linkedpagesItem) { if ($linkedpagesItem['PAGEID'] == $linkpageid && $linkedpagesItem['SITEID'] == $sites[$i]["ID"]) { $addToArray = false; } } if ($addToArray) { $linkedpages[$a]["SITEID"] = $sites[$i]["ID"]; $linkedpages[$a]["SITENAME"] = $sites[$i]["NAME"]; $linkedpages[$a]["PAGEID"] = $linkpageid; $linkedpages[$a]["HASH"] = $sites[$i]["ID"] . '-' . $linkpageid; $linkedpages[$a]["PAGENAME"] = $linkedPageInfo["NAME"];
} $leadingLines = $this->request->parameters['leadingLines']; $leadingLinesArray = array(); for ($i = 0; $i < strlen($leadingLines); $i++) { array_push($leadingLinesArray, substr($leadingLines, $i, 1)); } $yg_id = explode('-', $yg_id); $obj_id = $yg_id[0]; $siteID = $yg_id[1]; $maxlevels = 5; switch ($yg_type) { case 'pages': sUserMgr()->impersonate(sUserMgr()->getAdministratorID()); $icons = new Icons(); $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($obj_id); if ($page) { $base = $page->get(); $maxlevels = $base['LEVEL'] + 2; $objects = $pageMgr->getList($obj_id, array('SUBNODES'), $maxlevels, $roleid); $objects = $pageMgr->getAdditionalTreeInfo(false, $objects); foreach ($objects as $objectIndex => $object_item) { $iconData = getIconForPage($object_item); $objects[$objectIndex]['ICON'] = $iconData['iconclass']; $objects[$objectIndex]['STYLE'] = $iconData['style']; $objects[$objectIndex]['SITEID'] = $siteID; } } sUserMgr()->unimpersonate(); break; case 'cblocks':
case 'addPageContentblock': $pageID = $this->params['page']; $siteID = $this->params['site']; if ($siteID == 'mailing') { // For mailings $myMgr = new MailingMgr(); $myObject = $myMgr->getMailing($pageID); $myObjectInfo = $myObject->get(); $historyType = HISTORYTYPE_MAILING; $historyStr = "MAILING"; $myQueue = new JSQueue(NULL); //$myObject->setStatus('UNSENT'); } else { // For pages $myMgr = new PageMgr($siteID); $myObject = $myMgr->getPage($pageID); $myObjectInfo = $myObject->get(); $historyType = HISTORYTYPE_PAGE; $historyStr = "PAGE"; $myQueue = new JSQueue(NULL, $siteID); } $contentblockID = $this->params['contentblockId']; $cb = sCblockMgr()->getCblock($contentblockID); $contentarea = $this->params['contentareaID']; $parentwindow = $this->params['openerRefID']; $refresh = $this->params['refresh']; $target_id = $this->params['targetId']; $target_pos = $this->params['targetPosition']; $copymode = $this->params['copymode']; $templateMgr = new Templates(); $entrymaskMgr = new Entrymasks();
$refresh = $this->request->parameters['refresh']; $template = explode('-', $ygid); $template = $template[0]; $icons = new Icons(); $sites = sSites()->getList(); $all_pages = array(); foreach ($sites as $curr_site) { $pageMgr = new PageMgr($curr_site['ID']); $pages = $pageMgr->getPagesByTemplate($template); if (count($pages) > 0) { foreach ($pages as $curr_idx => $curr_page) { $parents = $pageMgr->getParents($curr_page['ID']); $pages[$curr_idx]['PARENTS'] = $parents; $pages[$curr_idx]['SITE'] = $curr_site['ID']; $pages[$curr_idx]['SITENAME'] = $curr_site['NAME']; $tmpPage = $pageMgr->getPage($curr_page['ID']); $tmpPageInfo = $tmpPage->get(); $tmpPageInfo['RWRITE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $curr_page['ID'], "RWRITE"); $tmpPageInfo['RDELETE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $curr_page['ID'], "RDELETE"); $pages[$curr_idx]['PAGEINFO'] = $tmpPageInfo; $iconData = getIconForPage($tmpPageInfo); $pages[$curr_idx]['ICON'] = $iconData['iconclass']; $pages[$curr_idx]['STYLE'] = $iconData['style']; $pages[$curr_idx]['HASCHANGED'] = $tmpPageInfo['HASCHANGED']; } $all_pages = array_merge($all_pages, $pages); } } $all_mailings = array(); $mailings = sMailingMgr()->getMailingsByTemplate($template); if (count($mailings) > 0) {
// Add to history $cb->history->add(HISTORYTYPE_CO, NULL, NULL, "TXT_TAG_H_TAGORDER", NULL); break; case 'file': // For Files // For Files case 'filefolder': $file = sFileMgr()->getFile($objectid); $fileinfo = $file->get(); for ($i = 0; $i < count($taglist); $i++) { $file->tags->setOrder($taglist[$i], $i); } // Add to history $file->history->add(HISTORYTYPE_FILE, NULL, NULL, "TXT_TAG_H_TAGORDER", NULL); break; case 'page': // For Pages $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($objectid); $pageInfo = $page->get(); $jsQueue = new JSQueue(NULL, $siteID); for ($i = 0; $i < count($taglist); $i++) { $page->tags->setOrder($taglist[$i], $i); } // Add to history $page->history->add(HISTORYTYPE_PAGE, NULL, NULL, "TXT_TAG_H_TAGORDER", NULL); $jsQueue->add($objectid, HISTORYTYPE_PAGE, 'HIGHLIGHT_PAGE', sGuiUS(), 'name'); break; } break; }
} $autopublish = sCblockMgr()->scheduler->getSchedule($cblockID, 'SCH_AUTOPUBLISH'); $onlineversion = $cb->getPublishedVersion(); $latestversion = $cb->getLatestApprovedVersion(); if (!$latestversion) { $latestversion = 1; $neverpublished = true; } $latestfinalcb = sCblockMgr()->getCblock($cblockID, $latestversion); $latestversioninfo = $latestfinalcb->get(); break; case 'page': $pageID = $data[0]; $siteID = $data[1]; $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($pageID); $objectInfo = $page->get(); $objectInfo['RSTAGE'] = $page->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $pageID, "RSTAGE"); $objectInfo['NOSTAGE'] = !$objectInfo['RSTAGE']; if ($objectInfo['DELETED']) { $objectInfo['RSTAGE'] = false; $objectInfo['NOSTAGE'] = true; } // Get current locks for this token (and unlock them) $lockToken = sGuiUS() . '_' . $this->request->parameters['win_no']; $lockedObjects = $pageMgr->getLocksByToken($lockToken); foreach ($lockedObjects as $lockedObject) { $currentObject = $pageMgr->getPage($lockedObject['OBJECTID']); $currentObject->releaseLock($lockedObject['TOKEN']); } // Check for lock, and lock if not locked
$fileinfo["VIEWWIDTH"] = $views[$i]["WIDTH"]; $fileinfo["CONSTRAINWIDTH"] = $views[$i]["CONSTRAINWIDTH"]; $fileinfo["VIEWHEIGHT"] = $views[$i]["HEIGHT"]; $fileinfo["CONSTRAINHEIGHT"] = $views[$i]["CONSTRAINHEIGHT"]; $fileinfo["HEIGHT"] = $viewinfo[0]["HEIGHT"]; } } $smarty->assign("url", $url); $smarty->assign("crop", $crop); $smarty->assign('fileinfo', $fileinfo); $smarty->assign('zoom', $zoom); $smarty->assign('views', $views); } elseif ($objecttype == "page") { $siteID = $this->request->parameters['site']; $pagemgr = new PageMgr($siteID); $page = $pagemgr->getPage($id); $pageInfo = $page->get(); $name = $pageInfo["NAME"]; $url = $page->getUrl(); $versions = $page->getVersions(); if (!$version || $version == 'live') { $version = $page->getPublishedVersion(true); } else { if ($version == "working") { $version = $versions[0]["VERSION"]; } } $smarty->assign("url", $url); } elseif ($objecttype == "mailing") { $mailingMgr = new MailingMgr(); $mailing = $mailingMgr->getMailing($id);
} break; case 'removeComment': $winID = $this->params['winID']; $commentIDs = $this->params['commentIDs']; $objectYGID = $this->params['yg_id']; $objectType = $this->params['yg_type']; $confirmed = $this->params['confirmed']; $positive = $this->params['positive']; $objectYGID = explode('-', $objectYGID); $siteID = $objectYGID[1]; $objectID = $objectYGID[0]; switch ($objectType) { case 'page': $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($objectID); $objectInfo = $page->get(); $commentsObject = $page->comments; $historyObject = $page->history; $historyType = HISTORYTYPE_PAGE; break; case 'file': $file = sFileMgr()->getFile($objectID); $objectInfo = $file->get(); $commentsObject = $file->comments; $historyObject = $file->history; $historyType = HISTORYTYPE_FILE; break; case 'cblock': $cb = sCblockMgr()->getCblock($objectID); $objectInfo = $cb->get();
/** * Moves this Page to the trashcan * * @return array Array with all elements which were successfully deleted */ function delete() { $pageID = (int) $this->_id; $pageMgr = new PageMgr($this->getSite()); $rootNode = $pageMgr->tree->getRoot(); if ($pageID == $rootNode) { return array(); } // Check if object is a folder $successNodes = array(); $subNodes = $pageMgr->getTree($pageID, 1000, false, true); if (count($subNodes) > 0) { array_shift($subNodes); foreach ($subNodes as $subNode) { if ($this->permissions->checkInternal($this->_uid, $subNode['ID'], "RDELETE")) { $page = $pageMgr->getPage($subNode['ID']); $successfullyDeleted = $page->delete(); if (in_array($subNode['ID'], $successfullyDeleted) === true) { foreach ($successfullyDeleted as $successfullyDeletedItem) { $successNodes[] = $successfullyDeletedItem; } } } } } if ($this->permissions->checkInternal($this->_uid, $pageID, "RDELETE")) { // Move to root level $pageMgr->tree->moveTo($pageID, $rootNode); // Set to "DELETED" $sql = "UPDATE yg_site_" . $this->_site . "_properties SET DELETED = 1 WHERE OBJECTID = ?;"; sYDB()->Execute($sql, $pageID); $successNodes[] = $pageID; $pageMgr->callExtensionHook("onDelete", $this->getSite(), $this->_id, $version); } if (Singleton::cache_config()->getVar("CONFIG/INVALIDATEON/PAGE_DELETE") == "true") { Singleton::FC()->emptyBucket(); } return $successNodes; }
function getAdditionalFormfieldData(&$controlFormfields) { $entrymaskMgr = new Entrymasks(); $tagMgr = new Tags(); $filetypeMgr = new Filetypes(); for ($w = 0; $w < count($controlFormfields); $w++) { $controlFormfields[$w]['LVALUES'] = NULL; $controlFormfields[$w]['DISPLAYNAME'] = NULL; // Date & Datetime if ($controlFormfields[$w]['TYPE'] == 'DATE' || $controlFormfields[$w]['TYPE'] == 'DATETIME') { if ($controlFormfields[$w]['VALUE']) { $controlFormfields[$w]['VALUE'] = TStoLocalTS($controlFormfields[$w]['VALUE']); } } // Link if ($controlFormfields[$w]['TYPE'] == 'LINK') { $special_url = resolveSpecialURL($controlFormfields[$w]['URL']); if ($special_url !== false) { $special_url_info = getSpecialURLInfo($controlFormfields[$w]['VALUE01']); if ($special_url_info['TYPE'] == 'IMG' || $special_url_info['TYPE'] == 'DOWN') { $controlFormfields[$w]['IS_FILE'] = true; $file = sFileMgr()->getFile($special_url_info['ID']); $link_fileinfo = $file->get(); $controlFormfields[$w]['DISPLAYNAME'] = $link_fileinfo['NAME']; $link_filetype = $filetypeMgr->get($link_fileinfo['FILETYPE']); $controlFormfields[$w]['IDENTIFIER'] = $link_filetype['IDENTIFIER']; $controlFormfields[$w]['TYPECODE'] = $link_filetype['CODE']; $controlFormfields[$w]['COLOR'] = $link_filetype['COLOR']; $controlFormfields[$w]['FILE_ID'] = $special_url_info['ID']; } else { $pageMgr = new PageMgr($special_url_info['SITE']); $page = $pageMgr->getPage($special_url_info['ID']); $link_pageInfo = $page->get(); $controlFormfields[$w]['DISPLAYNAME'] = $link_pageInfo['NAME']; $controlFormfields[$w]['IS_INTERNAL'] = true; } } else { if (preg_match_all(sApp()->URLRegEx1, $controlFormfields[$w]['VALUE01'], $internal) > 0) { if ($internal[2][0] == 'download') { $controlFormfields[$w]['IS_FILE'] = true; $link_file = str_replace('/', '', $internal[3][0]); $file = sFileMgr()->getFile($link_file); $link_fileinfo = $file->get(); $controlFormfields[$w]['DISPLAYNAME'] = $link_fileinfo['NAME']; $link_filetype = $filetypeMgr->get($link_fileinfo['FILETYPE']); $controlFormfields[$w]['IDENTIFIER'] = $link_filetype['IDENTIFIER']; $controlFormfields[$w]['TYPECODE'] = $link_filetype['CODE']; $controlFormfields[$w]['COLOR'] = $link_filetype['COLOR']; $controlFormfields[$w]['FILE_ID'] = $link_file; } else { $link_site = $internal[3][0]; $link_page = str_replace('/', '', $internal[5][0]); $pageMgr = new PageMgr($link_site); $page = $pageMgr->getPage($link_page); $link_pageInfo = $page->get(); $controlFormfields[$w]['DISPLAYNAME'] = $link_pageInfo['NAME']; $controlFormfields[$w]['IS_INTERNAL'] = true; } } elseif (substr($controlFormfields[$w]['URL'], 0, 7) == 'mailto:') { $controlFormfields[$w]['IS_EMAIL'] = true; } else { $linkInfo = checkLinkInternalExternal($controlFormfields[$w]['URL']); switch ($linkInfo['TYPE']) { case 'external': $controlFormfields[$w]['DISPLAYNAME'] = $controlFormfields[$w]['URL']; break; case 'internal': $controlFormfields[$w]['DISPLAYNAME'] = $linkInfo['NAME']; $controlFormfields[$w]['IS_INTERNAL'] = true; break; case 'file': $controlFormfields[$w]['IS_FILE'] = true; $controlFormfields[$w]['DISPLAYNAME'] = $linkInfo['NAME']; $controlFormfields[$w]['IDENTIFIER'] = $linkInfo['INFO']['IDENTIFIER']; $controlFormfields[$w]['TYPECODE'] = $linkInfo['INFO']['CODE']; $controlFormfields[$w]['COLOR'] = $linkInfo['INFO']['COLOR']; $controlFormfields[$w]['FILE_ID'] = $linkInfo['INFO']['FILE_ID']; break; } } } } // File if ($controlFormfields[$w]['TYPE'] == 'FILE') { if (trim($controlFormfields[$w]['FILE_ID'])) { $file = sFileMgr()->getFile($controlFormfields[$w]['FILE_ID']); if ($file) { $fileInfo = $file->get(); $controlFormfields[$w]['DISPLAYNAME'] = $fileInfo['NAME']; $controlFormfields[$w]['IDENTIFIER'] = $fileInfo['IDENTIFIER']; $controlFormfields[$w]['TYPECODE'] = $fileInfo['CODE']; $controlFormfields[$w]['COLOR'] = $fileInfo['COLOR']; } } } // File if ($controlFormfields[$w]['TYPE'] == 'FILEFOLDER') { if (trim($controlFormfields[$w]['FILE_ID'])) { $file = sFileMgr()->getFile($controlFormfields[$w]['FILE_ID']); if ($file) { $fileInfo = $file->get(); $controlFormfields[$w]['DISPLAYNAME'] = $fileInfo['NAME']; } } } // Contentblock if ($controlFormfields[$w]['TYPE'] == 'CO') { if (trim($controlFormfields[$w]['CBLOCK_ID'])) { $cb = sCblockMgr()->getCblock($controlFormfields[$w]['CBLOCK_ID']); $info = $cb->get(); $controlFormfields[$w]['DISPLAYNAME'] = $info['NAME']; } } // Tag if ($controlFormfields[$w]['TYPE'] == 'TAG') { if (trim($controlFormfields[$w]['TAG_ID'])) { $info = $tagMgr->get($controlFormfields[$w]['TAG_ID']); $controlFormfields[$w]['DISPLAYNAME'] = $info['NAME']; } } // Page if ($controlFormfields[$w]['TYPE'] == 'PAGE') { if (trim($controlFormfields[$w]['SITE_ID']) && trim($controlFormfields[$w]['PAGE_ID'])) { $tmpPageMgr = new PageMgr($controlFormfields[$w]['SITE_ID']); $tmpPage = $tmpPageMgr->getPage($controlFormfields[$w]['PAGE_ID']); $info = $tmpPage->get(); $info['RWRITE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $controlFormfields[$w]['PAGE_ID'], "RWRITE"); $info['RDELETE'] = $tmpPage->permissions->checkInternal(sUserMgr()->getCurrentUserID(), $controlFormfields[$w]['PAGE_ID'], "RDELETE"); $iconData = getIconForPage($info); $controlFormfields[$w]['ICON'] = $iconData['iconclass']; $controlFormfields[$w]['STYLE'] = $iconData['style']; $controlFormfields[$w]['DISPLAYNAME'] = $info['NAME']; } } // List if ($controlFormfields[$w]['TYPE'] == 'LIST') { if (trim($controlFormfields[$w]['ENTRYMASKFORMFIELD'])) { $controlFormfields[$w]['LIST_VALUES'] = $entrymaskMgr->getListValuesByLinkID($controlFormfields[$w]['ENTRYMASKFORMFIELD']); } } } }