public static function getByID($lpID) { $db = Loader::db(); $r = $db->GetRow('SELECT lp.* FROM LayoutPresets AS lp, Layouts AS l WHERE lp.layoutID=l.layoutID AND lp.lpID = ' . intval($lpID)); if (is_array($r) && intval($r['lpID'])) { $layoutPreset = new LayoutPreset(); $layoutPreset->setPropertiesFromArray($r); return $layoutPreset; } return false; }
echo $json->encode($jsonData); exit; } $nvc = $c->getVersionToModify(); $cp = new Permissions($c); $ap = new Permissions($a); if (!$cp->canEditPageContents() || !$ap->canAddLayoutToArea()) { $jsonData = array(); $jsonData['msg'] = t('Access Denied.'); echo $json->encode($jsonData); exit; } $valt = Loader::helper('validation/token'); $token = '&' . $valt->getParameter(); if ($_GET['task'] == 'deletePreset') { $layoutPreset = LayoutPreset::getByID($_REQUEST['lpID']); if (is_object($layoutPreset)) { $layout = $layoutPreset->getLayoutObject(); $layoutID = $layout->layoutID; } } else { $layoutID = intval($_REQUEST['layoutID']); $layout = Layout::getById($layoutID); $layoutPreset = $layoutPreset = $layout->getLayoutPresetObj(); } $jsonData = array('success' => '0', 'msg' => '', 'layoutID' => intval($layoutID)); //security checks: make sure this layout belongs to this area & collection if (is_object($layout) && is_object($a) && is_object($c)) { $db = Loader::db(); $vals = array($layoutID, $a->getAreaHandle(), intval($nvc->cID), intval($nvc->getVersionID())); $areaLayoutData = $db->getRow('SELECT * FROM CollectionVersionAreaLayouts WHERE layoutID=? AND arHandle=? AND cID=? AND cvID=?', $vals);
if ($skipLayoutSave) { //see above } elseif ($cvalID) { //get the cval of the record that corresponds to this version & area $vals = array($nvc->getCollectionID(), $nvc->getVersionID(), $_GET['arHandle'], intval($_REQUEST['layoutID'])); $cvalID = intval($db->getOne('SELECT cvalID FROM CollectionVersionAreaLayouts WHERE cID=? AND cvID=? AND arHandle=? AND layoutID=? ', $vals)); if ($updateLayoutId) { $nvc->updateAreaLayoutId($cvalID, $layout->layoutID); } } else { $nvc->addAreaLayout($area, $layout, $position); } if ($_POST['layoutPresetAction'] == 'create_new_preset') { $newPresetName = strlen($_POST['layoutPresetNameAlt']) ? $_POST['layoutPresetNameAlt'] : $_POST['layoutPresetName']; if (strlen(trim($newPresetName))) { LayoutPreset::add(trim($newPresetName), $layout); } } header('Location: ' . BASE_URL . DIR_REL . '/' . DISPATCHER_FILENAME . '?cID=' . $_GET['cID'] . '&mode=edit' . $step); exit; } break; } } if ($_REQUEST['ctask'] && $valt->validate()) { switch ($_REQUEST['ctask']) { case 'delete': if ($cp->canDeleteCollection() && $c->getCollectionID != '1' && !$c->isMasterCollection()) { $children = $c->getNumChildren(); if ($children == 0 || $cp->canAdminPage()) { $c->markPendingAction('DELETE');
//are we adding a new layout to an area, or updating an existing one? $cvalID=intval($_REQUEST['cvalID']); if($skipLayoutSave){ //see above }elseif( $cvalID ){ //get the cval of the record that corresponds to this version & area $vals = array( $nvc->getCollectionID(), $nvc->getVersionID(), $_GET['arHandle'], intval($originalLayoutID) ); $cvalID = intval($db->getOne('SELECT cvalID FROM CollectionVersionAreaLayouts WHERE cID=? AND cvID=? AND arHandle=? AND layoutID=? ',$vals)); if($updateLayoutId) $nvc->updateAreaLayoutId( $cvalID, $layout->layoutID); }else{ $nvc->addAreaLayout($area, $layout, $position); } if ( $_POST['layoutPresetAction']=='create_new_preset' ) { $newPresetName = (strlen($_POST['layoutPresetNameAlt']))?$_POST['layoutPresetNameAlt']:$_POST['layoutPresetName']; if(strlen(trim($newPresetName))) LayoutPreset::add(trim($newPresetName), $layout); } header('Location: ' . BASE_URL . DIR_REL . '/' . DISPATCHER_FILENAME . '?cID=' . $_GET['cID'] . '&mode=edit' . $step); exit; } break; } } if ($_REQUEST['ctask'] && $valt->validate()) { switch ($_REQUEST['ctask']) { case 'delete': if ($cp->canDeleteCollection() && $c->getCollectionID != '1' && (!$c->isMasterCollection())) { $children = $c->getNumChildren();
if (intval($_REQUEST['lpID'])) { $layoutPreset = LayoutPreset::getByID($_REQUEST['lpID']); if (is_object($layoutPreset)) { $layout = $layoutPreset->getLayoutObject(); } } elseif (intval($_REQUEST['layoutID'])) { $layout = Layout::getById(intval($_REQUEST['layoutID'])); } else { $layout = new Layout(array('type' => 'table', 'rows' => 1, 'columns' => 3)); } if (!$layout) { echo t('Error: Layout not found'); } else { $layoutPresets = LayoutPreset::getList(); if (intval($layout->lpID)) { $layoutPreset = LayoutPreset::getById($layout->lpID); } ?> <?php if (!$_REQUEST['refresh']) { ?> <div id="ccm-layout-edit-wrapper"> <?php } ?> <style type="text/css"> #ccmLayoutConfigOptions { margin-top:12px; } #ccmLayoutConfigOptions table td { padding-bottom:4px; vertical-align:top; padding-bottom:12px; padding-right:12px; }
public function getLayoutPresetObj(){ return LayoutPreset::getByID($this->lpID); }