RCCWP_WritePostPage::MediaPhotoInterface PHP Method

MediaPhotoInterface() public static method

public static MediaPhotoInterface ( $customField, $inputName, $groupCounter, $fieldCounter )
    public static function MediaPhotoInterface($customField, $inputName, $groupCounter, $fieldCounter)
    {
        global $mf_domain, $post;
        $idField = RCCWP_WritePostPage::changeNameInput($inputName);
        if (!empty($_GET['post'])) {
            $hidValue = RCCWP_CustomField::GetCustomFieldValues(true, $_GET['post'], $customField->name, $groupCounter, $fieldCounter);
        } else {
            $hidValue = '';
        }
        $filepath = $inputName . '_filepath';
        //The Image is required?
        $requiredClass = "";
        if ($customField->required_field) {
            $requiredClass = "field_required";
        }
        $imageThumbID = "img_thumb_" . $idField;
        $value = "<img src='" . MF_URI . "images/noimage.jpg' id='{$imageThumbID}'/>";
        if (!empty($hidValue)) {
            $path = PHPTHUMB . "?src=";
            $info = wp_get_attachment_image_src($hidValue, 'original');
            $path_image_media = $info[0];
            $value = $path . $path_image_media . "&w=150&h=120&zc=1";
            $value = "<img src='{$value}' id='{$imageThumbID}'/>";
        }
        ?>
  		<p 	class="error_msg_txt" id="upload_progress_<?php 
        echo $idField;
        ?>
" style="visibility:hidden;height:0px">
  		</p>	
  		<div id="image_photo" style="width:150px; float: left">
  			<?php 
        echo $value;
        ?>
  		<div id="photo_edit_link_<?php 
        echo $idField;
        ?>
" class="photo_edit_link"> 
  			<?php 
        if ($hidValue) {
            echo "&nbsp;<strong><a href='#remove' class='remove_media' id='remove-{$idField}'>" . __("Remove Image", $mf_domain) . "</a></strong>";
        }
        ?>
  		</div>
  		</div>
  		<div id="image_input" style="padding-left: 170px;">
  	<?php 
        if (empty($requiredClass)) {
            $requiredClass = '';
        }
        ?>
		
  			<div class="mf_custom_field">
  			<input tabindex="3" 
  				id="<?php 
        echo $idField;
        ?>
" 
  				name="<?php 
        echo $inputName;
        ?>
" 
  				type="hidden" 
  				class="<?php 
        echo $requiredClass;
        ?>
"
  				size="46"
  				value="<?php 
        echo $hidValue;
        ?>
"
  				<?php 
        if ($customField->required_field) {
            echo 'validate="required:true"';
        }
        ?>
  				/>
  				<?php 
        $thumb_class = 'thickbox1';
        if (is_wp30()) {
            $thumb_class = 'thickbox';
        }
        ?>

  			<a class="<?php 
        echo $thumb_class;
        ?>
 update_field_media_upload" id="thumb_<?php 
        echo $idField;
        ?>
" href="media-upload.php?post_id=<?php 
        echo $post->ID;
        ?>
&#038;type=image&#038;TB_iframe=1" ><?php 
        _e('Set Image', $mf_domain);
        ?>
</a>
  			</div>
  			<?php 
        if (!is_wp30()) {
            ?>
  			<script>
  			jQuery(document).ready(function(){
        	tb_init('a#thumb_<?php 
            echo $idField;
            ?>
');
        	jQuery('a#thumb_<?php 
            echo $idField;
            ?>
').click( function(){
        	  window.mf_field_id = jQuery(this).attr('id');
        	});
        });
  			</script>
  			<?php 
        }
        ?>
  		</div>

  		<div style="clear: both; height: 1px;"> </div>
  			<?php 
        if ($customField->required_field) {
            ?>
  				<div class="mf_message_error"><label for="<?php 
            echo $inputName;
            ?>
" class="error_magicfields error"><?php 
            _e("This field is required", $mf_domain);
            ?>
</label></div>
  			<?php 
        }
        ?>

  		<?php 
    }

Usage Example

