Пример #1
0
    protected function configAzuraimage($data, $dataObject)
    {
        $dataObject->formOption = JForm::getInstance('com_azurapagebuilder.page.optionimage', 'formoptionimage');
        // set content
        $elementContentFields = array("src");
        if (count($elementContentFields) == 1) {
            $content = $elementContentFields[0];
            $value = '';
            if (isset($dataObject->content)) {
                $value = $dataObject->content;
            }
            $dataObject->formOption->setValue("{$content}", "elementContent", $value);
        } elseif (count($elementContentFields) > 1) {
            foreach ($elementContentFields as $key => $content) {
                $value = null;
                if (isset($dataObject->content->{$attr})) {
                    $value = $dataObject->content->{$attr};
                }
                $dataObject->formOption->setValue("{$content}", "elementContent", $value);
            }
        }
        // set attrs
        // $elementAttrsFields = array("title","id","class");
        // foreach ($elementAttrsFields as $key => $attr) {
        // 	$value = null;
        // 	if(isset($dataObject->attrs->{$attr})){
        // 		$value = $dataObject->attrs->{$attr};
        // 	}
        // 	$dataObject->formOption->setValue("{$attr}","elementAttrs", $value);
        // }
        $html = '
			<h2><i class="fa fa-image"></i> Image' . (!empty($dataObject->name) ? ' - ' . $dataObject->name : '') . '</h2>
			<div class="row-fluid" style="padding-top:20px;">
				<div class="span5">
					<div class="input-prepend">
						<span class="add-on">Name</span>
						<input class="inputbox" name="elementName" placeholder="Element name" type="text" value="' . (isset($dataObject->name) ? $dataObject->name : '') . '">
					</div>
				</div>
				<div class="span7">
					<div class="form-horizontal">
						<div class="control-group elementPubLang">
							<div class="control-label">
								<label id="elementPubLang_published-lbl" for="elementPubLang_published">Published</label>
							</div>
							<div class="controls">
								<fieldset id="elementPubLang_published" class="radio btn-group btn-group-yesno">
									<input id="elementPubLang_published1" name="elementPubLang[published]" value="1" ' . (isset($dataObject->published) && $dataObject->published == '1' ? 'checked="checked"' : '') . ' type="radio">
									<label  for="elementPubLang_published1">Yes</label>
									<input id="elementPubLang_published0" name="elementPubLang[published]" value="0" ' . (isset($dataObject->published) && $dataObject->published == '0' ? 'checked="checked"' : '') . ' type="radio">
									<label for="elementPubLang_published0">No</label>
								</fieldset>
							</div>
						</div>
					</div>


				</div>
			</div>
			<!-- /.row-fluid -->

			<div id="azp_tabs">
				 <ul>
					<li><a href="#azp_tab_option">Options</a></li>
					<li><a href="#azp_tab_style">Styles</a></li>
				</ul>
				<div class="row-fluid" id="azp_tab_option">
					<div class="span12">
						<div class="form-horizontal">';
        // content
        foreach ($dataObject->formOption->getFieldsets('elementContent') as $fieldsets => $fieldset) {
            foreach ($dataObject->formOption->getFieldset($fieldset->name) as $field) {
                // $attr = $field->name;
                // if(isset($dataObject->attrs->{$attr})){
                // 	$value = $dataObject->attrs->{$attr};
                // 	$field->setValue($value);
                // }
                if ($field->hidden) {
                    $html .= $field->input;
                } else {
                    //echo'<pre>';var_dump($field->name);
                    $html .= $field->getControlGroup();
                }
            }
        }
        // attrs
        foreach ($dataObject->formOption->getFieldsets('elementAttrs') as $fieldsets => $fieldset) {
            foreach ($dataObject->formOption->getFieldset($fieldset->name) as $field) {
                preg_match('/elementAttrs\\[(.+)\\]/', $field->name, $matches);
                if (count($matches) > 1) {
                    $attr = $matches[1];
                    if (isset($dataObject->attrs->{$attr})) {
                        $value = $dataObject->attrs->{$attr};
                        $field->setValue($value);
                    }
                }
                if ($field->hidden) {
                    $html .= $field->input;
                } else {
                    //echo'<pre>';var_dump($field->name);
                    $html .= $field->getControlGroup();
                }
            }
        }
        $html .= '</div>
						<!-- /.form-horizontal -->
					</div>
					<!-- /.span12 -->

				</div>
				<!-- /.row-fluid -->

				<div class="row-fluid" id="azp_tab_style">
					' . CthShortcodes::renderElementStyle($dataObject->attrs) . '

					

				</div>

				<!-- /.row-fluid -->

			</div>

			<!-- /#azp_Tabs -->
			
			<div class="row-fluid" style="text-align: center;">
				<hr>
				<a href="#" id="azura-setting-btn-save" class="btn btn-primary azura-setting-btn-save">Save</a>
				<a href="#" id="azura-setting-btn-cancel" class="btn btn-default azura-setting-btn-cancel">Cancel</a>
			</div>';
        $html .= '
			<script>
				function jInsertFieldValue(value, id) {
		        		var old_value = jQuery("#" + id).val();
		        		if (old_value != value) {
		        			var $elem = jQuery("#" + id);
		        			$elem.val(value);
		        			$elem.trigger("change");
		        			if (typeof($elem.get(0).onchange) === "function") {
		        				$elem.get(0).onchange();
		        			}
		        		}
		        }

	            jQuery(function($) {
	    			SqueezeBox.initialize({});
	    			SqueezeBox.assign($(\'a.modal_jform_azuramedia\').get(), {
	    				parse: \'rel\'
	    			});
					
					
	                
	                jQuery(\'body\').on(\'change\',\'#elementAttrs_src\', function(event){
	                    event.preventDefault();
	                    var value = event.currentTarget.value;
	                    
	                    jQuery(\'.fancybox-inner\').find(\'#elementAttrs_src\').val(value);
	                });
	    		});
            
            </script>';
        $html .= '
			<script>
				jQuery(function($){
					$( "#azp_tabs" ).tabs();

					$(\'.radio.btn-group label\').addClass(\'btn btn-small\');
					$(\'body\').on(\'click\',\'.btn-group label:not(.active)\',function()
					{
						var label = $(this);
						var input = $(\'#\' + label.attr(\'for\'));

						if (!input.prop(\'checked\')) {
							label.closest(\'.btn-group\').find(\'label\').removeClass(\'active btn-success btn-danger btn-primary\');
							if (input.val() == \'\') {
								label.addClass(\'active btn-primary\');
							} else if (input.val() == 0) {
								label.addClass(\'active btn-danger\');
							} else {
								label.addClass(\'active btn-success\');
							}
							input.prop(\'checked\', \'checked\');
						}
					});
					$(\'.btn-group input[checked=checked]\').each(function()
					{
						if ($(this).val() == \'\') {
							$(\'label[for=\' + $(this).attr(\'id\') + \']\').addClass(\'active btn-primary\');
						} else if ($(this).val() == 0) {
							$(\'label[for=\' + $(this).attr(\'id\') + \']\').addClass(\'active btn-danger\');
						} else {
							$(\'label[for=\' + $(this).attr(\'id\') + \']\').addClass(\'active btn-success\');
						}
					});
				});
            
            </script>';
        return $html;
    }