private static function getObj($data) { $definition = new CMS_polymod_oembed_definition(); $definition->setId($data['id_mood']); $definition->setUuid($data['uuid_mood']); $definition->setObjectdefinition($data['objectdefinition_mood']); $definition->setCodename($data['codename_mood']); $definition->setCompiledHtml($data['html_mood']); $definition->setParameter($data['parameter_mood']); $definition->setLabel($data['label_mood']); return $definition; }
*/ require_once dirname(__FILE__) . '/../../cms_rc_admin.php'; require_once PATH_ADMIN_SPECIAL_SESSION_CHECK_FS; //checks rights if (!$cms_user->hasAdminClearance(CLEARANCE_ADMINISTRATION_EDITVALIDATEALL)) { header("Location: " . PATH_ADMIN_SPECIAL_ENTRY_WR . "?cms_message_id=" . MESSAGE_PAGE_CLEARANCE_ERROR . "&" . session_name() . "=" . session_id()); exit; } //load page objects and vars $moduleCodename = io::request("moduleCodename"); $objectDefitionId = io::request("objectdefinition"); $objectDefinition = CMS_poly_object_catalog::getObjectDefinition($objectDefitionId); $oembedDefinitionId = io::request("definition"); $oembedDefinition = CMS_polymod_oembed_definition_catalog::getById($oembedDefinitionId); if (!$oembedDefinition) { $oembedDefinition = new CMS_polymod_oembed_definition(); } if ($moduleCodename) { $polymod = CMS_modulesCatalog::getByCodename($moduleCodename); } $cms_message = ""; switch ($_POST["cms_action"]) { case "validate": $oembedDefinition->setObjectdefinition(io::post('objectdefinition')); $oembedDefinition->setCodename(io::post('codename')); $oembedDefinition->setHtml(io::post('html')); $oembedDefinition->setParameter(io::post('parameter')); $oembedDefinition->setLabel(io::post('label')); if ($oembedDefinition->validate()) { $oembedDefinition->writeToPersistence(); } else {
$parameters['public'] = true; $parameters['cache'] = false; $parameters['pageID'] = CURRENT_PAGE; $definitionParsing = new CMS_polymod_definition_parsing($transformedDefinition, true, CMS_polymod_definition_parsing::BLOCK_PARAM_MODE, $parameters['module']); $compiledDefinition = $definitionParsing->getContent(CMS_polymod_definition_parsing::OUTPUT_PHP, $parameters); $urlParts = parse_url($url); if (!isset($urlParts['query'])) { die("Incorrect parameters"); } parse_str($urlParts['query']); $parameterName = $oembedDefinition->getParameter(); $embededObject = CMS_poly_object_catalog::getObjectByID(${$parameterName}, false, true); if (!$embededObject) { die("Incorrect parameters"); } // get label ob_start(); eval(sensitiveIO::stripPHPTags($compiledDefinition)); $data = ob_get_contents(); ob_end_clean(); $html = array('html' => $data, 'title' => $embededObject->getLabel(), 'height' => io::get('height'), 'width' => io::get('width')); $oembed = CMS_polymod_oembed_definition::getResults($html); if ($format === 'json') { print json_encode($oembed, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT); } elseif ($format === 'xml') { $output = "<?xml version=\"1.0\" encoding=\"utf-8\">\n"; $output .= "<oembed>\n"; $output .= CMS_polymod_oembed_definition::format_xml_elements($oembed); $output .= "</oembed>"; print $output; }