コード例 #1
0
    /**
     * @todo Add documentation
     */
    public static function CustomFieldInterface($customFieldId, $groupCounter = 1, $fieldCounter = 1, $customGroup_id = 0)
    {
        global $mf_domain;
        require_once "RC_Format.php";
        $customField = RCCWP_CustomField::Get($customFieldId);
        $customFieldName = $customField->name;
        $customFieldTitle = esc_attr($customField->description);
        $customFieldHelp = $customField->help_text;
        // htmlentities($customField->help_text,ENT_COMPAT,'UTF-8');
        $groupId = $customGroup_id;
        $inputCustomName = $customFieldId . "_" . $groupCounter . "_" . $fieldCounter . "_" . $groupId . "_" . $customFieldName;
        // Create input tag name
        $inputName = "magicfields[{$customFieldName}][{$groupCounter}][{$fieldCounter}]";
        if ($fieldCounter > 1 && $customField->duplicate == 0) {
            return;
        }
        if ($fieldCounter > 1) {
            $titleCounter = " (<span class='counter_{$customFieldName}_{$groupCounter}'>{$fieldCounter}</span>)";
        }
        $field_group = RCCWP_CustomGroup::Get($customField->group_id);
        /* 
         * Add the lang attribute if last part of the field name matches defined languages
         * 
         * define( 'ADMIN_LANGS', 'en|fr|de' );
         * example: field name 'the_about_text_en' matches 'en' and sets ' lang="en"'
         *
         */
        if (defined('ADMIN_LANGS')) {
            $customFieldNameParts = explode('_', $customFieldName);
            $lang_switch = preg_match('/' . ADMIN_LANGS . '/', $customFieldNameParts[sizeof($customFieldNameParts) - 1]) ? ' lang="' . $customFieldNameParts[sizeof($customFieldNameParts) - 1] . '"' : '';
        } else {
            $lang_switch = '';
        }
        if (isset($customField->properties['strict-max-length']) && $customField->properties['strict-max-length'] == 1) {
            $fieldMaxLengthClass = ' maxlength';
        } else {
            $fieldMaxLengthClass = '';
        }
        $fieldCustomClass = "mf-field-{$customFieldName}";
        // allows some special styling in wordpress filters
        $duplicateClass = "";
        if ($fieldCounter > 1) {
            $duplicateClass = "mf-field-duplicate";
        }
        ?>
		<div class="mf-field <?php 
        echo $duplicateClass;
        ?>
 <?php 
        echo $fieldCustomClass;
        ?>
 mf-t-<?php 
        echo strtolower(str_replace(" ", "-", $customField->type));
        ?>
 <?php 
        echo str_replace(" ", "_", $customField->type);
        echo $fieldMaxLengthClass;
        ?>
" id="row_<?php 
        echo $inputCustomName;
        ?>
"<?php 
        echo $lang_switch;
        ?>
>
			<div class="mf-field-title">
			<label for="<?php 
        echo $inputCustomName;
        ?>
">
				<?php 
        if (empty($titleCounter)) {
            $titleCounter = "";
        }
        ?>
				<span class="name"><?php 
        echo $customFieldTitle;
        ?>
<em><?php 
        echo $titleCounter;
        ?>
</em></span>
				<?php 
        if ($customField->required_field == 1) {
            ?>
 <span class="required">*</span><?php 
        }
        if (!empty($customFieldHelp)) {
            ?>
					<small class="tip"><?php 
            _e("what's this?", $mf_domain);
            ?>
<span class="field_help"><?php 
            echo $customFieldHelp;
            ?>
</span></small>
				<?php 
        }
        if (isset($customField->properties['strict-max-length']) && $customField->properties['strict-max-length'] == 1) {
            if ($customField->type == 'Multiline Textbox') {
                $charsRemainingSize = $customField->properties['height'] * $customField->properties['width'];
            } else {
                $charsRemainingSize = $customField->properties['size'];
            }
            ?>
<small class="remaining"><?php 
            _e('Characters left', $mf_domain);
            ?>
: <span class="charsRemaining" title="<?php 
            _e('Characters left', $mf_domain);
            ?>
"><?php 
            echo $charsRemainingSize;
            ?>
</span></small><?php 
        }
        ?>
			</label>
			</div>
			<!-- /.mf-field-title -->
			
			<div>
				<p class="error_msg_txt" id="fieldcellerror_<?php 
        echo $inputCustomName;
        ?>
" style="display:none"></p>
				<?php 
        switch ($customField->type) {
            case 'Textbox':
                RCCWP_WritePostPage::TextboxInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Multiline Textbox':
                RCCWP_WritePostPage::MultilineTextboxInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Checkbox':
                RCCWP_WritePostPage::CheckboxInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Checkbox List':
                RCCWP_WritePostPage::CheckboxListInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Radiobutton List':
                RCCWP_WritePostPage::RadiobuttonListInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Dropdown List':
                RCCWP_WritePostPage::DropdownListInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Listbox':
                RCCWP_WritePostPage::ListboxInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'File':
                RCCWP_WritePostPage::FileInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Image':
                RCCWP_WritePostPage::PhotoInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Date':
                RCCWP_WritePostPage::DateInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Audio':
                RCCWP_WritePostPage::AudioInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Color Picker':
                RCCWP_WritePostPage::ColorPickerInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Slider':
                RCCWP_WritePostPage::SliderInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Related Type':
                RCCWP_WritePostPage::RelatedTypeInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Markdown Textbox':
                RCCWP_WritePostPage::MarkdownTextboxInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            case 'Image (Upload Media)':
                RCCWP_WritePostPage::MediaPhotoInterface($customField, $inputName, $groupCounter, $fieldCounter);
                break;
            default:
        }
        ?>
				
				<div class="mf-duplicate-controls">
			  <?php 
        $cfd = Inflect::singularize($customField->description);
        if ($fieldCounter == 1) {
            ?>
					<?php 
            if ($customField->duplicate != 0) {
                ?>
            <a href="javascript:void(0);" id="type_handler-<?php 
                echo $inputCustomName;
                ?>
" class="typeHandler duplicate_field"><span><?php 
                _e('Add Another', $mf_domain);
                ?>
</span> <?php 
                echo $cfd;
                ?>
</a>
					<?php 
            }
            ?>
					<?php 
        } else {
            ?>
					<a class="delete_duplicate_field" href="javascript:void(0)" id="delete_field_repeat-<?php 
            echo $inputCustomName;
            ?>
"><span><?php 
            _e('Remove', $mf_domain);
            ?>
</span> <?php 
            echo $cfd;
            ?>
</a>
				<?php 
        }
        ?>
  		  </div>
  		  <!-- ./title-controls -->
		</div>
		</div>
	<?php 
    }