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);
Exemple #3
0
                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');
Exemple #4
0
					//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; } 
Exemple #6
0
	public function getLayoutPresetObj(){ return LayoutPreset::getByID($this->lpID); }