コード例 #1
0
ファイル: page_theme.php プロジェクト: remkoj/concrete5
	public function mergeStylesFromPost($post) {
		$values = array();
		$styles = $this->getEditableStylesList();
		foreach($styles as $sto) {
			foreach($sto as $st) {
				$ptes = new PageThemeEditableStyle();
				$ptes->ptsHandle = $st->getHandle();
				$ptes->ptsType = $st->getType();
				$ptes->ptsProperty = $st->getProperty();
				
				switch($st->getType()) {
					case PageThemeEditableStyle::TSTYPE_COLOR:
						if (isset($post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()])) {
							$ptes->ptsValue = $ptes->getProperty() . ':' . $post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()] . ';';
							$values[] = $ptes;
						}
						break;
					case PageThemeEditableStyle::TSTYPE_CUSTOM:
						if (isset($post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()])) {
							$ptes->ptsValue = $post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()];
							$values[] = $ptes;
						}
						break;
					case PageThemeEditableStyle::TSTYPE_FONT:
						if (isset($post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()])) {
							$value = $post['input_theme_style_' . $st->getHandle() . '_' . $st->getType()];
							// now we transform it from it's post, which has pipes and separators and crap
							$fv = explode('|', $value);
							$ptes->ptsValue = $ptes->getProperty() . ':' . $fv[0] . ' ' . $fv[1] . ' ' . $fv[2] . 'px ' . $fv[3] . ';';
							$values[] = $ptes;
						}
						break;
				}
			}
		}
		
		return $values;
	}