RCCWP_WritePostPage::GroupDuplicate PHP Method

GroupDuplicate() public static method

public static GroupDuplicate ( object $customGroup, integer $groupCounter, $order, boolean $fromAjax = true )
$customGroup object
$groupCounter integer
$fromAjax boolean
    public static function GroupDuplicate($customGroup, $groupCounter, $order, $fromAjax = true)
    {
        global $mf_domain;
        global $CUSTOM_WRITE_PANEL;
        $ex_class = $customGroup->expanded ? "mf-group-expanded" : '';
        if ($customGroup->name == "__default") {
            // for the default group (top level), check the expand flag on the WRITE PANEL instead
            $ex_class = $CUSTOM_WRITE_PANEL->expanded ? "mf-group-expanded" : '';
        }
        $mf_post_id = apply_filters('mf_source_post_data', @$_REQUEST['post']);
        //getting the custom fields
        $customFields = RCCWP_CustomGroup::GetCustomFields($customGroup->id);
        //if don't have fields then finish
        if (count($customFields) == 0) {
            return;
        }
        require_once "RC_Format.php";
        if ($customGroup->duplicate != 0) {
            $add_class_rep = "mf_duplicate_group";
        } else {
            $add_class_rep = "";
        }
        ?>
		<div class="magicfield_group <?php 
        echo $add_class_rep;
        ?>
 <?php 
        echo $ex_class;
        ?>
" id="freshpostdiv_group_<?php 
        echo $customGroup->id . '_' . $groupCounter;
        ?>
">
			<a id="collapse_<?php 
        echo $customGroup->id . "Duplicate" . "_" . $customGroup->id . "_" . $order;
        ?>
" class="collapse_button" href="javascript:void(0);">Collapse</a>

      <div class="mf-group-loading"><?php 
        _e('Loading Data&hellip;', $mf_domain);
        ?>
</div>
      
      <div>
			<div class="inside">
			<div class="mf-fields">
				<?php 
        foreach ($customFields as $field) {
            $customFieldName = $field->name;
            $customFieldTitle = esc_attr($field->description);
            $groupId = $customGroup->id;
            $inputName = $field->id . "_" . $groupCounter . "_1_" . $groupId . "_" . $customFieldName;
            if (isset($mf_post_id)) {
                $fc = RCCWP_CustomField::GetFieldDuplicates($mf_post_id, $field->name, $groupCounter);
                $fields_order = RCCWP_CustomField::GetFieldsOrder($mf_post_id, $field->name, $groupCounter);
                foreach ($fields_order as $element) {
                    RCCWP_WritePostPage::CustomFieldInterface($field->id, $groupCounter, $element, $customGroup->id);
                }
            } else {
                RCCWP_WritePostPage::CustomFieldInterface($field->id, $groupCounter, 1, $customGroup->id);
                $fc = 1;
            }
            if (!empty($fields_order)) {
                $tmp = $fields_order;
                sort($tmp);
                $top = $tmp[count($tmp) - 1];
            } else {
                $top = 1;
            }
            ?>
					<span style="display:none" id="<?php 
            echo "c" . $inputName . "Duplicate";
            ?>
">
						<input type="text" name="c<?php 
            echo $inputName;
            ?>
Counter" id="c<?php 
            echo $inputName;
            ?>
Counter" value='<?php 
            echo $top;
            ?>
' /> 
					</span>
				<?php 
        }
        ?>
      </div>
	    <!-- /.mf-fields -->

			<?php 
        if ($customGroup->duplicate != 0) {
            $sgn = Inflect::singularize($customGroup->name);
            ?>
			
	    
			<div class="mf_toolbox">
				<span class="mf_counter sortable_mf" id="counter_<?php 
            echo $customGroup->id;
            ?>
_<?php 
            echo $groupCounter;
            ?>
"><?php 
            echo $order;
            ?>
</span>
				<span class="hndle sortable_mf row_mf">&nbsp;</span>

				<span class="mf_toolbox_controls">

					<?php 
            if ($groupCounter != 1) {
                ?>
							<a class ="delete_duplicate_button { lang: { confirm: '<?php 
                _e("Are you sure?", $mf_domain);
                ?>
' } }" href="javascript:void(0);" id="delete_duplicate-freshpostdiv_group_<?php 
                echo $customGroup->id . '_' . $groupCounter;
                ?>
"><span><?php 
                _e('Remove', $mf_domain);
                ?>
</span> <?php 
                echo $sgn;
                ?>
</a>
						<?php 
            } else {
                ?>
 
							<a id="add_duplicate_<?php 
                echo $customGroup->id . "Duplicate" . "_" . $customGroup->id . "_" . $order;
                ?>
" class="duplicate_button" href="javascript:void(0);" title="<?php 
                _e('Note: hold down the SHIFT key as you click to collapse this item before the new item is added', $mf_domain);
                ?>
"><span><?php 
                _e('Add Another', $mf_domain);
                ?>
</span> <?php 
                echo $sgn;
                ?>
</a>
					   <?php 
            }
            ?>
 
				</span>
			</div>
			<?php 
        }
        ?>
			</div>
			</div> 
			<input type="hidden" name="order_<?php 
        echo $customGroup->id;
        ?>
_<?php 
        echo $groupCounter;
        ?>
" id="order_<?php 
        echo $customGroup->id;
        ?>
_<?php 
        echo $groupCounter;
        ?>
" value="<?php 
        echo $order;
        ?>
" />
		</div>
		<?php 
    }

Usage Example

コード例 #1
0
ファイル: MF_GetDuplicate.php プロジェクト: hunk/Magic-Fields
 function resolve()
 {
     global $mf_domain;
     check_ajax_referer('nonce_ajax_duplicate', 'nonce_ajax_duplicate');
     if (!(is_user_logged_in() && (current_user_can('edit_posts') || current_user_can('edit_published_pages')))) {
         echo __("Athentication failed", $mf_domain);
         wp_die();
     }
     if (isset($_POST['flag']) && $_POST['flag'] == "group") {
         $customGroup = RCCWP_CustomGroup::Get($_POST['groupId']);
         RCCWP_WritePostPage::GroupDuplicate($customGroup, $_POST['groupCounter'], $_POST['order']);
     } else {
         $customFieldId = $_POST['customFieldId'];
         $groupCounter = $_POST['groupCounter'];
         $fieldCounter = $_POST['fieldCounter'];
         $groupId = $_POST['groupId'];
         RCCWP_WritePostPage::CustomFieldInterface($customFieldId, $groupCounter, $fieldCounter, $groupId);
     }
     wp_die();
 }
All Usage Examples Of RCCWP_WritePostPage::GroupDuplicate