public static function load_html_templates() { ob_start(); ?> <span class="button" id="load_html_templates"><?php self::_e('Load HTML Templates'); ?> </span> <script type="text/javascript"> //<![CDATA[ jQuery("#load_html_templates").on('click', function(event) { event.preventDefault(); jQuery("#load_html_templates").html(si_js_object.inline_spinner); if( confirm( '<?php si_e('Are you sure? This will delete any customized notifications and replace them with the default HTML templates.'); ?> ' ) ) { jQuery.post( ajaxurl, { action: 'si_load_html_templates' }, function( data ) { jQuery("#load_html_templates").removeClass('button'); jQuery("#load_html_templates").html('<?php si_e('All done'); ?> '); jQuery('[name="si_notification_format"]').val('HTML'); } ); } }); //]]> </script> <?php return ob_get_clean(); }
sa_formatted_money($subtotal, $doc_id); ?> </td> </tr> <?php } ?> <tr class="total" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0; padding: 0;"><td class="alignleft" width="80%" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; text-align: right; border-bottom-color: #333; border-bottom-width: 2px; border-bottom-style: solid; font-weight: 700; margin: 0; padding: 5px 0;" align="left" valign="top"><?php si_e('Total'); ?> </td> <td class="alignright" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; text-align: right; border-bottom-color: #333; border-bottom-width: 2px; border-bottom-style: solid; font-weight: 700; margin: 0; padding: 5px 0;" align="right" valign="top"><?php sa_formatted_money($total, $doc_id); ?> </td> <?php if ($due) { ?> <tr class="total" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0; padding: 0;"><td class="alignright" width="80%" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; text-align: right; font-weight: 700; margin: 0; padding: 5px 0;" align="right" valign="top"><?php si_e('Total Due'); ?> </td> <td class="alignright" style="font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; text-align: right; font-weight: 700; margin: 0; padding: 5px 0;" align="right" valign="top"><?php sa_formatted_money($due, $doc_id); ?> </td> </tr> <?php } ?> </table>
<div id="send_doc_options_wrap" class="admin_fields clearfix"> <?php sa_admin_fields($fields, 'send_metabox'); ?> <div id="quick_send_option" class="form-group"> <span class="label_wrap"> </span> <div class="input_wrap"> <a href="javascript:void(0)" class="button" id="send_doc_notification"><?php si_e('Send Estimate'); ?> </a> <span class="helptip" title="<?php si_e("Make sure to save all information before sending your estimate."); ?> "></span> </div> </div> </div>
<?php echo wpautop($r_post->post_content); ?> <?php } ?> </dd> <?php } ?> </dl> <div id="private_note_wrap"> <p> <textarea id="private_note" name="private_note" class="clearfix"></textarea> <a href="javascript:void(0)" id="save_private_note" class="button" data-post-id="<?php the_ID(); ?> " data-nonce="<?php echo wp_create_nonce(SI_Internal_Records::NONCE); ?> "><?php si_e('Save'); ?> </a> <span class="helptip" title="<?php si_e("These private notes will be added to the history."); ?> "></span> </p> </div>
<?php } ?> </div> <div id="edit-slug-box" class="clearfix"> <b><?php si_e('Permalink'); ?> </b> <span id="permalink-select" tabindex="-1"><?php echo get_permalink($id); ?> </span> <span id="view-post-btn"><a href="<?php echo get_permalink($id); ?> " class="button button-small"><?php si_e('View Estimate'); ?> </a></span> <?php if (apply_filters('show_upgrade_messaging', true)) { printf(si__('<span class="helptip" title="Upgrade for Private URLs"></span>'), si_get_purchase_link()); } ?> </div> </div>
<div id="send_doc_options_wrap" class="admin_fields clearfix"> <?php sa_admin_fields($fields, 'send_metabox'); ?> <div id="quick_send_option" class="form-group"> <span class="label_wrap"> </span> <div class="input_wrap"> <a href="javascript:void(0)" class="button" id="send_doc_notification"><?php si_e('Send Invoice'); ?> </a> <span class="helptip" title="<?php si_e("Make sure to save all information before sending your invoice."); ?> "></span> </div> </div> </div>
<?php $editor_settings = array('media_buttons' => false, 'textarea_rows' => 4, 'theme_styles' => false); ?> <h3><?php si_e('Terms'); ?> <span class="helptip" title="<?php si_e("Terms will be shown on the estimate."); ?> "></span></h3> <?php wp_editor_styleless($terms, 'estimate_terms', $editor_settings); ?> <h3><?php si_e('Notes'); ?> <span class="helptip" title="<?php si_e("These notes will be shown on the estimate."); ?> "></span></h3> <?php wp_editor_styleless($notes, 'estimate_notes', $editor_settings);
?> <?php } ?> </dl> </div> <?php $media = get_attached_media(''); ?> <?php if (!empty($media)) { ?> <p> <h3><?php si_e('Attachments'); ?> </h3> <ul> <?php foreach ($media as $id => $mpost) { ?> <?php $img = wp_get_attachment_image_src($id, 'thumbnail', true); ?> <li><a href="<?php echo wp_get_attachment_url($id); ?> " target="_blank" class="attachment_url"><img src="<?php echo esc_url($img[0]); ?>
<?php $editor_settings = array('media_buttons' => false, 'textarea_rows' => 4, 'theme_styles' => false); ?> <h3><?php si_e('Terms'); ?> <span class="helptip" title="<?php si_e("Terms will be shown on the invoice."); ?> "></span></h3> <?php wp_editor_styleless($terms, 'invoice_terms', $editor_settings); ?> <h3><?php si_e('Notes'); ?> <span class="helptip" title="<?php si_e("These notes will be shown on the invoice."); ?> "></span></h3> <?php wp_editor_styleless($notes, 'invoice_notes', $editor_settings);
echo get_post_time(get_option('date_format'), false, $estimate_id); ?> </dt> <dd><?php printf('<a href="%s">%s</a>', get_edit_post_link($estimate_id), get_the_title($estimate_id)); ?> </dd> <?php } ?> </dl> <?php } else { ?> <em><?php si_e('No estimates'); ?> </em> <?php } ?> </p> <div class="clear"></div> </div><!-- #minor-publishing --> <div id="major-publishing-actions"> <?php do_action('post_submitbox_start'); ?> <div id="delete-action"> <?php
public static function display_table() { add_thickbox(); //Create an instance of our package class... $wp_list_table = new SI_Payments_Table(); //Fetch, prepare, sort, and filter our data... $wp_list_table->prepare_items(); ?> <script type="text/javascript"> jQuery(document).ready(function($){ jQuery(".si_void_payment").on('click', function(event) { event.preventDefault(); var $void_button = $( this ), void_payment_id = $void_button.attr( 'ref' ), notes_form = $( '#transaction_data_' + void_payment_id ).val(); $void_button.html("<?php si_e('Working...'); ?> "); $.post( ajaxurl, { action: 'si_void_payment', payment_id: void_payment_id, notes: notes_form, void_payment_nonce: '<?php echo wp_create_nonce(SI_Controller::NONCE); ?> ' }, function( data ) { self.parent.tb_remove(); $('#void_link_'+void_payment_id).closest('tr').fadeOut('slow'); } ); }); jQuery(".si_attempt_capture").on('click', function(event) { event.preventDefault(); if( confirm( '<?php si_e('Are you sure? This will force a capture attempt on this payment.'); ?> ' ) ) { var $capture_link = $( this ), capture_payment_id = $capture_link.attr( 'ref' ); $capture_link.html('<?php si_e('Working...'); ?> '); $.post( ajaxurl, { action: 'si_manually_capture_payment', payment_id: capture_payment_id, capture_payment_nonce: '<?php echo wp_create_nonce(SI_Payment_Processors::AJAX_NONCE); ?> ' }, function( data ) { window.location = window.location.pathname + "?post_type=sa_invoice&page=sprout-apps/invoice_payments&s=" + escape( capture_payment_id ); } ); } }); jQuery(".si_mark_complete").on('click', function(event) { event.preventDefault(); if( confirm( '<?php si_e('Are you sure? This will mark the payment as complete.'); ?> ' ) ) { var $complete_link = $( this ), complete_payment_id = $complete_link.attr( 'ref' ); $complete_link.html('<?php si_e('Working...'); ?> '); $.post( ajaxurl, { action: 'si_mark_payment_complete', payment_id: complete_payment_id, complete_payment_nonce: '<?php echo wp_create_nonce(SI_Payment_Processors::AJAX_NONCE); ?> ' }, function( data ) { window.location = window.location.pathname + "?post_type=sa_invoice&page=sprout-apps/invoice_payments&s=" + escape( complete_payment_id ); } ); } }); }); </script> <div class="wrap"> <h2> <?php si_e('Invoice Payments'); ?> </h2> <?php $wp_list_table->views(); ?> <form id="payments-filter" method="get"> <input type="hidden" name="page" value="<?php echo esc_attr($_REQUEST['page']); ?> " /> <?php $wp_list_table->search_box(self::__('Search'), 'payment_id'); ?> <?php $wp_list_table->display(); ?> </form> </div> <?php }
<?php if (apply_filters('show_upgrade_messaging', true)) { ?> <div id="deposit"> <b title="Upgrade Sprout Invoices to enable deposits." class="helptip"><?php si_e('Deposit Due'); ?> </b> <input type="number" name="deposit" min="0" max="0" step="any" disabled="disabled"> </div> <?php } elseif (floatval($total - $total_payments) > 0.0 || $status == 'auto-draft' || $status == 'temp') { ?> <div id="deposit"> <b title="Set the amount due for the next payment—the amount due will be used if blank" class="helptip"><?php si_e('Deposit Due'); ?> </b> <input type="number" name="deposit" value="<?php echo (double) $deposit; ?> " min="0" max="<?php echo floatval($total - $total_payments); ?> " step="any"> </div> <?php } ?> </div>
function column_total($item) { $payment = SI_Payment::get_instance($item->ID); $invoice_id = $payment->get_invoice_id(); if ($invoice_id) { $invoice = SI_Invoice::get_instance($invoice_id); if (is_a($invoice, 'SI_Invoice')) { echo '<strong>' . si__('Payment Total') . ':</strong> ' . sa_get_formatted_money($payment->get_amount()) . '<br/>'; echo '<em>' . si__('Invoice Balance') . ': ' . sa_get_formatted_money($invoice->get_balance(), $invoice->get_id()) . '</em><br/>'; echo '<em>' . si__('Invoice Total') . ': ' . sa_get_formatted_money($invoice->get_total(), $invoice->get_id()) . '</em>'; } else { si_e('No invoice found'); } } else { printf(si__('No invoice associated with this payment.')); } }
<div id="project_fields" class="admin_fields clearfix"> <?php sa_admin_fields($fields); ?> </div> <h3><?php si_e('Project Brief'); ?> <span class="helptip" title="<?php si_e("General project brief."); ?> "></span></h3> <?php $editor_settings = array('media_buttons' => false, 'textarea_rows' => 4, 'theme_styles' => false); wp_editor_styleless($project->get_content(), 'content', $editor_settings);
public static function display_table() { add_thickbox(); //Create an instance of our package class... $wp_list_table = new SI_Records_Table(); //Fetch, prepare, sort, and filter our data... $wp_list_table->prepare_items(); ?> <script type="text/javascript"> jQuery(document).ready(function($){ jQuery(".show_record_detail").live('click', function(e) { e.preventDefault(); var record_id = $(this).parent().attr("id"); $('#'+record_id).remove(); $('#record_detail_'+record_id).toggle(); }); }); </script> <div class="wrap"> <h2> <?php si_e('Sprout Invoices Records'); ?> </h2> <?php self::maybe_purge_records(); ?> <form id="records-filter" method="get"> <input type="hidden" name="page" value="<?php echo esc_attr($_REQUEST['page']); ?> " /> <?php $wp_list_table->display(); ?> </form> </div> <?php }
<div class="clear"></div> </div><!-- #minor-publishing --> <div id="major-publishing-actions"> <?php do_action('post_submitbox_start'); ?> <div id="delete-action"> <span id="notification_type_disabled_wrap"> <input type="checkbox" id="notification_type_disabled" name="notification_type_disabled" value="TRUE" <?php checked('TRUE', $disabled); ?> /> <?php si_e('Disabled'); ?> </span> <?php if (current_user_can('delete_post', $post->ID)) { ?> <a class="submitdelete deletion" href="<?php echo get_delete_post_link($post->ID, null, true); ?> "><?php self::_e('Delete'); ?> </a><?php } ?>
<!-- User Creation Form --> <div id="user_creation_modal" style="display:none;"> <div id="user_create_form" class="clearfix"> <?php sa_form_fields($fields, 'user'); ?> </div> <p> <a href="javascript:void(0)" id="create_user" class="button button-large button-primary"><?php si_e('Create user'); ?> </a> </p> </div>
function column_data($item) { $record = SI_Record::get_instance($item->ID); $data = $record->get_data(); if ($data != '') { ?> <a href="#TB_inline?width=900&height=600&inlineId=data_id_<?php echo esc_attr($item->ID); ?> " class="thickbox button" title="<?php echo esc_attr($item->post_title); ?> <?php si_e('Data'); ?> "><?php si_e('View Data'); ?> </a> <?php if (is_array($data)) { ?> <div id="data_id_<?php echo esc_attr($item->ID); ?> " style="display:none;"><pre style="white-space:pre-wrap; text-align: left; font: normal normal 11px/1.4 menlo, monaco, monospaced; padding: 5px;"><?php print_r($data); ?> </pre></div> <?php } else { ?> <div id="data_id_<?php echo esc_attr($item->ID); ?> " style="display:none;"><?php echo apply_filters('the_content', $data); ?> </div> <?php } ?> <?php } }
/** * Template selection for advanced client options * @param string $type invoice/estimate * @param integer $client_id * @return */ public static function client_template_options($type = 'invoice', $client_id = 0) { ob_start(); $template_options = $type != 'estimate' ? self::get_invoice_templates() : self::get_estimate_templates(); $doc_type_name = $type != 'estimate' ? self::__('invoice') : self::__('estimate'); $template = $type != 'estimate' ? self::get_client_invoice_template($client_id) : self::get_client_estimate_template($client_id); ?> <div class="misc-pub-section" data-edit-id="template" data-edit-type="select"> <span id="template" class="wp-media-buttons-icon"><b><?php echo esc_html($template_options[$template]); ?> </b> <span title="<?php printf(self::__('Select a custom %s template.'), $doc_type_name); ?> " class="helptip"></span></span> <a href="#edit_template" class="edit-template hide-if-no-js edit_control" > <span aria-hidden="true"><?php si_e('Edit'); ?> </span> <span class="screen-reader-text"><?php si_e('Select different template'); ?> </span> </a> <div id="template_div" class="control_wrap hide-if-js"> <div class="template-wrap"> <?php if (count($template_options) > 1) { ?> <select name="doc_template_<?php echo esc_attr($doc_type_name); ?> "> <?php foreach ($template_options as $template_key => $template_name) { ?> <?php printf('<option value="%s" %s>%s</option>', $template_key, selected($template_key, $template, false), $template_name); ?> <?php } ?> </select> <?php } else { ?> <span><?php printf(si__('No <a href="%s" target="_blank">Custom Templates</a> Found'), 'https://sproutapps.co/support/knowledgebase/sprout-invoices/customizing-templates/'); ?> </span> <?php } ?> </div> <p> <a href="#edit_template" class="save_control save-template hide-if-no-js button"><?php si_e('OK'); ?> </a> <a href="#edit_template" class="cancel_control cancel-template hide-if-no-js button-cancel"><?php si_e('Cancel'); ?> </a> </p> </div> </div> <?php $view = ob_get_clean(); return $view; }
<!-- Create Client Form --> <div id="client_creation_modal" style="display:none;"> <div id="client_create_form" class="clearfix"> <?php sa_form_fields($fields, 'client'); ?> </div> <p> <a href="javascript:void(0)" id="create_client" class="button button-large button-primary"><?php si_e('Create client'); ?> </a> </p> </div>
function si_line_item_header_front_end($context = '', $show_tax = true) { ob_start(); ?> <div class="column column_desc"> <?php si_e('Description'); ?> </div> <!-- / desc --> <div class="column column_rate"> <?php si_e('Rate'); ?> </div> <!-- / rate --> <div class="column column_qty"> <?php si_e('Qty'); ?> </div> <!-- / qty --> <?php if ($show_tax) { ?> <div class="column column_tax"> <?php si_e('%'); ?> <span class="helptip" title="<?php si_e('A percentage adjustment per line item, i.e. tax or discount'); ?> "></span> </div> <!-- / tax --> <?php } ?> <!-- amount --> <div class="column column_total"> <?php si_e('Amount'); ?> </div> <!-- / amount --> <?php $header = ob_get_clean(); return apply_filters('si_line_item_header_front_end', $header, $context, $show_tax); }
?> <p> <?php echo esc_html($r_post->post_title); ?> <br/><a href="#TB_inline?width=600&height=380&inlineId=notification_message_<?php echo (int) $r_post->ID; ?> " id="show_notification_tb_link_<?php echo (int) $r_post->ID; ?> " class="thickbox si_tooltip notification_message" title="<?php si_e('View Message'); ?> "><?php si_e('View Message'); ?> </a> </p> <div id="notification_message_<?php echo (int) $r_post->ID; ?> " class="cloak"> <?php echo wpautop($r_post->post_content); ?> </div> <?php } else { ?> <?php
</td> </tr> <?php } ?> </tbody> </table> </fieldset> </div> <div class="checkout-controls clearfix"> <?php do_action('si_credit_card_form_controls', $checkout); ?> <?php do_action('si_credit_card_review_controls', $checkout); ?> <input type="hidden" name="<?php echo SI_Checkouts::CHECKOUT_ACTION; ?> " value="<?php echo SI_Checkouts::REVIEW_PAGE; ?> " /> <input class="form-submit submit checkout_next_step" type="submit" value="<?php si_e('Submit Order'); ?> " name="si_checkout_button" /> </div> </form>
/** * Loop through the fields set for the form and build the markup. * @param array $fields * @param string $context * @return string */ function sa_admin_fields($fields, $context = 'metabox') { foreach ($fields as $key => $data) { ?> <div id="si_admin_field_<?php echo esc_attr($context); ?> _<?php echo esc_attr($key); ?> " class="form-group<?php if ($data['type'] == 'hidden') { echo " hidden"; } ?> "> <?php if ($data['type'] == 'heading') { ?> <legend class="legend form-heading" ><?php si_e($data['label']); ?> </legend> <?php } elseif ($data['type'] != 'checkbox') { ?> <span class="label_wrap"><?php sa_form_label($key, $data, $context); ?> </span> <div class="input_wrap"><?php sa_form_field($key, $data, $context); ?> </div> <?php } else { ?> <div class="checkbox input_wrap"> <label for="sa_<?php echo esc_attr($context); ?> _<?php echo esc_attr($key); ?> "> <?php // add class by modifying the attributes. $data['attributes']['class'] = 'checkbox'; ?> <?php sa_form_field($key, $data, $context); ?> <?php si_e($data['label']); ?> </label> <?php if (!empty($data['description'])) { ?> <p class="description help_block"><?php si_e($data['description']); ?> </p> <?php } ?> </div> <?php } ?> </div> <?php } }
?> <?php } ?> </dd> <?php } ?> </div><!-- #doc_history --> <div id="footer_credit"> <?php do_action('si_document_footer_credit'); ?> <!--<p><?php si_e('Powered by Sprout Invoices'); ?> </p>--> </div><!-- #footer_messaging --> </body> <?php do_action('si_document_footer'); ?> <?php si_footer(); ?> </html> <?php do_action('estimate_viewed');
?> <?php printf('<b>End</b>—%s', date_i18n(get_option('date_format'), $project->get_end_date())); ?> <?php } else { ?> <?php si_e('No start and/or end date set.'); ?> <?php } ?> </dd> <?php } ?> </dl> <?php } else { ?> <em><?php si_e('No projects'); ?> </em> <?php } ?> </p> <hr/>
<?php /** * DO NOT EDIT THIS FILE! Instead customize it via a theme override. * * Any edit will not be saved when this plugin is upgraded. Not upgrading will prevent you from receiving new features, * limit our ability to support your site and potentially expose your site to security risk that an upgrade has fixed. * * https://sproutapps.co/support/knowledgebase/sprout-invoices/customizing-templates/ * * You find something that you're not able to customize? We want your experience to be awesome so let support know and we'll be able to help you. * */ ?> <form id="si_estimate_submission" method="post" action="" enctype="multipart/form-data"> <?php sa_form_fields($fields, 'estimate'); ?> <div class="form-actions"> <input type="submit" class="btn btn-primary" value="<?php si_e('Submit'); ?> " /> </div> </form>
?> <p> <?php echo esc_html($data['update_title']); ?> <br/><a href="#TB_inline?width=600&height=380&inlineId=notification_message_<?php echo (int) $item_id; ?> " id="show_notification_tb_link_<?php echo (int) $item_id; ?> " class="thickbox si_tooltip notification_message" title="<?php si_e('View Data'); ?> "><?php si_e('View Data'); ?> </a> </p> <div id="notification_message_<?php echo (int) $item_id; ?> " class="cloak"> <?php prp(json_decode($data['content'])); ?> </div> <?php } elseif ($data['status_type'] == SI_Invoices::VIEWED_STATUS_UPDATE) { ?> <p>
?> </span> <span class="screen-reader-text"><?php si_e('Edit tax'); ?> </span> </a> <span title="Tax is applied before the discount." class="si_tooltip"></span> <div id="tax2_div" class="control_wrap hide-if-js"> <div class="tax2-wrap"> <input type="text" name="tax2" value="<?php echo (double) $tax2; ?> " size="3">% </div> <p> <a href="#edit_tax2" class="save_control save-tax2 hide-if-no-js button"><?php si_e('OK'); ?> </a> <a href="#edit_tax2" class="cancel_control cancel-tax2 hide-if-no-js button-cancel"><?php si_e('Cancel'); ?> </a> </p> </div> </div> <?php do_action('doc_information_meta_box_last', $estimate);
<div id="admin_payments_options_wrap" class="admin_fields clearfix"> <?php sa_admin_fields($fields); ?> <div id="admin_payments_option" class="form-group"> <span class="label_wrap"> </span> <div class="input_wrap"> <a href="javascript:void(0)" class="button" id="add_admin_payments"><?php si_e('Quick Add'); ?> </a> <span class="helptip" title="<?php si_e("Add the payment now or save/update the invoice above"); ?> "></span> </div> </div> </div>