$data = explode('-', $this->reponsedata['null']->yg_id); $pageID = $data[0]; $siteID = $data[1]; } if ($pageID && $siteID) { $pageMgr = new PageMgr($siteID); $page = $pageMgr->getPage($pageID); $pageInfo = $page->get(); $jsQueue = new JSQueue(NULL, $siteID); } switch ($action) { case 'checkSpecialLinkType': $url = $this->params['url']; $result = getSpecialURLInfo($url); if (!$result) { $result = getSpecialURLInfo(createSpecialURLfromShortURL($url)); } echo json_encode($result); break; case 'checkLinkExternal': $url = $this->params['url']; $result = checkLinkInternalExternal($url); if ($result['TYPE'] == 'external') { echo $result['TYPE']; } else { echo $result['NAME']; } break; case 'savePagePublishingSettings': $autopublish_data = json_decode($this->params['autopublishData'], true); $changed_field = $this->params['changedField'];
} $object_permissions['RWRITE'] = $user->checkPermission("RDATA"); break; } $object_properties = $properties->getList('LISTORDER'); $objectdynprops = array(); $objectdynprops_cnt = 0; foreach ($object_properties as $object_property) { $objectdynprops[$objectdynprops_cnt] = $object_property; $objectdynprops[$objectdynprops_cnt]['VALUE'] = $properties->getValueInternal($object_property['IDENTIFIER']); if ($object_property['TYPE'] == 'LIST') { $listentries = $propertySettings->getListValues($object_property['IDENTIFIER']); $objectdynprops[$objectdynprops_cnt]['LVALUES'] = $listentries; } if ($object_property['TYPE'] == 'FILE') { $specialURL = createSpecialURLfromShortURL($objectdynprops[$objectdynprops_cnt]['VALUE']); if ($specialURL) { $specialURLInfo = getSpecialURLInfo($specialURL); if ($specialURLInfo['TYPE'] == 'IMG') { $objectdynprops[$objectdynprops_cnt]['VALUE'] = $specialURLInfo['ID']; } } if ($objectdynprops[$objectdynprops_cnt]['VALUE']) { $tmpFile = sFileMgr()->getFile($objectdynprops[$objectdynprops_cnt]['VALUE']); if ($tmpFile) { $fileInfo = $tmpFile->get(); $objectdynprops[$objectdynprops_cnt]['FILETITLE'] = $fileInfo['NAME']; $objectdynprops[$objectdynprops_cnt]['FILECOLOR'] = $fileInfo['COLOR']; $objectdynprops[$objectdynprops_cnt]['FILEIDENTIFIER'] = $fileInfo['IDENTIFIER']; $objectdynprops[$objectdynprops_cnt]['FILEABBREVIATION'] = $fileInfo['ABBREVIATION']; }
$history->add($historyType, NULL, NULL, 'TXT_COMMON_H_COEDIT_FRMFLD_4_ON', $data['formfieldid'], $currentContentarea); } else { $history->add($historyType, NULL, NULL, 'TXT_COMMON_H_COEDIT_FRMFLD_4_OFF', $data['formfieldid'], $currentContentarea); } } } // Link if ($formfield == 5) { // Check if link is an integer (then we only link a file) if (is_numeric($param01)) { $param01 = trim($this->base . 'download/' . $param01); } else { $param01 = trim(prettifyUrl($param01)); $result = checkLinkInternalExternal($param01); if ($result['TYPE'] != 'external') { $param01 = createSpecialURLfromShortURL($param01); } } $cb->setFormfield($linkid, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08); $reftracker->updateUrlRef(REFTYPE_FORMFIELD, $linkid, $cbInfo['VERSION'], $param01); if ($controlFormfields[$c]['VALUE01'] != $param01) { $history->add($historyType, NULL, $param01, 'TXT_COMMON_H_COEDIT_FRMFLD_5', $data['formfieldid'], $currentContentarea); } } // File if ($formfield == 6) { $cb->setFormfield($linkid, $param01, $param02, $param03, $param04, $param05, $param06, $param07, $param08); $reftracker->updateFileRef(REFTYPE_FORMFIELD, $linkid, $cbInfo['VERSION'], $param01); if ($controlFormfields[$c]['VALUE01'] != $param01) { $history->add($historyType, NULL, $param01, 'TXT_COMMON_H_COEDIT_FRMFLD_6', $data['formfieldid'], $currentContentarea); }
} // Special handling for files if ($propertyInfo[0]['TYPE'] == 'FILE') { if (substr($value, 0, 7) == '/image/') { $realValue = sFileMgr()->getFileIdByPname(substr($value, 7)); if ($realValue) { $value = $realValue; } } } // Special handling for links if ($propertyInfo[0]['TYPE'] == 'LINK') { $value = trim(prettifyUrl($value)); $result = checkLinkInternalExternal($value); if ($result['TYPE'] != 'external') { $value = createSpecialURLfromShortURL($value); } } // Special handling for textareas if ($propertyInfo[0]['TYPE'] == 'TEXTAREA') { $value = str_replace('\\n', "\n", $value); } // Special handling for wysiwyg if ($propertyInfo[0]['TYPE'] == 'RICHTEXT') { $value = str_replace('\\n', "\n", $value); $value = convertShortURLsToSpecialURLs($value); } // Set the new property if ($entrymaskMgr->setName($data[0], $value) === false) { $koala->alert($itext['TXT_ERROR_ACCESS_DENIED']); } else {
function convertShortURLsToSpecialURLs($html) { $regexpHREF = "<a\\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\\/a>"; $regexpIMG = "<img\\s[^>]*src=(\"??)([^\" >]*?)\"(\\S*)\""; $prefix = rtrim(ltrim((string) sConfig()->getVar("CONFIG/DIRECTORIES/WEBROOT"), '/'), '/'); $prefix = '/' . $prefix; if (strlen($prefix) > 1) { $prefix .= '/'; } // Check and replace hrefs if (preg_match_all("/{$regexpHREF}/siU", stripslashes($html), $matches, PREG_SET_ORDER) > 0) { foreach ($matches as $match) { if (strpos($match[2], $prefix) === 0) { $shortURL = substr($match[2], count($prefix)); $specialURL = createSpecialURLfromShortURL($shortURL); if ($specialURL !== false) { $html = str_replace($match[2], $prefix . $specialURL, $html); } } } } // Check and replace images if (preg_match_all("/{$regexpIMG}/siU", stripslashes($html), $matches, PREG_SET_ORDER) > 0) { foreach ($matches as $match) { if (strpos($match[3], $prefix) === 0) { $shortURL = substr($match[3], count($prefix)); $specialURL = createSpecialURLfromShortURL($shortURL); if ($specialURL !== false) { $html = str_replace($match[3], $prefix . $specialURL, $html); } } } } return $html; }