Файловый менеджер - Редактировать - /home/infrafs/www/wp-content/themes/trackstore/framework/lib/eltd.layout3.php
Назад
<?php /* Class: TrackStoreElatedMultipleImages A class that initializes Elated Multiple Images */ class TrackStoreElatedMultipleImages implements iTrackStoreElatedRender { private $name; private $label; private $description; function __construct( $name, $label = "", $description = "" ) { global $trackstore_elated_Framework; $this->name = $name; $this->label = $label; $this->description = $description; $trackstore_elated_Framework->eltdMetaBoxes->addOption( $this->name, "" ); } public function render( $factory ) { global $post; ?> <div class="eltd-page-form-section"> <div class="eltd-field-desc"> <h4><?php echo esc_html( $this->label ); ?></h4> <p><?php echo esc_html( $this->description ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-12"> <ul class="eltd-gallery-images-holder clearfix"> <?php $image_gallery_val = get_post_meta( $post->ID, $this->name, true ); if ( $image_gallery_val != '' ) { $image_gallery_array = explode( ',', $image_gallery_val ); } if ( isset( $image_gallery_array ) && count( $image_gallery_array ) != 0 ): foreach ( $image_gallery_array as $gimg_id ): $gimage_wp = wp_get_attachment_image_src( $gimg_id, 'thumbnail', true ); echo '<li class="eltd-gallery-image-holder"><img src="' . esc_url( $gimage_wp[0] ) . '"/></li>'; endforeach; endif; ?> </ul> <input type="hidden" value="<?php echo esc_attr( $image_gallery_val ); ?>" id="<?php echo esc_attr( $this->name ) ?>" name="<?php echo esc_attr( $this->name ) ?>"> <div class="eltd-gallery-uploader"> <a class="eltd-gallery-upload-btn btn btn-sm btn-primary" href="javascript:void(0)"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a class="eltd-gallery-clear-btn btn btn-sm btn-default pull-right" href="javascript:void(0)"><?php esc_html_e( 'Remove All', 'trackstore' ); ?></a> </div> </div> </div> </div> </div> </div> <?php } } /* Class: TrackStoreElatedImagesVideos A class that initializes Elated Images Videos */ class TrackStoreElatedImagesVideos implements iTrackStoreElatedRender { private $label; private $description; function __construct( $label = "", $description = "" ) { $this->label = $label; $this->description = $description; } public function render( $factory ) { global $post; ?> <div class="eltd_hidden_portfolio_images" style="display: none"> <div class="eltd-page-form-section"> <div class="eltd-field-desc"> <h4><?php echo esc_html( $this->label ); ?></h4> <p><?php echo esc_html( $this->description ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_x" name="portfolioimgordernumber_x"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Image', 'trackstore' ); ?></em> <div class="eltd-media-uploader"> <div style="display: none" class="eltd-media-image-holder"> <img src="" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfolioimg_x" id="portfolioimg_x"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> </div> <div class="row next-row"> <div class="col-lg-3"> <em class="eltd-field-description"><?php esc_html_e( 'Video Type', 'trackstore' ); ?></em> <select class="form-control eltd-form-element eltd-portfoliovideotype" name="portfoliovideotype_x" id="portfoliovideotype_x"> <option value=""></option> <option value="youtube"><?php esc_html_e( 'YouTube', 'trackstore' ); ?></option> <option value="vimeo"><?php esc_html_e( 'Vimeo', 'trackstore' ); ?></option> <option value="self"><?php esc_html_e( 'Self Hosted', 'trackstore' ); ?></option> </select> </div> <div class="col-lg-3"> <em class="eltd-field-description"><?php esc_html_e( 'Video ID', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideoid_x" name="portfoliovideoid_x"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Video image', 'trackstore' ); ?></em> <div class="eltd-media-uploader"> <div style="display: none" class="eltd-media-image-holder"> <img src="" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfoliovideoimage_x" id="portfoliovideoimage_x"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> </div> <div class="row next-row"> <div class="col-lg-4"> <em class="eltd-field-description"><?php esc_html_e( 'Video mp4', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideomp4_x" name="portfoliovideomp4_x"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <a class="eltd_remove_image btn btn-sm btn-primary" href="/" onclick="javascript: return false;"><?php esc_html_e( 'Remove portfolio image/video', 'trackstore' ); ?></a> </div> </div> </div> </div> </div> </div> <?php $no = 1; $portfolio_images = get_post_meta( $post->ID, 'eltd_portfolio_images', true ); if ( count( $portfolio_images ) > 1 && trackstore_elated_core_plugin_installed() ) { usort( $portfolio_images, "eltd_core_compare_portfolio_videos" ); } while ( isset( $portfolio_images[ $no - 1 ] ) ) { $portfolio_image = $portfolio_images[ $no - 1 ]; ?> <div class="eltd_portfolio_image" rel="<?php echo esc_attr( $no ); ?>" style="display: block;"> <div class="eltd-page-form-section"> <div class="eltd-field-desc"> <h4><?php echo esc_html( $this->label ); ?></h4> <p><?php echo esc_html( $this->description ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_<?php echo esc_attr( $no ); ?>" name="portfolioimgordernumber[]" value="<?php echo isset( $portfolio_image['portfolioimgordernumber'] ) ? esc_attr( stripslashes( $portfolio_image['portfolioimgordernumber'] ) ) : ""; ?>"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Image', 'trackstore' ); ?></em> <div class="eltd-media-uploader"> <div<?php if ( stripslashes( $portfolio_image['portfolioimg'] ) == false ) { ?> style="display: none"<?php } ?> class="eltd-media-image-holder"> <img src="<?php if ( stripslashes( $portfolio_image['portfolioimg'] ) == true ) { echo esc_url( trackstore_elated_get_attachment_thumb_url( stripslashes( $portfolio_image['portfolioimg'] ) ) ); } ?>" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfolioimg[]" id="portfolioimg_<?php echo esc_attr( $no ); ?>" value="<?php echo stripslashes( $portfolio_image['portfolioimg'] ); ?>"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> </div> <div class="row next-row"> <div class="col-lg-3"> <em class="eltd-field-description"><?php esc_html_e( 'Video Type', 'trackstore' ); ?></em> <select class="form-control eltd-form-element eltd-portfoliovideotype" name="portfoliovideotype[]" id="portfoliovideotype_<?php echo esc_attr( $no ); ?>"> <option value=""></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "youtube" ) { echo "selected='selected'"; } ?> value="youtube"><?php esc_html_e( 'YouTube', 'trackstore' ); ?></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "vimeo" ) { echo "selected='selected'"; } ?> value="vimeo"><?php esc_html_e( 'Vimeo', 'trackstore' ); ?></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "self" ) { echo "selected='selected'"; } ?> value="self"><?php esc_html_e( 'Self Hosted', 'trackstore' ); ?></option> </select> </div> <div class="col-lg-3"> <em class="eltd-field-description"><?php esc_html_e( 'Video ID', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideoid_<?php echo esc_attr( $no ); ?>" name="portfoliovideoid[]" value="<?php echo isset( $portfolio_image['portfoliovideoid'] ) ? esc_attr( stripslashes( $portfolio_image['portfoliovideoid'] ) ) : ""; ?>"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Video image', 'trackstore' ); ?></em> <div class="eltd-media-uploader"> <div<?php if ( stripslashes( $portfolio_image['portfoliovideoimage'] ) == false ) { ?> style="display: none"<?php } ?> class="eltd-media-image-holder"> <img src="<?php if ( stripslashes( $portfolio_image['portfoliovideoimage'] ) == true ) { echo esc_url( trackstore_elated_get_attachment_thumb_url( stripslashes( $portfolio_image['portfoliovideoimage'] ) ) ); } ?>" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfoliovideoimage[]" id="portfoliovideoimage_<?php echo esc_attr( $no ); ?>" value="<?php echo stripslashes( $portfolio_image['portfoliovideoimage'] ); ?>"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> </div> <div class="row next-row"> <div class="col-lg-4"> <em class="eltd-field-description"><?php esc_html_e( 'Video mp4', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideomp4_<?php echo esc_attr( $no ); ?>" name="portfoliovideomp4[]" value="<?php echo isset( $portfolio_image['portfoliovideomp4'] ) ? esc_attr( stripslashes( $portfolio_image['portfoliovideomp4'] ) ) : ""; ?>"/> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <a class="eltd_remove_image btn btn-sm btn-primary" href="/" onclick="javascript: return false;"><?php esc_html_e( 'Remove portfolio image/video', 'trackstore' ); ?></a> </div> </div> </div> </div> </div> </div> <?php $no ++; } ?> <br/> <a class="eltd_add_image btn btn-sm btn-primary" onclick="javascript: return false;" href="/"><?php esc_html_e( 'Add portfolio image/video', 'trackstore' ); ?></a> <?php } } /* Class: TrackStoreElatedImagesVideos A class that initializes Elated Images Videos */ class TrackStoreElatedImagesVideosFramework implements iTrackStoreElatedRender { private $label; private $description; function __construct( $label = "", $description = "" ) { $this->label = $label; $this->description = $description; } public function render( $factory ) { global $post; ?> <div class="eltd-hidden-portfolio-images" style="display: none"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number">1</span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Image - ', 'trackstore' ); ?><em><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <span class="toggle-portfolio-media"><i class="fa fa-caret-up"></i></span> <a href="#" class="remove-portfolio-media"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <div class="eltd-media-uploader"> <em class="eltd-field-description"><?php esc_html_e( 'Image', 'trackstore' ); ?></em> <div style="display: none" class="eltd-media-image-holder"> <img src="" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"> </div> <div class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfolioimg_x" id="portfolioimg_x"> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_x" name="portfolioimgordernumber_x"> </div> </div> <input type="hidden" name="portfoliovideoimage_x" id="portfoliovideoimage_x"> <input type="hidden" name="portfoliovideotype_x" id="portfoliovideotype_x"> <input type="hidden" name="portfoliovideoid_x" id="portfoliovideoid_x"> <input type="hidden" name="portfoliovideomp4_x" id="portfoliovideomp4_x"> <input type="hidden" name="portfolioimgtype_x" id="portfolioimgtype_x" value="image"> </div> </div> </div> </div> </div> <div class="eltd-hidden-portfolio-videos" style="display: none"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number">2</span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Video - ', 'trackstore' ); ?><em><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <span class="toggle-portfolio-media"><i class="fa fa-caret-up"></i></span> <a href="#" class="remove-portfolio-media"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <div class="eltd-media-uploader"> <em class="eltd-field-description"><?php esc_html_e( 'Cover Video Image', 'trackstore' ); ?></em> <div style="display: none" class="eltd-media-image-holder"> <img src="" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfoliovideoimage_x" id="portfoliovideoimage_x"> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> <div class="col-lg-10"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_x" name="portfolioimgordernumber_x"> </div> </div> <div class="row next-row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Video Type', 'trackstore' ); ?></em> <select class="form-control eltd-form-element eltd-portfoliovideotype" name="portfoliovideotype_x" id="portfoliovideotype_x"> <option value=""></option> <option value="youtube"><?php esc_html_e( 'YouTube', 'trackstore' ); ?></option> <option value="vimeo"><?php esc_html_e( 'Vimeo', 'trackstore' ); ?></option> <option value="self"><?php esc_html_e( 'Self Hosted', 'trackstore' ); ?></option> </select> </div> <div class="col-lg-2 eltd-video-id-holder"> <em class="eltd-field-description" id="videoId"><?php esc_html_e( 'Video ID', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideoid_x" name="portfoliovideoid_x"> </div> </div> <div class="row next-row eltd-video-self-hosted-path-holder"> <div class="col-lg-4"> <em class="eltd-field-description"><?php esc_html_e( 'Video mp4', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideomp4_x" name="portfoliovideomp4_x"> </div> </div> </div> </div> <input type="hidden" name="portfolioimg_x" id="portfolioimg_x"> <input type="hidden" name="portfolioimgtype_x" id="portfolioimgtype_x" value="video"> </div> </div> </div> </div> </div> <?php $no = 1; $portfolio_images = get_post_meta( $post->ID, 'eltd_portfolio_images', true ); if ( !empty( $portfolio_images) ) { if ( count( $portfolio_images ) > 1 && trackstore_elated_core_plugin_installed() ) { usort( $portfolio_images, "eltd_core_compare_portfolio_videos" ); } while ( isset( $portfolio_images[ $no - 1 ] ) ) { $portfolio_image = $portfolio_images[ $no - 1 ]; if ( isset( $portfolio_image['portfolioimgtype'] ) ) { $portfolio_img_type = $portfolio_image['portfolioimgtype']; } else { if ( stripslashes( $portfolio_image['portfolioimg'] ) == true ) { $portfolio_img_type = "image"; } else { $portfolio_img_type = "video"; } } if ( $portfolio_img_type == "image" ) { ?> <div class="eltd-portfolio-images eltd-portfolio-media" rel="<?php echo esc_attr( $no ); ?>"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number"><?php echo esc_html( $no ); ?></span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Image - ', 'trackstore' ); ?><em><?php echo stripslashes( $portfolio_image['portfolioimgordernumber'] ); ?></em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <a href="#" class="toggle-portfolio-media"><i class="fa fa-caret-down"></i></a> <a href="#" class="remove-portfolio-media"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content" style="display: none"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <div class="eltd-media-uploader"> <em class="eltd-field-description"><?php esc_html_e( 'Image', 'trackstore' ); ?></em> <div<?php if ( stripslashes( $portfolio_image['portfolioimg'] ) == false ) { ?> style="display: none"<?php } ?> class="eltd-media-image-holder"> <img src="<?php if ( stripslashes( $portfolio_image['portfolioimg'] ) == true ) { echo esc_url( trackstore_elated_get_attachment_thumb_url( stripslashes( $portfolio_image['portfolioimg'] ) ) ); } ?>" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfolioimg[]" id="portfolioimg_<?php echo esc_attr( $no ); ?>" value="<?php echo stripslashes( $portfolio_image['portfolioimg'] ); ?>"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_<?php echo esc_attr( $no ); ?>" name="portfolioimgordernumber[]" value="<?php echo isset( $portfolio_image['portfolioimgordernumber'] ) ? esc_attr( stripslashes( $portfolio_image['portfolioimgordernumber'] ) ) : ""; ?>"> </div> </div> <input type="hidden" id="portfoliovideoimage_<?php echo esc_attr( $no ); ?>" name="portfoliovideoimage[]"> <input type="hidden" id="portfoliovideotype_<?php echo esc_attr( $no ); ?>" name="portfoliovideotype[]"> <input type="hidden" id="portfoliovideoid_<?php echo esc_attr( $no ); ?>" name="portfoliovideoid[]"> <input type="hidden" id="portfoliovideomp4_<?php echo esc_attr( $no ); ?>" name="portfoliovideomp4[]"> <input type="hidden" id="portfolioimgtype_<?php echo esc_attr( $no ); ?>" name="portfolioimgtype[]" value="image"> </div> </div> </div> </div> </div> <?php } else { ?> <div class="eltd-portfolio-videos eltd-portfolio-media" rel="<?php echo esc_attr( $no ); ?>"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number"><?php echo esc_html( $no ); ?></span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Video - ', 'trackstore' ); ?><em><?php echo stripslashes( $portfolio_image['portfolioimgordernumber'] ); ?></em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <a href="#" class="toggle-portfolio-media"><i class="fa fa-caret-down"></i></a> <a href="#" class="remove-portfolio-media"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content" style="display: none"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <div class="eltd-media-uploader"> <em class="eltd-field-description"><?php esc_html_e( 'Cover Video Image', 'trackstore' ); ?></em> <div<?php if ( stripslashes( $portfolio_image['portfoliovideoimage'] ) == false ) { ?> style="display: none"<?php } ?> class="eltd-media-image-holder"> <img src="<?php if ( stripslashes( $portfolio_image['portfoliovideoimage'] ) == true ) { echo esc_url( trackstore_elated_get_attachment_thumb_url( stripslashes( $portfolio_image['portfoliovideoimage'] ) ) ); } ?>" alt="<?php esc_html_e( 'Image', 'trackstore' ); ?>" class="eltd-media-image img-thumbnail"/> </div> <div style="display: none" class="eltd-media-meta-fields"> <input type="hidden" class="eltd-media-upload-url" name="portfoliovideoimage[]" id="portfoliovideoimage_<?php echo esc_attr( $no ); ?>" value="<?php echo stripslashes( $portfolio_image['portfoliovideoimage'] ); ?>"/> <input type="hidden" class="eltd-media-upload-height" name="eltd_options_theme[media-upload][height]" value=""/> <input type="hidden" class="eltd-media-upload-width" name="eltd_options_theme[media-upload][width]" value=""/> </div> <a class="eltd-media-upload-btn btn btn-sm btn-primary" href="javascript:void(0)" data-frame-title="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>" data-frame-button-text="<?php esc_html_e( 'Select Image', 'trackstore' ); ?>"><?php esc_html_e( 'Upload', 'trackstore' ); ?></a> <a style="display: none;" href="javascript: void(0)" class="eltd-media-remove-btn btn btn-default btn-sm"><?php esc_html_e( 'Remove', 'trackstore' ); ?></a> </div> </div> <div class="col-lg-10"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfolioimgordernumber_<?php echo esc_attr( $no ); ?>" name="portfolioimgordernumber[]" value="<?php echo isset( $portfolio_image['portfolioimgordernumber'] ) ? esc_attr( stripslashes( $portfolio_image['portfolioimgordernumber'] ) ) : ""; ?>"> </div> </div> <div class="row next-row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Video Type', 'trackstore' ); ?></em> <select class="form-control eltd-form-element eltd-portfoliovideotype" name="portfoliovideotype[]" id="portfoliovideotype_<?php echo esc_attr( $no ); ?>"> <option value=""></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "youtube" ) { echo "selected='selected'"; } ?> value="youtube"><?php esc_html_e( 'YouTube', 'trackstore' ); ?></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "vimeo" ) { echo "selected='selected'"; } ?> value="vimeo"><?php esc_html_e( 'Vimeo', 'trackstore' ); ?></option> <option <?php if ( $portfolio_image['portfoliovideotype'] == "self" ) { echo "selected='selected'"; } ?> value="self"><?php esc_html_e( 'Self Hosted', 'trackstore' ); ?></option> </select> </div> <div class="col-lg-2 eltd-video-id-holder"> <em class="eltd-field-description"><?php esc_html_e( 'Video ID', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideoid_<?php echo esc_attr( $no ); ?>" name="portfoliovideoid[]" value="<?php echo isset( $portfolio_image['portfoliovideoid'] ) ? esc_attr( stripslashes( $portfolio_image['portfoliovideoid'] ) ) : ""; ?>"/> </div> </div> <div class="row next-row eltd-video-self-hosted-path-holder"> <div class="col-lg-4"> <em class="eltd-field-description"><?php esc_html_e( 'Video mp4', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="portfoliovideomp4_<?php echo esc_attr( $no ); ?>" name="portfoliovideomp4[]" value="<?php echo isset( $portfolio_image['portfoliovideomp4'] ) ? esc_attr( stripslashes( $portfolio_image['portfoliovideomp4'] ) ) : ""; ?>"/> </div> </div> </div> </div> <input type="hidden" id="portfolioimg_<?php echo esc_attr( $no ); ?>" name="portfolioimg[]"> <input type="hidden" id="portfolioimgtype_<?php echo esc_attr( $no ); ?>" name="portfolioimgtype[]" value="video"> </div> </div> </div> </div> </div> <?php } $no ++; } } ?> <div class="eltd-portfolio-add"> <a class="eltd-add-image btn btn-sm btn-primary" href="#"><i class="fa fa-camera"></i><?php esc_html_e( 'Add Image', 'trackstore' ); ?></a> <a class="eltd-add-video btn btn-sm btn-primary" href="#"><i class="fa fa-video-camera"></i><?php esc_html_e( 'Add Video', 'trackstore' ); ?></a> <a class="eltd-toggle-all-media btn btn-sm btn-default pull-right" href="#"><?php esc_html_e( 'Expand All', 'trackstore' ); ?></a> </div> <?php } } class TrackStoreElatedTwitterFramework implements iTrackStoreElatedRender { public function render( $factory ) { $twitterApi = ElatedfTwitterApi::getInstance(); $message = ''; if ( ! empty( $_GET['oauth_token'] ) && ! empty( $_GET['oauth_verifier'] ) ) { if ( ! empty( $_GET['oauth_token'] ) ) { update_option( $twitterApi::AUTHORIZE_TOKEN_FIELD, $_GET['oauth_token'] ); } if ( ! empty( $_GET['oauth_verifier'] ) ) { update_option( $twitterApi::AUTHORIZE_VERIFIER_FIELD, $_GET['oauth_verifier'] ); } $responseObj = $twitterApi->obtainAccessToken(); if ( $responseObj->status ) { $message = esc_html__( 'You have successfully connected with your Twitter account. If you have any issues fetching data from Twitter try reconnecting.', 'trackstore' ); } else { $message = $responseObj->message; } } $buttonText = $twitterApi->hasUserConnected() ? esc_html__( 'Re-connect with Twitter', 'trackstore' ) : esc_html__( 'Connect with Twitter', 'trackstore' ); ?> <?php if ( $message !== '' ) { ?> <div class="alert alert-success" style="margin-top: 20px;"> <span><?php echo esc_html( $message ); ?></span> </div> <?php } ?> <div class="eltd-page-form-section" id="eltd_enable_social_share"> <div class="eltd-field-desc"> <h4><?php esc_html_e( 'Connect with Twitter', 'trackstore' ); ?></h4> <p><?php esc_html_e( 'Connecting with Twitter will enable you to show your latest tweets on your site', 'trackstore' ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-12"> <a id="eltd-tw-request-token-btn" class="btn btn-primary" href="#"><?php echo esc_html( $buttonText ); ?></a> <input type="hidden" data-name="current-page-url" value="<?php echo esc_url( $twitterApi->buildCurrentPageURI() ); ?>"/> </div> </div> </div> </div> </div> <?php } } class TrackStoreElatedInstagramFramework implements iTrackStoreElatedRender { public function render( $factory ) { $instagram_api = ElatedfInstagramApi::getInstance(); $message = ''; //check if code parameter and instagram parameter is set in URL if ( ! empty( $_GET['code'] ) && ! empty( $_GET['instagram'] ) ) { //update code option so we can use it later $instagram_api->setConnectionType( 'instagram' ); $instagram_api->instagramStoreCode(); $instagram_api->instagramExchangeCodeForToken(); $message = esc_html__( 'You have successfully connected with your Instagram Personal account.', 'trackstore' ); } //check if code parameter and instagram parameter is set in URL if ( ! empty( $_GET['access_token'] ) && ! empty( $_GET['facebook'] ) ) { //update code option so we can use it later $instagram_api->setConnectionType( 'facebook' ); $instagram_api->facebookStoreToken(); $message = esc_html__( 'You have successfully connected with your Instagram Business account.', 'trackstore' ); } //check if code parameter and instagram parameter is set in URL if ( ! empty( $_GET['disconnect'] ) ) { //update code option so we can use it later $instagram_api->disconnect(); $message = esc_html__( 'You have have been disconnected from all Instagram accounts.', 'trackstore' ); } ?> <?php if ( $message !== '' ) { ?> <div class="alert alert-success"> <span><?php echo esc_html( $message ); ?></span> </div> <?php } ?> <div class="eltd-page-form-section" id="eltd_enable_social_share"> <div class="eltd-field-desc"> <h4><?php esc_html_e( 'Connect with Instagram', 'trackstore' ); ?></h4> <p><?php esc_html_e( 'Connecting with Instagram will enable you to show your latest photos on your site', 'trackstore' ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <?php $instagram_user_id = get_option( $instagram_api::INSTAGRAM_USER_ID ); $connection_type = get_option( $instagram_api::CONNECTION_TYPE ); if ( $instagram_user_id ) { ?> <div class="row"> <div class="col-lg-12"> <p><?php echo esc_html__( 'You are currently connected to Instagram ID: ', 'trackstore' ); echo esc_attr( $instagram_user_id ) ?></p> </div> </div> <?php } ?> <div class="row"> <?php if ( ! empty( $_GET['disconnect'] ) ) { ?> <div class="col-lg-4"> <a class="btn btn-primary" href="<?php echo esc_url( $instagram_api->reloadURL() ); ?>"><?php echo esc_html__( 'Reload Page', 'trackstore' ); ?></a> </div> <?php } else if ( empty( $connection_type ) ) { ?> <div class="col-lg-4"> <a class="btn btn-primary" href="<?php echo esc_url( $instagram_api->instagramRequestCode() ); ?>"><?php echo esc_html__( 'Connect with Instagram Personal account', 'trackstore' ); ?></a> </div> <!-- <div class="col-lg-4"> <a class="btn btn-primary" href="<//?php echo esc_url( $instagram_api->facebookRequestCode() ); ?>"><//?php echo esc_html__( 'Connect with Instagram Business account', 'trackstore' ); ?></a> </div> --> <?php } else { ?> <div class="col-lg-4"> <a class="btn btn-primary" href="<?php echo esc_url( $instagram_api->disconnectURL() ); ?>"><?php echo esc_html__( 'Disconnect Instagram account', 'trackstore' ) ?></a> </div> <?php } ?> </div> </div> </div> </div> <?php } } /* Class: TrackStoreElatedImagesVideos A class that initializes Elated Images Videos */ class TrackStoreElatedOptionsFramework implements iTrackStoreElatedRender { private $label; private $description; function __construct( $label = "", $description = "" ) { $this->label = $label; $this->description = $description; } public function render( $factory ) { global $post; ?> <div class="eltd-portfolio-additional-item-holder" style="display: none"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number">1</span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Additional Sidebar Item', 'trackstore' ); ?> <em><?php esc_html_e( '(Order Number, Item Title)', 'trackstore' ); ?></em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <span class="toggle-portfolio-item"><i class="fa fa-caret-up"></i></span> <a href="#" class="remove-portfolio-item"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionlabelordernumber_x" name="optionlabelordernumber_x"> </div> <div class="col-lg-10"> <em class="eltd-field-description"><?php esc_html_e( 'Item Title', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionLabel_x" name="optionLabel_x"> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Item Text', 'trackstore' ); ?></em> <textarea class="form-control eltd-input eltd-form-element" id="optionValue_x" name="optionValue_x"></textarea> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Enter Full URL for Item Text Link', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionUrl_x" name="optionUrl_x"> </div> </div> </div> </div> </div> </div> </div> <?php $no = 1; $portfolios = get_post_meta( $post->ID, 'eltd_portfolios', true ); if ( !empty( $portfolio_images) ) { if ( count( $portfolios ) > 1 && trackstore_elated_core_plugin_installed() ) { usort( $portfolios, "eltd_core_compare_portfolio_options" ); } while ( isset( $portfolios[ $no - 1 ] ) ) { $portfolio = $portfolios[ $no - 1 ]; ?> <div class="eltd-portfolio-additional-item" rel="<?php echo esc_attr( $no ); ?>"> <div class="eltd-portfolio-toggle-holder"> <div class="eltd-portfolio-toggle eltd-toggle-desc"> <span class="number"><?php echo esc_html( $no ); ?></span> <span class="eltd-toggle-inner"><?php esc_html_e( 'Additional Sidebar Item - ', 'trackstore' ); ?><em>(<?php echo stripslashes( $portfolio['optionlabelordernumber'] ); ?>, <?php echo stripslashes( $portfolio['optionLabel'] ); ?>)</em></span> </div> <div class="eltd-portfolio-toggle eltd-portfolio-control"> <span class="toggle-portfolio-item"><i class="fa fa-caret-down"></i></span> <a href="#" class="remove-portfolio-item"><i class="fa fa-times"></i></a> </div> </div> <div class="eltd-portfolio-toggle-content" style="display: none"> <div class="eltd-page-form-section"> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <em class="eltd-field-description"><?php esc_html_e( 'Order Number', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionlabelordernumber_<?php echo esc_attr( $no ); ?>" name="optionlabelordernumber[]" value="<?php echo isset( $portfolio['optionlabelordernumber'] ) ? esc_attr( stripslashes( $portfolio['optionlabelordernumber'] ) ) : ""; ?>"> </div> <div class="col-lg-10"> <em class="eltd-field-description"><?php esc_html_e( 'Item Title', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionLabel_<?php echo esc_attr( $no ); ?>" name="optionLabel[]" value="<?php echo esc_attr( stripslashes( $portfolio['optionLabel'] ) ); ?>"> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Item Text', 'trackstore' ); ?></em> <textarea class="form-control eltd-input eltd-form-element" id="optionValue_<?php echo esc_attr( $no ); ?>" name="optionValue[]"><?php echo esc_attr( stripslashes( $portfolio['optionValue'] ) ); ?></textarea> </div> </div> <div class="row next-row"> <div class="col-lg-12"> <em class="eltd-field-description"><?php esc_html_e( 'Enter Full URL for Item Text Link', 'trackstore' ); ?></em> <input type="text" class="form-control eltd-input eltd-form-element" id="optionUrl_<?php echo esc_attr( $no ); ?>" name="optionUrl[]" value="<?php echo stripslashes( $portfolio['optionUrl'] ); ?>"> </div> </div> </div> </div> </div> </div> </div> <?php $no ++; } } ?> <div class="eltd-portfolio-add"> <a class="eltd-add-item btn btn-sm btn-primary" href="#"><?php esc_html_e( 'Add New Item', 'trackstore' ); ?></a> <a class="eltd-toggle-all-item btn btn-sm btn-default pull-right" href="#"><?php esc_html_e( 'Expand All', 'trackstore' ); ?></a> </div> <?php } } class TrackStoreElatedRepeater implements iTrackStoreElatedRender { private $label; private $description; private $name; private $fields; private $num_of_rows; private $button_text; function __construct( $fields, $name, $label = '', $description = '', $button_text = '' ) { global $trackstore_elated_Framework; $this->label = $label; $this->description = $description; $this->fields = $fields; $this->name = $name; $this->num_of_rows = 1; $this->button_text = ! empty( $button_text ) ? $button_text : esc_html__( 'Add New Item', 'trackstore' ); $counter = 0; foreach ( $this->fields as $field ) { if ( ! isset( $this->fields[ $counter ]['options'] ) ) { $this->fields[ $counter ]['options'] = array(); } if ( ! isset( $this->fields[ $counter ]['args'] ) ) { $this->fields[ $counter ]['args'] = array(); } if ( ! isset( $this->fields[ $counter ]['hidden'] ) ) { $this->fields[ $counter ]['hidden'] = false; } if ( ! isset( $this->fields[ $counter ]['label'] ) ) { $this->fields[ $counter ]['label'] = ''; } if ( ! isset( $this->fields[ $counter ]['description'] ) ) { $this->fields[ $counter ]['description'] = ''; } if ( ! isset( $this->fields[ $counter ]['default_value'] ) ) { $this->fields[ $counter ]['default_value'] = ''; } $trackstore_elated_Framework->eltdMetaBoxes->addOption( $this->fields[ $counter ]['name'], $this->fields[ $counter ]['default_value'] ); $counter ++; } } public function render( $factory ) { global $post; $clones = array(); if ( ! empty( $post ) ) { $clones = get_post_meta( $post->ID, $this->fields[0]['name'], true ); } $sortable_class = 'eltd-sortable-holder'; foreach ( $this->fields as $field ) { if ( $field['type'] == 'textareahtml' ) { $sortable_class = ''; break; } } ?> <div class="eltd-repeater-wrapper"> <div class="eltd-repeater-fields-holder <?php echo esc_attr( $sortable_class ); ?> clearfix"> <?php if ( empty( $clones ) ) { //first time $counter = 0; ?> <div class="eltd-repeater-fields-row eltd-initially-hidden"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <?php foreach ( $this->fields as $field ) { ?> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => 0, 'value' => $field['default_value'] ) ); ?> </div> <?php $counter ++; } ?> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } else { $j = 0; $index = 0; $values = array(); foreach ( $this->fields as $field ) { if ( $j ++ === 0 ) { // avoid unnecessary get_post_meta call $values[] = $clones; } else { $values[] = get_post_meta( $post->ID, $field['name'], true ); } } while ( isset( $clones[ $index ] ) ) { // rows $count = 0; ?> <div class="eltd-repeater-fields-row"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <?php foreach ( $this->fields as $field ) { // columns ?> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => $index, 'value' => $values[ $count ][ $index ] ) ); ?> </div> <?php $count ++; } ?> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </div> </div> </div> <?php ++ $index; } $this->num_of_rows = $index; } ?> </div> <div class="eltd-repeater-add"> <a class="eltd-clone btn btn-sm btn-primary" data-count="<?php echo esc_attr( $this->num_of_rows ) ?>" href="#"><?php echo esc_html( $this->button_text ); ?></a> </div> </div> <?php } } class TrackStoreElatedTableRepeater implements iTrackStoreElatedRender { private $label; private $description; private $name; private $fields; private $num_of_rows; private $button_text; function __construct( $fields, $name, $label = '', $description = '', $button_text = '' ) { global $trackstore_elated_Framework; $this->label = $label; $this->description = $description; $this->fields = $fields; $this->name = $name; $this->num_of_rows = 1; $this->button_text = ! empty( $button_text ) ? $button_text : esc_html__( 'Add New', 'trackstore' ); $counter = 0; foreach ( $this->fields as $field ) { if ( ! isset( $this->fields[ $counter ]['options'] ) ) { $this->fields[ $counter ]['options'] = array(); } if ( ! isset( $this->fields[ $counter ]['args'] ) ) { $this->fields[ $counter ]['args'] = array(); } if ( ! isset( $this->fields[ $counter ]['hidden'] ) ) { $this->fields[ $counter ]['hidden'] = false; } if ( ! isset( $this->fields[ $counter ]['label'] ) ) { $this->fields[ $counter ]['label'] = ''; } if ( ! isset( $this->fields[ $counter ]['description'] ) ) { $this->fields[ $counter ]['description'] = ''; } if ( ! isset( $this->fields[ $counter ]['default_value'] ) ) { $this->fields[ $counter ]['default_value'] = ''; } $trackstore_elated_Framework->eltdMetaBoxes->addOption( $this->fields[ $counter ]['name'], $this->fields[ $counter ]['default_value'] ); $counter ++; } } public function render( $factory ) { global $post; $clones = array(); if ( ! empty( $post ) ) { $clones = get_post_meta( $post->ID, $this->fields[0]['name'], true ); } $sortable_class = 'eltd-sortable-holder'; foreach ( $this->fields as $field ) { if ( $field['type'] == 'textareahtml' ) { $sortable_class = ''; break; } } ?> <div class="eltd-repeater-wrapper eltd-question-answers"> <table class="eltd-repeater-fields-holder eltd-table-layout <?php echo esc_attr( $sortable_class ); ?> clearfix"> <thead> <tr> <th><?php esc_html_e( 'Order', 'trackstore' ) ?></th> <?php foreach ( $this->fields as $field ) { ?> <th><?php echo esc_html( $field['th'] ); ?></th> <?php } ?> <th><?php esc_html_e( 'Remove', 'trackstore' ) ?></th> </tr> </thead> <tbody class="eltd-sortable-holder"> <?php if ( empty( $clones ) ) { //first time $counter = 0; ?> <tr class="eltd-repeater-fields-row eltd-initially-hidden"> <td class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </td> <?php foreach ( $this->fields as $field ) { ?> <td> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => 0, 'value' => $field['default_value'] ) ); $counter ++; ?> </td> <?php } ?> <td class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </td> </tr> <?php } else { $j = 0; $index = 0; $values = array(); foreach ( $this->fields as $field ) { if ( $j ++ === 0 ) { // avoid unnecessary get_post_meta call $values[] = $clones; } else { $values[] = get_post_meta( $post->ID, $field['name'], true ); } } while ( isset( $clones[ $index ] ) ) { // rows $count = 0; ?> <tr class="eltd-repeater-fields-row"> <td class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </td> <?php foreach ( $this->fields as $field ) { // columns ?> <td> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => $index, 'value' => $values[ $count ][ $index ] ) ); ?> </td> <?php $count ++; } ?> <td class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </td> </tr> <?php ++ $index; } $this->num_of_rows = $index; } ?> </tbody> </table> <div class="eltd-repeater-add"> <a class="eltd-clone btn btn-sm btn-primary" data-count="<?php echo esc_attr( $this->num_of_rows ) ?>" href="#"><?php echo esc_html( $this->button_text ); ?></a> </div> </div> <?php } } class TrackStoreElatedRowRepeater implements iTrackStoreElatedRender { private $label; private $description; private $name; private $fields; private $num_of_rows; private $button_text; function __construct( $fields, $name, $label = '', $description = '', $button_text = '' ) { global $trackstore_elated_Framework; $this->label = $label; $this->description = $description; $this->fields = $fields; $this->name = $name; $this->num_of_rows = 1; $this->button_text = ! empty( $button_text ) ? $button_text : esc_html__( 'Add New Item', 'trackstore' ); $counter = 0; foreach ( $this->fields as $field ) { if ( ! isset( $this->fields[ $counter ]['options'] ) ) { $this->fields[ $counter ]['options'] = array(); } if ( ! isset( $this->fields[ $counter ]['args'] ) ) { $this->fields[ $counter ]['args'] = array(); } if ( ! isset( $this->fields[ $counter ]['hidden'] ) ) { $this->fields[ $counter ]['hidden'] = false; } if ( ! isset( $this->fields[ $counter ]['label'] ) ) { $this->fields[ $counter ]['label'] = ''; } if ( ! isset( $this->fields[ $counter ]['description'] ) ) { $this->fields[ $counter ]['description'] = ''; } if ( ! isset( $this->fields[ $counter ]['default_value'] ) ) { $this->fields[ $counter ]['default_value'] = ''; } $trackstore_elated_Framework->eltdMetaBoxes->addOption( $this->fields[ $counter ]['name'], $this->fields[ $counter ]['default_value'] ); $counter ++; } } public function render( $factory ) { global $post; $clones = array(); if ( ! empty( $post ) ) { $clones = get_post_meta( $post->ID, $this->fields[0]['name'], true ); } $sortable_class = 'eltd-sortable-holder'; foreach ( $this->fields as $field ) { if ( $field['type'] == 'textareahtml' ) { $sortable_class = ''; break; } } ?> <div class="eltd-repeater-wrapper eltd-repeater-row-type"> <div class="eltd-repeater-fields-holder <?php echo esc_attr( $sortable_class ); ?> clearfix"> <?php if ( empty( $clones ) ) { //first time $counter = 0; ?> <div class="eltd-repeater-fields-row eltd-initially-hidden"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-rows-holder"> <div class="row"> <?php foreach ( $this->fields as $field ) { ?> <div class="col-lg-<?php echo esc_attr( $field['size'] ) ?>"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => 0, 'value' => $field['default_value'] ) ); ?> </div> <?php $counter ++; } ?> </div> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } else { $j = 0; $index = 0; $values = array(); foreach ( $this->fields as $field ) { if ( $j ++ === 0 ) { // avoid unnecessary get_post_meta call $values[] = $clones; } else { $values[] = get_post_meta( $post->ID, $field['name'], true ); } } while ( isset( $clones[ $index ] ) ) { // rows $count = 0; ?> <div class="eltd-repeater-fields-row"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-rows-holder"> <?php foreach ( $this->fields as $field ) { // columns ?> <div class="col-lg-<?php echo esc_attr( $field['size'] ) ?>"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => $index, 'value' => $values[ $count ][ $index ] ) ); ?> </div> <?php $count ++; } ?> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#"><i class="fa fa-times"></i></a> </div> </div> </div> <?php ++ $index; } $this->num_of_rows = $index; } ?> </div> <div class="eltd-repeater-add"> <a class="eltd-clone btn btn-sm btn-primary" data-count="<?php echo esc_attr( $this->num_of_rows ) ?>" href="#"><?php echo esc_html( $this->button_text ); ?></a> </div> </div> <?php } } class TrackStoreElatedParentChildRepeater implements iTrackStoreElatedRender { private $num_of_rows; private $name; private $label; private $description; private $fields; private $not_used_fields; function __construct( $name, $label, $description, $fields ) { global $trackstore_elated_Framework; $this->num_of_rows = 1; $this->name = $name; $this->label = $label; $this->description = $description; $this->fields = $fields; $counter = 0; foreach ( $this->fields as $field ) { if ( ! isset( $this->fields[ $counter ]['options'] ) ) { $this->fields[ $counter ]['options'] = array(); } if ( ! isset( $this->fields[ $counter ]['args'] ) ) { $this->fields[ $counter ]['args'] = array(); } if ( ! isset( $this->fields[ $counter ]['hidden'] ) ) { $this->fields[ $counter ]['hidden'] = false; } if ( ! isset( $this->fields[ $counter ]['label'] ) ) { $this->fields[ $counter ]['label'] = ''; } if ( ! isset( $this->fields[ $counter ]['description'] ) ) { $this->fields[ $counter ]['description'] = ''; } if ( ! isset( $this->fields[ $counter ]['default_value'] ) ) { $this->fields[ $counter ]['default_value'] = ''; } $counter ++; } $this->not_used_fields = $this->fields; $trackstore_elated_Framework->eltdMetaBoxes->addOption( $this->name, "" ); } public function render( $factory ) { global $post; $clones = array(); if ( ! empty( $post ) ) { $clones = get_post_meta( $post->ID, $this->name, true ); } ?> <div class="eltd-repeater-wrapper"> <div class="eltd-repeater-fields-holder eltd-enable-pc eltd-sortable-holder clearfix" data-fields-number="<?php echo esc_attr( sizeof( $this->fields ) ) ?>"> <?php if ( empty( $clones ) ) { foreach ( $this->fields as $field ) { $sorting_class = 'eltd-sort-' . $field['role']; if ( $field['role'] == 'parent' ) { $sorting_class .= ' first-level'; } else { $sorting_class .= ' second-level'; } ?> <div class="eltd-repeater-fields-row <?php echo esc_attr( $sorting_class ); ?> eltd-initially-hidden" data-name="<?php echo esc_attr( $field['name'] ); ?>"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => 0, 'name' => $this->name, 'value' => $field['default_value'] ) ); ?> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#" data-name="<?php echo esc_attr( $field['name'] ); ?>"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } } else { $index = 0; $values = $clones; foreach ( $values as $value ) { if ( is_numeric( $value ) ) { $type = get_post_type( $value ); foreach ( $this->fields as $key => $field ) { if ( $field['name'] == $type ) { unset( $this->not_used_fields[ $key ] ); $sorting_class = 'eltd-sort-' . $field['role']; if ( $field['role'] == 'parent' ) { $sorting_class .= ' first-level'; } else { $sorting_class .= ' second-level'; } ?> <div class="eltd-repeater-fields-row <?php echo esc_attr( $sorting_class ); ?>" data-name="<?php echo esc_attr( $field['name'] ); ?>"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => $index, 'name' => $this->name, 'value' => $value ) ); ?> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" data-name="<?php echo esc_attr( $field['name'] ); ?>" href="#"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } } } else { foreach ( $this->fields as $key => $field ) { if ( $field['role'] == 'parent' ) { unset( $this->not_used_fields[ $key ] ); $sorting_class = 'eltd-sort-parent'; $sorting_class .= ' first-level'; ?> <div class="eltd-repeater-fields-row <?php echo esc_attr( $sorting_class ); ?>" data-name="<?php echo esc_attr( $field['name'] ); ?>"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => $index, 'name' => $this->name, 'value' => $value ) ); ?> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#" data-name="<?php echo esc_attr( $field['name'] ); ?>"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } } } ++ $index; } foreach ( $this->not_used_fields as $field ) { $sorting_class = 'eltd-sort-' . $field['role']; if ( $field['role'] == 'parent' ) { $sorting_class .= ' first-level'; } else { $sorting_class .= ' second-level'; } ?> <div class="eltd-repeater-fields-row <?php echo esc_attr( $sorting_class ); ?> eltd-initially-hidden" data-name="<?php echo esc_attr( $field['name'] ); ?>"> <div class="eltd-repeater-fields-row-inner"> <div class="eltd-repeater-sort"> <i class="fa fa-sort"></i> </div> <div class="eltd-repeater-field-item"> <?php $factory->render( $field['type'], $field['name'], $field['label'], $field['description'], $field['options'], $field['args'], $field['hidden'], array( 'index' => 0, 'name' => $this->name, 'value' => $field['default_value'] ) ); ?> </div> <div class="eltd-repeater-remove"> <a class="eltd-clone-remove" href="#" data-name="<?php echo esc_attr( $field['name'] ); ?>"><i class="fa fa-times"></i></a> </div> </div> </div> <?php } } ?> </div> <?php foreach ( $this->fields as $field ) { ?> <div class="eltd-repeater-add"> <a class="eltd-clone btn btn-sm btn-primary" data-count="<?php echo esc_attr( $this->num_of_rows ) ?>" data-name="<?php echo esc_attr( $field['name'] ) ?>" href="#"><?php echo esc_html( $field['button_text'] ); ?></a> </div> <?php } ?> </div> <?php } } class TrackStoreElatedFieldAddress extends TrackStoreElatedFieldType { public function render( $name, $label = "", $description = "", $options = array(), $args = array(), $hidden = false, $repeat = array() ) { $col_width = 12; if ( isset( $args["col_width"] ) ) { $col_width = $args["col_width"]; } $suffix = ! empty( $args['suffix'] ) ? $args['suffix'] : false; $class = $id = $country = $lat_field = $long_field = ''; if ( ! empty( $repeat ) ) { if ( array_key_exists( 'index', $repeat ) ) { $id = $name . '-' . $repeat['index']; } else { $id = $name; } if ( array_key_exists( 'name', $repeat ) ) { $name = $repeat['name']; } $name .= '[]'; $value = $repeat['value']; $class = 'eltd-repeater-field'; } else { $id = $name; $value = trackstore_elated_option_get_value( $name ); } if ( $label === '' && $description === '' ) { $class .= ' eltd-no-description'; } if ( isset( $args['country'] ) && $args['country'] != '' ) { $country = $args['country']; } if ( isset( $args['latitude_field'] ) && $args['latitude_field'] != '' ) { $lat_field = $args['latitude_field']; } if ( isset( $args['longitude_field'] ) && $args['longitude_field'] != '' ) { $long_field = $args['longitude_field']; } ?> <div class="eltd-page-form-section eltd-address-field <?php echo esc_attr( $class ); ?>" data-country="<?php echo esc_attr( $country ); ?>" data-lat-field="<?php echo esc_attr( $lat_field ); ?>" data-long-field="<?php echo esc_attr( $long_field ); ?>" id="eltd_<?php echo esc_attr( $id ); ?>"<?php if ( $hidden ) { ?> style="display: none"<?php } ?>> <div class="eltd-field-desc"> <h4><?php echo esc_html( $label ); ?></h4> <p><?php echo esc_html( $description ); ?></p> </div> <div class="eltd-section-content"> <div class="container-fluid"> <div class="row"> <div class="col-lg-<?php echo esc_attr( $col_width ); ?>"> <?php if ( $suffix ) : ?> <div class="input-group"> <?php endif; ?> <input type="text" class="form-control eltd-input eltd-form-element" name="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( htmlspecialchars( $value ) ); ?>"/> <?php if ( $suffix ) : ?> <div class="input-group-addon"><?php echo esc_html( $args['suffix'] ); ?></div> <?php endif; ?> <?php if ( $suffix ) : ?> </div> <?php endif; ?> <div class="map_canvas"></div> <button id="find" class="btn btn-primary"><?php esc_html_e( 'Place the pin on the map', 'trackstore' ); ?></button> <a id="reset" href="#" style="display:none;"><?php esc_html_e( 'Reset Marker', 'trackstore' ); ?></a> </div> </div> </div> </div> </div> <?php } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка