From fed7ae332da5884032f020c61eaab1b160f7160b Mon Sep 17 00:00:00 2001 From: Jon Belelieu Date: Mon, 29 Feb 2016 16:38:40 -0500 Subject: [PATCH] Initial Commit --- .DS_Store | Bin 0 -> 18436 bytes .htaccess | 65 + .idea/.DS_Store | Bin 0 -> 6148 bytes .idea/.name | 1 + .idea/dev.iml | 8 + .idea/encodings.xml | 4 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/scopes/scope_settings.xml | 5 + .idea/vcs.xml | 6 + .idea/workspace.xml | 1012 + LICENSE | 633 + admin/.DS_Store | Bin 0 -> 18436 bytes admin/cp-classes/Facebook.class.php | 172 + admin/cp-classes/Gibberish.class.php | 1 + admin/cp-classes/ValidatorV2.class.php | 915 + admin/cp-classes/account.class.php | 1 + admin/cp-classes/admin.class.php | 1 + admin/cp-classes/admin_extensions.class.php | 282 + admin/cp-classes/announcements.class.php | 1 + admin/cp-classes/backup.class.php | 1 + admin/cp-classes/base_facebook.php | 1494 + admin/cp-classes/bind.class.php | 1 + admin/cp-classes/calendar.class.php | 332 + admin/cp-classes/campaign.class.php | 1 + admin/cp-classes/captcha.class.php | 1 + admin/cp-classes/cart.class.php | 1 + admin/cp-classes/conditions.class.php | 276 + admin/cp-classes/connect.class.php | 1 + admin/cp-classes/contact.class.php | 1 + admin/cp-classes/content.class.php | 1 + admin/cp-classes/criteria.class.php | 1 + admin/cp-classes/db.class.php | 1 + admin/cp-classes/delete.class.php | 1 + admin/cp-classes/email.class.php | 1 + admin/cp-classes/encryption.class.php | 1 + admin/cp-classes/event.class.php | 1 + admin/cp-classes/export.class.php | 1 + admin/cp-classes/field.class.php | 1 + admin/cp-classes/fielder.class.php | 1 + admin/cp-classes/form.class.php | 1 + admin/cp-classes/form_builder.class.php | 1 + admin/cp-classes/graph.class.php | 1 + admin/cp-classes/history.class.php | 1 + admin/cp-classes/homepage_widgets.class.php | 1 + admin/cp-classes/img.class.php | 1 + admin/cp-classes/import.class.php | 1 + admin/cp-classes/inbox.class.php | 1 + admin/cp-classes/inlinecss.class.php | 1 + admin/cp-classes/invoice.class.php | 1 + admin/cp-classes/modrewrite.class.php | 1 + admin/cp-classes/notes.class.php | 1 + admin/cp-classes/ownership.class.php | 1 + admin/cp-classes/pagination.class.php | 1 + admin/cp-classes/permissions.class.php | 1 + admin/cp-classes/plugin.class.php | 1 + admin/cp-classes/printer.class.php | 1 + admin/cp-classes/product.class.php | 1 + admin/cp-classes/qqFileUploader.class.php | 1 + admin/cp-classes/qqUploadedFileForm.class.php | 1 + admin/cp-classes/qqUploadedFileXhr.class.php | 1 + admin/cp-classes/session.class.php | 1 + admin/cp-classes/site.class.php | 1 + admin/cp-classes/sms.class.php | 1 + admin/cp-classes/socialmedia.class.php | 1 + admin/cp-classes/source.class.php | 1 + admin/cp-classes/special_fields.class.php | 1 + admin/cp-classes/stats.class.php | 1 + admin/cp-classes/subscription.class.php | 1 + admin/cp-classes/table.class.php | 1 + admin/cp-classes/template.class.php | 773 + admin/cp-classes/tmhoauth.class.php | 1 + admin/cp-classes/universal.class.php | 1 + admin/cp-classes/uploads.class.php | 1 + admin/cp-classes/user.class.php | 1 + admin/cp-classes/validator.class.php | 1 + admin/cp-classes/verify_data.class.php | 1 + admin/cp-classes/widget.class.php | 1 + admin/cp-cron/backup.php | 45 + admin/cp-cron/bounced_emails.php | 92 + admin/cp-cron/campaigns.php | 121 + admin/cp-cron/db_clean.php | 71 + admin/cp-cron/emailing.php | 39 + admin/cp-cron/event_reminders.php | 129 + admin/cp-cron/index.php | 137 + admin/cp-cron/invoice_reminders.php | 111 + admin/cp-cron/stat_rebuild.php | 185 + admin/cp-cron/subscriptions.php | 57 + admin/cp-functions/account-add.php | 1 + admin/cp-functions/activate-add.php | 1 + admin/cp-functions/ajax_notices.php | 1 + admin/cp-functions/announcement-add.php | 1 + admin/cp-functions/assign_contact-add.php | 1 + admin/cp-functions/calendar-add.php | 1 + admin/cp-functions/campaign-add.php | 1 + admin/cp-functions/campaign_email-add.php | 1 + admin/cp-functions/campaign_form-add.php | 1 + admin/cp-functions/campaign_subscribe-add.php | 1 + .../cp-functions/campaign_unsubscribe-add.php | 1 + admin/cp-functions/cancel_sub.php | 1 + admin/cp-functions/category-add.php | 1 + admin/cp-functions/change_label.php | 1 + admin/cp-functions/check_folder.php | 1 + admin/cp-functions/clean_db.php | 1 + admin/cp-functions/conditions.php | 1 + admin/cp-functions/contact-add.php | 1 + admin/cp-functions/contact-merge.php | 1 + admin/cp-functions/contact_status.php | 1 + admin/cp-functions/content-folder-add.php | 1 + admin/cp-functions/content-page-add.php | 1 + admin/cp-functions/content-redirect-add.php | 1 + admin/cp-functions/content-section-add.php | 1 + admin/cp-functions/content_access-add.php | 1 + admin/cp-functions/convert_contact-add.php | 1 + admin/cp-functions/credit_card-add.php | 1 + admin/cp-functions/criteria-add.php | 1 + admin/cp-functions/criteria_field.php | 1 + admin/cp-functions/crop_image.php | 1 + admin/cp-functions/delete_eav_id.php | 1 + admin/cp-functions/delete_item.php | 1 + admin/cp-functions/department-add.php | 1 + admin/cp-functions/duplicate-event.php | 1 + admin/cp-functions/duplicate-product.php | 1 + admin/cp-functions/employee-add.php | 1 + admin/cp-functions/error_code-add.php | 1 + admin/cp-functions/event-add.php | 1 + admin/cp-functions/event_addition.php | 1 + admin/cp-functions/event_reminders-add.php | 1 + admin/cp-functions/event_timeline-add.php | 1 + admin/cp-functions/event_types-add.php | 1 + admin/cp-functions/export.php | 1 + admin/cp-functions/extend_next_action.php | 1 + admin/cp-functions/favorite_add.php | 1 + admin/cp-functions/fb_post.php | 1 + admin/cp-functions/field-add.php | 1 + admin/cp-functions/field-edit.php | 1 + admin/cp-functions/field_editor.php | 1 + admin/cp-functions/fieldset-add.php | 1 + admin/cp-functions/find_credit_card.php | 1 + admin/cp-functions/form-add.php | 1 + admin/cp-functions/generate_captcha.php | 1 + admin/cp-functions/get_saved_email.php | 1 + admin/cp-functions/get_temp.php | 1 + admin/cp-functions/get_template.php | 1 + admin/cp-functions/history-add.php | 1 + admin/cp-functions/home_widgets-add.php | 1 + admin/cp-functions/hook-add.php | 1 + admin/cp-functions/import.php | 1 + admin/cp-functions/invoice-add.php | 1 + admin/cp-functions/invoice_dead.php | 1 + admin/cp-functions/invoice_item-add.php | 1 + admin/cp-functions/invoice_payment-add.php | 1 + admin/cp-functions/login.php | 1 + admin/cp-functions/member-add.php | 1 + admin/cp-functions/member_types-add.php | 1 + admin/cp-functions/member_types-edit.php | 1 + admin/cp-functions/menu-add.php | 1 + admin/cp-functions/note-add.php | 1 + admin/cp-functions/note_complete.php | 1 + admin/cp-functions/note_labels-add.php | 1 + admin/cp-functions/options-add.php | 1 + admin/cp-functions/package-add.php | 1 + admin/cp-functions/package_item-add.php | 1 + admin/cp-functions/payment_gateway-add.php | 1 + admin/cp-functions/plugin-add.php | 1 + admin/cp-functions/plugin_installer.php | 187 + admin/cp-functions/prep_email.php | 1 + admin/cp-functions/preview_criteria.php | 1 + admin/cp-functions/preview_email.php | 1 + admin/cp-functions/preview_permalink.php | 1 + admin/cp-functions/preview_template.php | 1 + admin/cp-functions/preview_template_show.php | 1 + admin/cp-functions/print.php | 1 + admin/cp-functions/product-add.php | 1 + admin/cp-functions/product_addition.php | 1 + admin/cp-functions/products.php | 1 + admin/cp-functions/promo_code-add.php | 1 + admin/cp-functions/quickedit.php | 1 + admin/cp-functions/refund-add.php | 1 + admin/cp-functions/reg_codes-add.php | 1 + admin/cp-functions/resend_invoice.php | 1 + admin/cp-functions/reset_login_tracking.php | 1 + admin/cp-functions/reset_password.php | 1 + admin/cp-functions/rsvp-add.php | 1 + admin/cp-functions/search-ajax.php | 1 + admin/cp-functions/search.php | 128 + admin/cp-functions/send_form.php | 1 + admin/cp-functions/send_sms.php | 1 + admin/cp-functions/shipping-add.php | 1 + admin/cp-functions/shop_shipping-add.php | 1 + admin/cp-functions/shop_tax-add.php | 1 + admin/cp-functions/shop_terms-add.php | 1 + admin/cp-functions/silent_login.php | 1 + admin/cp-functions/sms_schedule.php | 1 + admin/cp-functions/sources-add.php | 1 + admin/cp-functions/subscription-add.php | 1 + .../cp-functions/subscription_penalty-add.php | 1 + admin/cp-functions/tableheadings-add.php | 1 + admin/cp-functions/template-add.php | 1 + admin/cp-functions/template_email-add.php | 1 + admin/cp-functions/theme_select.php | 1 + admin/cp-functions/transaction-add.php | 1 + admin/cp-functions/transaction-email.php | 1 + admin/cp-functions/tweet.php | 1 + admin/cp-functions/unlock.php | 1 + admin/cp-functions/update.php | 92 + admin/cp-functions/update_staff-add.php | 1 + admin/cp-functions/upload.php | 1 + admin/cp-functions/widget-add.php | 1 + admin/cp-functions/widget_installer.php | 1 + admin/cp-includes/.DS_Store | Bin 0 -> 6148 bytes admin/cp-includes/accounts.php | 1 + admin/cp-includes/announcements.php | 1 + admin/cp-includes/autocomplete.php | 1 + admin/cp-includes/base_table.php | 153 + admin/cp-includes/billing_report.php | 1 + admin/cp-includes/calendar.php | 1 + admin/cp-includes/calendars.php | 1 + admin/cp-includes/categories.php | 1 + admin/cp-includes/connect.php | 1 + admin/cp-includes/contacts.php | 1 + admin/cp-includes/content.php | 1 + admin/cp-includes/conversions.php | 1 + admin/cp-includes/create_form.php | 1 + admin/cp-includes/custom_actions.php | 1 + admin/cp-includes/database_fields.php | 1 + admin/cp-includes/editor/save.php | 1 + admin/cp-includes/editor/simple_html_dom.php | 1731 + admin/cp-includes/editor/window.php | 1 + admin/cp-includes/email_bounced.php | 1 + admin/cp-includes/email_campaigns.php | 1 + admin/cp-includes/email_clicks.php | 1 + admin/cp-includes/email_milestones.php | 1 + admin/cp-includes/email_outbox.php | 1 + admin/cp-includes/email_queue.php | 1 + admin/cp-includes/email_tracking.php | 1 + admin/cp-includes/employees.php | 1 + admin/cp-includes/error_codes.php | 1 + admin/cp-includes/events.php | 1 + admin/cp-includes/feed.php | 1 + admin/cp-includes/fieldsets.php | 1 + admin/cp-includes/footer-mobile.php | 1 + admin/cp-includes/footer-print.php | 1 + admin/cp-includes/footer.php | 1 + admin/cp-includes/forms.php | 1 + admin/cp-includes/get_list.php | 1 + admin/cp-includes/get_page.php | 1 + admin/cp-includes/get_popup.php | 1 + admin/cp-includes/header-mobile.php | 1 + admin/cp-includes/header-print.php | 1 + admin/cp-includes/header.php | 1 + admin/cp-includes/home.php | 1 + admin/cp-includes/integration.php | 1 + admin/cp-includes/invoices.php | 1 + admin/cp-includes/logins.php | 1 + admin/cp-includes/member_types.php | 1 + admin/cp-includes/members.php | 1 + admin/cp-includes/menu.php | 811 + admin/cp-includes/notes.php | 1 + admin/cp-includes/packages.php | 1 + admin/cp-includes/pages/account-add.php | 1 + .../pages/account-view-contacts.php | 1 + .../cp-includes/pages/account-view-email.php | 48 + .../cp-includes/pages/account-view-files.php | 46 + .../pages/account-view-members.php | 1 + .../cp-includes/pages/account-view-notes.php | 1 + .../pages/account-view-social_media.php | 33 + .../pages/account-view-social_media_fb.php | 1 + admin/cp-includes/pages/account-view.php | 1 + admin/cp-includes/pages/account.php | 1 + .../cp-includes/pages/campaign-view-data.php | 1 + .../cp-includes/pages/campaign-view-logs.php | 1 + .../pages/campaign-view-messages.php | 1 + .../pages/campaign-view-milestones.php | 1 + .../cp-includes/pages/campaign-view-notes.php | 43 + .../cp-includes/pages/campaign-view-send.php | 42 + .../pages/campaign-view-subscriptions.php | 1 + .../pages/campaign-view-unsubscribers.php | 1 + admin/cp-includes/pages/campaign-view.php | 1 + admin/cp-includes/pages/campaign.php | 1 + admin/cp-includes/pages/check_cache.php | 63 + .../cp-includes/pages/connect-view-email.php | 42 + admin/cp-includes/pages/connect.php | 29 + admin/cp-includes/pages/contact-add.php | 1 + admin/cp-includes/pages/contact-view-data.php | 1 + .../cp-includes/pages/contact-view-email.php | 47 + .../cp-includes/pages/contact-view-files.php | 47 + .../pages/contact-view-history.php | 1 + .../cp-includes/pages/contact-view-notes.php | 45 + .../cp-includes/pages/contact-view-outbox.php | 1 + .../pages/contact-view-social_media.php | 33 + .../pages/contact-view-social_media_fb.php | 1 + admin/cp-includes/pages/contact-view.php | 1 + admin/cp-includes/pages/contact.php | 1 + admin/cp-includes/pages/email-send.php | 1 + admin/cp-includes/pages/employee-add.php | 1 + .../cp-includes/pages/employee-view-files.php | 46 + .../cp-includes/pages/employee-view-notes.php | 41 + .../pages/employee-view-social_media.php | 32 + admin/cp-includes/pages/employee-view.php | 178 + admin/cp-includes/pages/employee.php | 181 + admin/cp-includes/pages/event-add.php | 1008 + .../pages/event-view-attendees.php | 1 + admin/cp-includes/pages/event-view-email.php | 47 + admin/cp-includes/pages/event-view-files.php | 1 + admin/cp-includes/pages/event-view-notes.php | 43 + .../cp-includes/pages/event-view-timeline.php | 1 + admin/cp-includes/pages/event-view.php | 1 + admin/cp-includes/pages/event.php | 1 + admin/cp-includes/pages/files-view.php | 1 + .../cp-includes/pages/invoice-view-items.php | 135 + .../cp-includes/pages/invoice-view-notes.php | 43 + .../pages/invoice-view-payments.php | 1 + admin/cp-includes/pages/invoice-view.php | 312 + admin/cp-includes/pages/invoice.php | 1 + admin/cp-includes/pages/member-add.php | 1 + .../cp-includes/pages/member-view-content.php | 1 + admin/cp-includes/pages/member-view-data.php | 1 + admin/cp-includes/pages/member-view-email.php | 47 + admin/cp-includes/pages/member-view-files.php | 1 + .../cp-includes/pages/member-view-history.php | 1 + admin/cp-includes/pages/member-view-notes.php | 45 + .../cp-includes/pages/member-view-outbox.php | 1 + .../pages/member-view-social_media.php | 1 + .../pages/member-view-social_media_fb.php | 1 + admin/cp-includes/pages/member-view.php | 1 + admin/cp-includes/pages/member.php | 1 + admin/cp-includes/pages/note-table.php | 1 + .../pages/product-view-history.php | 92 + .../cp-includes/pages/product-view-notes.php | 43 + admin/cp-includes/pages/product-view.php | 303 + admin/cp-includes/pages/product.php | 1 + admin/cp-includes/pages/social_media-fb.php | 1 + .../pages/social_media-twitter.php | 1 + .../pages/subscription-view-history.php | 1 + admin/cp-includes/pages/subscription-view.php | 1 + admin/cp-includes/pages/subscription.php | 1 + .../pages/transaction-view-notes.php | 43 + admin/cp-includes/pages/transaction-view.php | 1 + admin/cp-includes/pages/transaction.php | 1 + admin/cp-includes/pagination_display.php | 33 + admin/cp-includes/plugins.php | 1 + admin/cp-includes/popups/account-add.php | 1 + admin/cp-includes/popups/activate.php | 1 + admin/cp-includes/popups/announcement-add.php | 1 + admin/cp-includes/popups/assign_contact.php | 1 + admin/cp-includes/popups/build_criteria.php | 1 + .../popups/build_criteria_type.php | 1 + admin/cp-includes/popups/build_report.php | 6 + admin/cp-includes/popups/calendar-edit.php | 1 + admin/cp-includes/popups/campaign-add.php | 1 + admin/cp-includes/popups/campaign-filters.php | 139 + .../cp-includes/popups/campaign-optin-add.php | 1 + admin/cp-includes/popups/campaign_form.php | 1 + .../popups/campaign_message-add.php | 1 + .../popups/campaign_subscriber-add.php | 1 + .../popups/campaign_unsubscribe-add.php | 1 + admin/cp-includes/popups/category-edit.php | 1 + admin/cp-includes/popups/change_label.php | 1 + admin/cp-includes/popups/connect-mass.php | 277 + admin/cp-includes/popups/contact-add.php | 1 + admin/cp-includes/popups/contact-convert.php | 1 + admin/cp-includes/popups/contact_view.php | 1 + .../cp-includes/popups/content-access-add.php | 1 + .../cp-includes/popups/content-add-folder.php | 1 + admin/cp-includes/popups/content-add-page.php | 1 + .../popups/content-add-redirect.php | 1 + .../popups/content-add-section.php | 1 + admin/cp-includes/popups/content_type.php | 54 + admin/cp-includes/popups/conversion.php | 1 + admin/cp-includes/popups/create_fields.php | 64 + admin/cp-includes/popups/create_hook.php | 1 + admin/cp-includes/popups/credit_card-add.php | 1 + admin/cp-includes/popups/credit_card-view.php | 1 + admin/cp-includes/popups/crop_image.php | 120 + admin/cp-includes/popups/departments.php | 1 + .../popups/email-view-scheduled.php | 90 + admin/cp-includes/popups/email-view.php | 1 + admin/cp-includes/popups/error_code-edit.php | 1 + admin/cp-includes/popups/event-add.php | 1 + admin/cp-includes/popups/event-edit.php | 1 + admin/cp-includes/popups/event_reminders.php | 1 + admin/cp-includes/popups/event_types.php | 1 + admin/cp-includes/popups/export_data.php | 1 + admin/cp-includes/popups/export_rsvp.php | 1 + admin/cp-includes/popups/extension_store.php | 5 + admin/cp-includes/popups/facebook.php | 1 + admin/cp-includes/popups/field-add.php | 1 + admin/cp-includes/popups/field-edit.php | 1 + admin/cp-includes/popups/fieldset-add.php | 1 + admin/cp-includes/popups/form_code.php | 1 + admin/cp-includes/popups/form_codes.php | 1 + admin/cp-includes/popups/forms-add-select.php | 1 + admin/cp-includes/popups/forms-add.php | 1 + admin/cp-includes/popups/forms-edit.php | 1 + admin/cp-includes/popups/history-add.php | 1 + admin/cp-includes/popups/home_widgets.php | 1 + admin/cp-includes/popups/hook.php | 1 + admin/cp-includes/popups/import.php | 1 + admin/cp-includes/popups/invoice-add.php | 1 + admin/cp-includes/popups/invoice-edit.php | 1 + admin/cp-includes/popups/invoice-item-add.php | 1 + .../popups/invoice_payment_add.php | 1 + admin/cp-includes/popups/mass_sms.php | 38 + admin/cp-includes/popups/member-add.php | 1 + .../cp-includes/popups/member_types-edit.php | 1 + admin/cp-includes/popups/member_types.php | 1 + admin/cp-includes/popups/member_view.php | 122 + admin/cp-includes/popups/menu-add.php | 1 + admin/cp-includes/popups/note-add.php | 1 + admin/cp-includes/popups/note_labels.php | 1 + admin/cp-includes/popups/note_stream.php | 1 + admin/cp-includes/popups/options.php | 1 + admin/cp-includes/popups/package.php | 1 + .../popups/payment_gateway-edit.php | 1 + admin/cp-includes/popups/plugin.php | 1 + admin/cp-includes/popups/preview_criteria.php | 52 + admin/cp-includes/popups/product-add.php | 1 + admin/cp-includes/popups/product-edit.php | 1 + admin/cp-includes/popups/profile_picture.php | 32 + admin/cp-includes/popups/promo_code-edit.php | 1 + admin/cp-includes/popups/refund.php | 1 + admin/cp-includes/popups/rsvp-add.php | 1 + admin/cp-includes/popups/rsvp-filters.php | 138 + admin/cp-includes/popups/rsvp_view.php | 1 + admin/cp-includes/popups/send-sms.php | 103 + admin/cp-includes/popups/send_form.php | 1 + admin/cp-includes/popups/shipping_mark.php | 1 + .../cp-includes/popups/shop_shipping-edit.php | 1 + admin/cp-includes/popups/shop_tax-edit.php | 1 + admin/cp-includes/popups/shop_terms-edit.php | 1 + admin/cp-includes/popups/sources.php | 1 + admin/cp-includes/popups/subscription-add.php | 1 + .../cp-includes/popups/subscription-edit.php | 1 + .../popups/subscription_penalties.php | 1 + admin/cp-includes/popups/tableheadings.php | 1 + admin/cp-includes/popups/template-load.php | 1 + admin/cp-includes/popups/template-preview.php | 9 + admin/cp-includes/popups/template_edit.php | 1 + .../cp-includes/popups/template_email_add.php | 1 + .../popups/template_email_edit.php | 1 + admin/cp-includes/popups/theme.php | 1 + admin/cp-includes/popups/timeline-add.php | 1 + admin/cp-includes/popups/transaction-add.php | 1 + admin/cp-includes/popups/transaction-edit.php | 1 + admin/cp-includes/popups/twitter.php | 1 + admin/cp-includes/popups/update_account.php | 1 + admin/cp-includes/popups/upload-files.php | 1 + admin/cp-includes/popups/widget-html-add.php | 1 + admin/cp-includes/popups/widgets-edit.php | 1 + admin/cp-includes/print/note.php | 1 + admin/cp-includes/print/print_footer.php | 2 + admin/cp-includes/print/print_header.php | 1 + admin/cp-includes/products.php | 1 + admin/cp-includes/promo_code_usage.php | 1 + admin/cp-includes/promo_codes.php | 1 + admin/cp-includes/report_estimated_income.php | 177 + admin/cp-includes/report_value_by_source.php | 314 + admin/cp-includes/report_world.php | 349 + admin/cp-includes/report_world_states.php | 404 + admin/cp-includes/reports.php | 1 + admin/cp-includes/rotate_slider_table.php | 1 + admin/cp-includes/rotate_table.php | 1 + admin/cp-includes/shop.php | 1 + admin/cp-includes/shop_payment_gateways.php | 1 + admin/cp-includes/shop_report.php | 610 + admin/cp-includes/shop_shipping.php | 1 + admin/cp-includes/shop_tax.php | 1 + admin/cp-includes/shop_terms.php | 1 + admin/cp-includes/sms_campaigns.php | 1 + admin/cp-includes/sms_outbox.php | 1 + admin/cp-includes/social_media_facebook.php | 1 + admin/cp-includes/social_media_twitter.php | 1 + admin/cp-includes/subscriptions.php | 1 + admin/cp-includes/templates_email.php | 1 + admin/cp-includes/templates_html.php | 1 + admin/cp-includes/templates_mobile.php | 1 + admin/cp-includes/today.php | 1 + admin/cp-includes/transactions.php | 1 + admin/cp-includes/uploads.php | 1 + admin/cp-includes/usage.php | 1 + admin/cp-includes/user_link_menu.php | 26 + admin/cp-includes/widgets.php | 1 + admin/cp-includes/widgets/calendar.php | 66 + admin/cp-includes/widgets/contacts.php | 136 + admin/cp-includes/widgets/invoices.php | 144 + admin/cp-includes/widgets/logins.php | 124 + admin/cp-includes/widgets/members.php | 132 + admin/cp-includes/widgets/rsvps.php | 133 + .../widgets/subscriptions_soon.php | 143 + admin/cp-includes/widgets/transactions.php | 134 + admin/css/calendar.css | 136 + admin/css/ff.funcs.css | 214 + admin/css/fields_sortable.css | 93 + admin/css/images/border-anim-h.gif | Bin 0 -> 219 bytes admin/css/images/border-anim-v.gif | Bin 0 -> 219 bytes admin/css/images/border-h.gif | Bin 0 -> 72 bytes admin/css/images/border-v.gif | Bin 0 -> 72 bytes admin/css/images/colors.png | Bin 0 -> 12973 bytes admin/css/images/loading.gif | Bin 0 -> 1688 bytes admin/css/images/table.png | Bin 0 -> 418 bytes admin/css/images/trigger.png | Bin 0 -> 706 bytes admin/css/jquery-jvectormap.css | 37 + admin/css/jquery.cleditor.css | 113 + admin/css/jquery.fileuploader.css | 113 + admin/css/jquery.imgareaselect.css | 41 + admin/css/jquery.jscrollpane.css | 104 + admin/css/jquery.miniColors.css | 126 + .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 119 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 131 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 159 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 103 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 104 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 119 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes admin/css/jquery_ui/jquery.ui.css | 1848 + admin/css/login.css | 213 + admin/css/login_mobile.css | 77 + admin/css/menu.css | 124 + admin/css/menu.mobile.css | 124 + admin/css/mobile.css | 102 + admin/css/panel.css | 1 + admin/css/printer.css | 1 + admin/css/printer_friendly.css | 1 + admin/css/reset.css | 1 + admin/css/search.css | 73 + admin/css/search.mobile.css | 50 + admin/css/tables.css | 142 + admin/css/tables.mobile.css | 154 + admin/imgs/.DS_Store | Bin 0 -> 22532 bytes admin/imgs/__datepicker/custom_b.png | Bin 0 -> 179 bytes admin/imgs/__datepicker/custom_bl.png | Bin 0 -> 213 bytes admin/imgs/__datepicker/custom_br.png | Bin 0 -> 227 bytes admin/imgs/__datepicker/custom_l.png | Bin 0 -> 148 bytes admin/imgs/__datepicker/custom_r.png | Bin 0 -> 165 bytes admin/imgs/__datepicker/custom_t.png | Bin 0 -> 159 bytes admin/imgs/__datepicker/custom_tl.png | Bin 0 -> 165 bytes admin/imgs/__datepicker/custom_tr.png | Bin 0 -> 222 bytes admin/imgs/__datepicker/datepicker_b.png | Bin 0 -> 135 bytes admin/imgs/__datepicker/datepicker_bl.png | Bin 0 -> 211 bytes admin/imgs/__datepicker/datepicker_br.png | Bin 0 -> 208 bytes admin/imgs/__datepicker/datepicker_l.png | Bin 0 -> 131 bytes admin/imgs/__datepicker/datepicker_r.png | Bin 0 -> 132 bytes admin/imgs/__datepicker/datepicker_t.png | Bin 0 -> 140 bytes admin/imgs/__datepicker/datepicker_tl.png | Bin 0 -> 209 bytes admin/imgs/__datepicker/datepicker_tr.png | Bin 0 -> 240 bytes admin/imgs/__datepicker/field.png | Bin 0 -> 767 bytes admin/imgs/_icon-close.png | Bin 0 -> 468 bytes admin/imgs/_logo.png | Bin 0 -> 1841 bytes admin/imgs/_slider_left_back.png | Bin 0 -> 430 bytes admin/imgs/anon.png | Bin 0 -> 903 bytes admin/imgs/asc.gif | Bin 0 -> 54 bytes admin/imgs/attention-back.png | Bin 0 -> 1672 bytes admin/imgs/bg.gif | Bin 0 -> 64 bytes admin/imgs/bg.png | Bin 0 -> 2966 bytes admin/imgs/billing_report.png | Bin 0 -> 2114 bytes admin/imgs/del_back.png | Bin 0 -> 602 bytes admin/imgs/desc.gif | Bin 0 -> 54 bytes admin/imgs/down-arrow.png | Bin 0 -> 157 bytes admin/imgs/editor-buttons.gif | Bin 0 -> 3064 bytes admin/imgs/editor-buttons.png | Bin 0 -> 11715 bytes .../ext/1363006099_file_extension_eml.png | Bin 0 -> 1451 bytes .../ext/1363006110_file_extension_rtf.png | Bin 0 -> 1370 bytes admin/imgs/ext/bmp.png | Bin 0 -> 1467 bytes admin/imgs/ext/doc.png | Bin 0 -> 1411 bytes admin/imgs/ext/exe.png | Bin 0 -> 1263 bytes admin/imgs/ext/flv.png | Bin 0 -> 1227 bytes admin/imgs/ext/jpeg.png | Bin 0 -> 1468 bytes admin/imgs/ext/jpg.png | Bin 0 -> 1444 bytes admin/imgs/ext/mov.png | Bin 0 -> 1710 bytes admin/imgs/ext/mp3.png | Bin 0 -> 1465 bytes admin/imgs/ext/mp4.png | Bin 0 -> 1269 bytes admin/imgs/ext/mpg.png | Bin 0 -> 1684 bytes admin/imgs/ext/pdf.png | Bin 0 -> 1309 bytes admin/imgs/ext/png.png | Bin 0 -> 1503 bytes admin/imgs/ext/pps.png | Bin 0 -> 1234 bytes admin/imgs/ext/psd.png | Bin 0 -> 1654 bytes admin/imgs/ext/rar.png | Bin 0 -> 1392 bytes admin/imgs/ext/tif.png | Bin 0 -> 1270 bytes admin/imgs/ext/txt.png | Bin 0 -> 1327 bytes admin/imgs/ext/wav.png | Bin 0 -> 1578 bytes admin/imgs/ext/wmv.png | Bin 0 -> 1720 bytes admin/imgs/ext/xls.png | Bin 0 -> 1507 bytes admin/imgs/ext/zip.png | Bin 0 -> 1381 bytes admin/imgs/faded.png | Bin 0 -> 220 bytes admin/imgs/faded1.png | Bin 0 -> 170 bytes admin/imgs/faded_dark.png | Bin 0 -> 224 bytes admin/imgs/faded_dark_alt.png | Bin 0 -> 217 bytes admin/imgs/grain-gray.png | Bin 0 -> 16098 bytes admin/imgs/icon-access_lost.png | Bin 0 -> 1671 bytes admin/imgs/icon-account.png | Bin 0 -> 1038 bytes admin/imgs/icon-activity.png | Bin 0 -> 4266 bytes admin/imgs/icon-attention-off.png | Bin 0 -> 3346 bytes admin/imgs/icon-attention-on.png | Bin 0 -> 3359 bytes admin/imgs/icon-attention.png | Bin 0 -> 3301 bytes admin/imgs/icon-broadcast.png | Bin 0 -> 273 bytes admin/imgs/icon-broken-file.png | Bin 0 -> 369 bytes admin/imgs/icon-cache.png | Bin 0 -> 3779 bytes admin/imgs/icon-calendar.png | Bin 0 -> 1249 bytes admin/imgs/icon-campaign_sub.png | Bin 0 -> 1476 bytes admin/imgs/icon-campaign_unsub.png | Bin 0 -> 1389 bytes admin/imgs/icon-cancel.png | Bin 0 -> 6218 bytes admin/imgs/icon-categories.png | Bin 0 -> 2055 bytes admin/imgs/icon-click.png | Bin 0 -> 1430 bytes admin/imgs/icon-close.png | Bin 0 -> 3750 bytes admin/imgs/icon-coffee.png | Bin 0 -> 5187 bytes admin/imgs/icon-complete-on.png | Bin 0 -> 454 bytes admin/imgs/icon-complete.png | Bin 0 -> 485 bytes admin/imgs/icon-concurrent.png | Bin 0 -> 1592 bytes admin/imgs/icon-contact-add.png | Bin 0 -> 654 bytes admin/imgs/icon-contact.png | Bin 0 -> 534 bytes admin/imgs/icon-credit-card-broken.png | Bin 0 -> 796 bytes admin/imgs/icon-credit_cards.png | Bin 0 -> 3617 bytes admin/imgs/icon-deadline.png | Bin 0 -> 423 bytes admin/imgs/icon-delay-solid-on.png | Bin 0 -> 511 bytes admin/imgs/icon-delay-solid.png | Bin 0 -> 511 bytes admin/imgs/icon-delay.png | Bin 0 -> 3508 bytes admin/imgs/icon-delete-on.png | Bin 0 -> 431 bytes admin/imgs/icon-delete.png | Bin 0 -> 431 bytes admin/imgs/icon-dependency.png | Bin 0 -> 4335 bytes admin/imgs/icon-duplicate-on.png | Bin 0 -> 452 bytes admin/imgs/icon-duplicate.png | Bin 0 -> 451 bytes admin/imgs/icon-edit-on.png | Bin 0 -> 359 bytes admin/imgs/icon-edit.png | Bin 0 -> 5249 bytes admin/imgs/icon-email-on.png | Bin 0 -> 358 bytes admin/imgs/icon-email.png | Bin 0 -> 3788 bytes admin/imgs/icon-email_campaign.gif | Bin 0 -> 1917 bytes admin/imgs/icon-email_campaign.png | Bin 0 -> 2104 bytes admin/imgs/icon-email_outbox.png | Bin 0 -> 2964 bytes admin/imgs/icon-email_target.gif | Bin 0 -> 1990 bytes admin/imgs/icon-email_target.png | Bin 0 -> 2342 bytes admin/imgs/icon-encoded.png | Bin 0 -> 1996 bytes admin/imgs/icon-facebook.png | Bin 0 -> 3143 bytes admin/imgs/icon-fav-off.png | Bin 0 -> 1308 bytes admin/imgs/icon-fav-on.png | Bin 0 -> 1778 bytes admin/imgs/icon-fb-checkbox.png | Bin 0 -> 584 bytes admin/imgs/icon-fb-date.png | Bin 0 -> 442 bytes admin/imgs/icon-fb-linkert.png | Bin 0 -> 475 bytes admin/imgs/icon-fb-page.png | Bin 0 -> 507 bytes admin/imgs/icon-fb-radio.png | Bin 0 -> 370 bytes admin/imgs/icon-fb-section.png | Bin 0 -> 400 bytes admin/imgs/icon-fb-select.png | Bin 0 -> 292 bytes admin/imgs/icon-fb-text.png | Bin 0 -> 348 bytes admin/imgs/icon-fb-textarea.png | Bin 0 -> 603 bytes admin/imgs/icon-feed-off.png | Bin 0 -> 750 bytes admin/imgs/icon-feed.png | Bin 0 -> 735 bytes admin/imgs/icon-filters.png | Bin 0 -> 2469 bytes admin/imgs/icon-form-contact.png | Bin 0 -> 1015 bytes admin/imgs/icon-form-dependency.png | Bin 0 -> 1255 bytes admin/imgs/icon-form-register_free.png | Bin 0 -> 1149 bytes admin/imgs/icon-form-register_paid.png | Bin 0 -> 1286 bytes admin/imgs/icon-form-update.png | Bin 0 -> 1547 bytes admin/imgs/icon-googleplus.png | Bin 0 -> 2140 bytes admin/imgs/icon-invoices.png | Bin 0 -> 4866 bytes admin/imgs/icon-lg-contacts.png | Bin 0 -> 5771 bytes admin/imgs/icon-lg-criteria.png | Bin 0 -> 6664 bytes admin/imgs/icon-lg-curl.png | Bin 0 -> 1457 bytes admin/imgs/icon-lg-custom_actions.png | Bin 0 -> 3328 bytes admin/imgs/icon-lg-email_templates.png | Bin 0 -> 3805 bytes admin/imgs/icon-lg-email_theme.png | Bin 0 -> 1560 bytes admin/imgs/icon-lg-error_codes.png | Bin 0 -> 2488 bytes admin/imgs/icon-lg-facebook.png | Bin 0 -> 3954 bytes admin/imgs/icon-lg-fields.png | Bin 0 -> 4276 bytes admin/imgs/icon-lg-folder.png | Bin 0 -> 3542 bytes admin/imgs/icon-lg-forms.png | Bin 0 -> 3455 bytes admin/imgs/icon-lg-members.png | Bin 0 -> 4053 bytes admin/imgs/icon-lg-mobile_templates.png | Bin 0 -> 876 bytes admin/imgs/icon-lg-mobile_theme.png | Bin 0 -> 1208 bytes admin/imgs/icon-lg-modules.png | Bin 0 -> 6611 bytes admin/imgs/icon-lg-page.png | Bin 0 -> 3605 bytes admin/imgs/icon-lg-plugins.png | Bin 0 -> 5097 bytes admin/imgs/icon-lg-queue.png | Bin 0 -> 6449 bytes admin/imgs/icon-lg-redirect.png | Bin 0 -> 5280 bytes admin/imgs/icon-lg-section.png | Bin 0 -> 4995 bytes admin/imgs/icon-lg-templates.png | Bin 0 -> 4939 bytes admin/imgs/icon-lg-theme.png | Bin 0 -> 4382 bytes admin/imgs/icon-lg-twitter.png | Bin 0 -> 4282 bytes admin/imgs/icon-linkedin.png | Bin 0 -> 3579 bytes admin/imgs/icon-list.png | Bin 0 -> 126 bytes admin/imgs/icon-login.png | Bin 0 -> 1958 bytes admin/imgs/icon-logout-mobile.png | Bin 0 -> 894 bytes admin/imgs/icon-logout.png | Bin 0 -> 1766 bytes admin/imgs/icon-mark-alive.png | Bin 0 -> 3416 bytes admin/imgs/icon-mark-dead.png | Bin 0 -> 3382 bytes admin/imgs/icon-mark_converted.png | Bin 0 -> 3610 bytes admin/imgs/icon-mark_unconverted.png | Bin 0 -> 883 bytes admin/imgs/icon-member-add.png | Bin 0 -> 701 bytes admin/imgs/icon-member.png | Bin 0 -> 584 bytes admin/imgs/icon-member_type.png | Bin 0 -> 1390 bytes admin/imgs/icon-menu-mobile.png | Bin 0 -> 911 bytes admin/imgs/icon-minus.png | Bin 0 -> 3439 bytes admin/imgs/icon-move.png | Bin 0 -> 183 bytes admin/imgs/icon-new.png | Bin 0 -> 3305 bytes admin/imgs/icon-note.png | Bin 0 -> 729 bytes admin/imgs/icon-note_stream.png | Bin 0 -> 436 bytes admin/imgs/icon-package.png | Bin 0 -> 7906 bytes admin/imgs/icon-pdf.png | Bin 0 -> 3753 bytes admin/imgs/icon-print.png | Bin 0 -> 3149 bytes admin/imgs/icon-private.png | Bin 0 -> 2210 bytes admin/imgs/icon-products.png | Bin 0 -> 4135 bytes admin/imgs/icon-public.png | Bin 0 -> 2249 bytes admin/imgs/icon-quickadd-slider.png | Bin 0 -> 360 bytes admin/imgs/icon-quickadd.png | Bin 0 -> 3536 bytes admin/imgs/icon-refresh.png | Bin 0 -> 3760 bytes admin/imgs/icon-required-on.png | Bin 0 -> 376 bytes admin/imgs/icon-required.png | Bin 0 -> 376 bytes admin/imgs/icon-resetpass.png | Bin 0 -> 7605 bytes admin/imgs/icon-rotate-clockwise.png | Bin 0 -> 560 bytes admin/imgs/icon-rotate-counter.png | Bin 0 -> 561 bytes admin/imgs/icon-sales.png | Bin 0 -> 4475 bytes admin/imgs/icon-save.png | Bin 0 -> 3539 bytes admin/imgs/icon-saved.png | Bin 0 -> 3539 bytes admin/imgs/icon-savings_codes.png | Bin 0 -> 2856 bytes admin/imgs/icon-search-mobile.png | Bin 0 -> 993 bytes admin/imgs/icon-search.png | Bin 0 -> 617 bytes admin/imgs/icon-settings.png | Bin 0 -> 2490 bytes admin/imgs/icon-silent_login.png | Bin 0 -> 4762 bytes admin/imgs/icon-sm-attach.png | Bin 0 -> 230 bytes admin/imgs/icon-sm-del.png | Bin 0 -> 269 bytes admin/imgs/icon-sms_campaign.png | Bin 0 -> 2268 bytes admin/imgs/icon-sms_outbox.png | Bin 0 -> 2187 bytes admin/imgs/icon-sms_target.png | Bin 0 -> 2455 bytes admin/imgs/icon-stats-on.png | Bin 0 -> 195 bytes admin/imgs/icon-stats.png | Bin 0 -> 195 bytes admin/imgs/icon-status.png | Bin 0 -> 10650 bytes admin/imgs/icon-subscriptions.png | Bin 0 -> 2829 bytes admin/imgs/icon-text.png | Bin 0 -> 3162 bytes admin/imgs/icon-tick.png | Bin 0 -> 199 bytes admin/imgs/icon-top.png | Bin 0 -> 2076 bytes admin/imgs/icon-tracking.png | Bin 0 -> 4078 bytes admin/imgs/icon-twitter.png | Bin 0 -> 804 bytes admin/imgs/icon-update-off.png | Bin 0 -> 752 bytes admin/imgs/icon-update.png | Bin 0 -> 799 bytes admin/imgs/icon-view.png | Bin 0 -> 3480 bytes admin/imgs/icon-warning-big.png | Bin 0 -> 3911 bytes admin/imgs/icon-warning.png | Bin 0 -> 8060 bytes admin/imgs/loading.gif | Bin 0 -> 9427 bytes admin/imgs/login/bg.png | Bin 0 -> 30955 bytes admin/imgs/login/bg1.png | Bin 0 -> 9404 bytes admin/imgs/login/bg2.png | Bin 0 -> 8180 bytes admin/imgs/login/logo.png | Bin 0 -> 4454 bytes admin/imgs/login/penguin.png | Bin 0 -> 94325 bytes admin/imgs/logo.png | Bin 0 -> 12677 bytes admin/imgs/mobile/nav-bg.png | Bin 0 -> 2559 bytes admin/imgs/nologo.png | Bin 0 -> 650 bytes admin/imgs/report-email.png | Bin 0 -> 15259 bytes admin/imgs/report-employee.png | Bin 0 -> 4452 bytes admin/imgs/report-estimated_income.png | Bin 0 -> 2231 bytes admin/imgs/report-states.png | Bin 0 -> 18914 bytes admin/imgs/report-value_source.png | Bin 0 -> 15245 bytes admin/imgs/report-world.png | Bin 0 -> 6630 bytes admin/imgs/report_ecommerce.png | Bin 0 -> 3645 bytes admin/imgs/save_back.png | Bin 0 -> 1238 bytes admin/imgs/slider-left.png | Bin 0 -> 209 bytes admin/imgs/slider-topbar-back.png | Bin 0 -> 9655 bytes admin/imgs/slider_left_back.png | Bin 0 -> 11259 bytes admin/imgs/th_back.png | Bin 0 -> 4770 bytes admin/imgs/topback.jpg | Bin 0 -> 21139 bytes admin/imgs/up-arrow.png | Bin 0 -> 148 bytes admin/index.php | 121 + admin/js/.DS_Store | Bin 0 -> 6148 bytes admin/js/__forms.js | 94 + .../js/_jquery.cleditor.advancedtable.min.js | 13 + admin/js/_jquery.cleditor.min.js | 31 + admin/js/_original_js_files/admin.non_min.js | 1 + .../canvas-tools.non_min.js | 1 + .../_original_js_files/datepicker.non_min.js | 899 + .../event_actions.non_min.js | 1 + .../js/_original_js_files/ff.funcs.non_min.js | 1 + .../form_builder.non_min.js | 1 + admin/js/_original_js_files/forms.non_min.js | 1 + .../jquery.fileuploader.non_min.js | 1 + .../jquery.jscrollpane.min.non_min.js | 837 + .../jquery.miniColors.min.non_min.js | 438 + .../jquery.tablesorter.min.non_min.js | 626 + .../_original_js_files/shortcuts.non_min.js | 196 + admin/js/admin.js | 1892 + admin/js/admin.non_min.js | 1 + admin/js/canvas-tools.js | 1 + admin/js/ckeditor/CHANGES.md | 185 + admin/js/ckeditor/LICENSE.md | 1264 + admin/js/ckeditor/README.md | 39 + admin/js/ckeditor/adapters/jquery.js | 10 + admin/js/ckeditor/build-config.js | 166 + admin/js/ckeditor/ckeditor.js | 927 + admin/js/ckeditor/config.basic.js | 16 + admin/js/ckeditor/config.complex.js | 25 + admin/js/ckeditor/config.js | 11 + admin/js/ckeditor/contents.css | 103 + admin/js/ckeditor/lang/af.js | 5 + admin/js/ckeditor/lang/ar.js | 5 + admin/js/ckeditor/lang/bg.js | 5 + admin/js/ckeditor/lang/bn.js | 5 + admin/js/ckeditor/lang/bs.js | 5 + admin/js/ckeditor/lang/ca.js | 5 + admin/js/ckeditor/lang/cs.js | 5 + admin/js/ckeditor/lang/cy.js | 5 + admin/js/ckeditor/lang/da.js | 5 + admin/js/ckeditor/lang/de.js | 5 + admin/js/ckeditor/lang/el.js | 5 + admin/js/ckeditor/lang/en-au.js | 5 + admin/js/ckeditor/lang/en-ca.js | 5 + admin/js/ckeditor/lang/en-gb.js | 5 + admin/js/ckeditor/lang/en.js | 5 + admin/js/ckeditor/lang/eo.js | 5 + admin/js/ckeditor/lang/es.js | 5 + admin/js/ckeditor/lang/et.js | 5 + admin/js/ckeditor/lang/eu.js | 5 + admin/js/ckeditor/lang/fa.js | 5 + admin/js/ckeditor/lang/fi.js | 5 + admin/js/ckeditor/lang/fo.js | 5 + admin/js/ckeditor/lang/fr-ca.js | 5 + admin/js/ckeditor/lang/fr.js | 5 + admin/js/ckeditor/lang/gl.js | 5 + admin/js/ckeditor/lang/gu.js | 5 + admin/js/ckeditor/lang/he.js | 5 + admin/js/ckeditor/lang/hi.js | 5 + admin/js/ckeditor/lang/hr.js | 5 + admin/js/ckeditor/lang/hu.js | 5 + admin/js/ckeditor/lang/id.js | 5 + admin/js/ckeditor/lang/is.js | 5 + admin/js/ckeditor/lang/it.js | 5 + admin/js/ckeditor/lang/ja.js | 5 + admin/js/ckeditor/lang/ka.js | 5 + admin/js/ckeditor/lang/km.js | 5 + admin/js/ckeditor/lang/ko.js | 5 + admin/js/ckeditor/lang/ku.js | 5 + admin/js/ckeditor/lang/lt.js | 5 + admin/js/ckeditor/lang/lv.js | 5 + admin/js/ckeditor/lang/mk.js | 5 + admin/js/ckeditor/lang/mn.js | 5 + admin/js/ckeditor/lang/ms.js | 5 + admin/js/ckeditor/lang/nb.js | 5 + admin/js/ckeditor/lang/nl.js | 5 + admin/js/ckeditor/lang/no.js | 5 + admin/js/ckeditor/lang/pl.js | 5 + admin/js/ckeditor/lang/pt-br.js | 5 + admin/js/ckeditor/lang/pt.js | 5 + admin/js/ckeditor/lang/ro.js | 5 + admin/js/ckeditor/lang/ru.js | 5 + admin/js/ckeditor/lang/si.js | 5 + admin/js/ckeditor/lang/sk.js | 5 + admin/js/ckeditor/lang/sl.js | 5 + admin/js/ckeditor/lang/sq.js | 5 + admin/js/ckeditor/lang/sr-latn.js | 5 + admin/js/ckeditor/lang/sr.js | 5 + admin/js/ckeditor/lang/sv.js | 5 + admin/js/ckeditor/lang/th.js | 5 + admin/js/ckeditor/lang/tr.js | 5 + admin/js/ckeditor/lang/ug.js | 5 + admin/js/ckeditor/lang/uk.js | 5 + admin/js/ckeditor/lang/vi.js | 5 + admin/js/ckeditor/lang/zh-cn.js | 5 + admin/js/ckeditor/lang/zh.js | 5 + .../plugins/a11yhelp/dialogs/a11yhelp.js | 10 + .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/ar.js | 9 + .../plugins/a11yhelp/dialogs/lang/bg.js | 9 + .../plugins/a11yhelp/dialogs/lang/ca.js | 10 + .../plugins/a11yhelp/dialogs/lang/cs.js | 10 + .../plugins/a11yhelp/dialogs/lang/cy.js | 9 + .../plugins/a11yhelp/dialogs/lang/da.js | 9 + .../plugins/a11yhelp/dialogs/lang/de.js | 10 + .../plugins/a11yhelp/dialogs/lang/el.js | 10 + .../plugins/a11yhelp/dialogs/lang/en.js | 9 + .../plugins/a11yhelp/dialogs/lang/eo.js | 10 + .../plugins/a11yhelp/dialogs/lang/es.js | 10 + .../plugins/a11yhelp/dialogs/lang/et.js | 9 + .../plugins/a11yhelp/dialogs/lang/fa.js | 9 + .../plugins/a11yhelp/dialogs/lang/fi.js | 10 + .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 10 + .../plugins/a11yhelp/dialogs/lang/fr.js | 11 + .../plugins/a11yhelp/dialogs/lang/gl.js | 10 + .../plugins/a11yhelp/dialogs/lang/gu.js | 9 + .../plugins/a11yhelp/dialogs/lang/he.js | 9 + .../plugins/a11yhelp/dialogs/lang/hi.js | 9 + .../plugins/a11yhelp/dialogs/lang/hr.js | 9 + .../plugins/a11yhelp/dialogs/lang/hu.js | 10 + .../plugins/a11yhelp/dialogs/lang/id.js | 9 + .../plugins/a11yhelp/dialogs/lang/it.js | 10 + .../plugins/a11yhelp/dialogs/lang/ja.js | 9 + .../plugins/a11yhelp/dialogs/lang/km.js | 9 + .../plugins/a11yhelp/dialogs/lang/ku.js | 10 + .../plugins/a11yhelp/dialogs/lang/lt.js | 9 + .../plugins/a11yhelp/dialogs/lang/lv.js | 11 + .../plugins/a11yhelp/dialogs/lang/mk.js | 9 + .../plugins/a11yhelp/dialogs/lang/mn.js | 9 + .../plugins/a11yhelp/dialogs/lang/nb.js | 9 + .../plugins/a11yhelp/dialogs/lang/nl.js | 10 + .../plugins/a11yhelp/dialogs/lang/no.js | 9 + .../plugins/a11yhelp/dialogs/lang/pl.js | 10 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 9 + .../plugins/a11yhelp/dialogs/lang/pt.js | 10 + .../plugins/a11yhelp/dialogs/lang/ro.js | 9 + .../plugins/a11yhelp/dialogs/lang/ru.js | 9 + .../plugins/a11yhelp/dialogs/lang/si.js | 8 + .../plugins/a11yhelp/dialogs/lang/sk.js | 10 + .../plugins/a11yhelp/dialogs/lang/sl.js | 10 + .../plugins/a11yhelp/dialogs/lang/sq.js | 9 + .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 9 + .../plugins/a11yhelp/dialogs/lang/sr.js | 9 + .../plugins/a11yhelp/dialogs/lang/sv.js | 10 + .../plugins/a11yhelp/dialogs/lang/th.js | 9 + .../plugins/a11yhelp/dialogs/lang/tr.js | 10 + .../plugins/a11yhelp/dialogs/lang/ug.js | 9 + .../plugins/a11yhelp/dialogs/lang/uk.js | 10 + .../plugins/a11yhelp/dialogs/lang/vi.js | 9 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 7 + .../ckeditor/plugins/about/dialogs/about.js | 7 + .../about/dialogs/hidpi/logo_ckeditor.png | Bin 0 -> 13339 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 0 -> 6757 bytes .../plugins/clipboard/dialogs/paste.js | 11 + .../colordialog/dialogs/colordialog.js | 13 + .../plugins/dialog/dialogDefinition.js | 4 + admin/js/ckeditor/plugins/div/dialogs/div.js | 9 + .../plugins/fakeobjects/images/spacer.gif | Bin 0 -> 43 bytes .../js/ckeditor/plugins/find/dialogs/find.js | 24 + .../ckeditor/plugins/flash/dialogs/flash.js | 24 + .../plugins/flash/images/placeholder.png | Bin 0 -> 256 bytes .../ckeditor/plugins/forms/dialogs/button.js | 8 + .../plugins/forms/dialogs/checkbox.js | 8 + .../js/ckeditor/plugins/forms/dialogs/form.js | 8 + .../plugins/forms/dialogs/hiddenfield.js | 8 + .../ckeditor/plugins/forms/dialogs/radio.js | 8 + .../ckeditor/plugins/forms/dialogs/select.js | 20 + .../plugins/forms/dialogs/textarea.js | 8 + .../plugins/forms/dialogs/textfield.js | 10 + .../plugins/forms/images/hiddenfield.gif | Bin 0 -> 105 bytes admin/js/ckeditor/plugins/icons.png | Bin 0 -> 20427 bytes admin/js/ckeditor/plugins/icons_hidpi.png | Bin 0 -> 66930 bytes .../ckeditor/plugins/iframe/dialogs/iframe.js | 10 + .../plugins/iframe/images/placeholder.png | Bin 0 -> 449 bytes .../ckeditor/plugins/image/dialogs/image.js | 43 + .../ckeditor/plugins/image/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/plugins/link/dialogs/anchor.js | 8 + .../js/ckeditor/plugins/link/dialogs/link.js | 36 + .../ckeditor/plugins/link/images/anchor.png | Bin 0 -> 763 bytes .../plugins/link/images/hidpi/anchor.png | Bin 0 -> 1597 bytes .../plugins/liststyle/dialogs/liststyle.js | 10 + .../plugins/magicline/images/hidpi/icon.png | Bin 0 -> 260 bytes .../plugins/magicline/images/icon.png | Bin 0 -> 172 bytes .../plugins/pagebreak/images/pagebreak.gif | Bin 0 -> 54 bytes .../plugins/pastefromword/filter/default.js | 31 + .../js/ckeditor/plugins/preview/preview.html | 10 + admin/js/ckeditor/plugins/scayt/LICENSE.md | 28 + admin/js/ckeditor/plugins/scayt/README.md | 25 + .../ckeditor/plugins/scayt/dialogs/options.js | 20 + .../plugins/scayt/dialogs/toolbar.css | 71 + .../showblocks/images/block_address.png | Bin 0 -> 171 bytes .../showblocks/images/block_blockquote.png | Bin 0 -> 181 bytes .../plugins/showblocks/images/block_div.png | Bin 0 -> 136 bytes .../plugins/showblocks/images/block_h1.png | Bin 0 -> 127 bytes .../plugins/showblocks/images/block_h2.png | Bin 0 -> 134 bytes .../plugins/showblocks/images/block_h3.png | Bin 0 -> 131 bytes .../plugins/showblocks/images/block_h4.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h5.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h6.png | Bin 0 -> 129 bytes .../plugins/showblocks/images/block_p.png | Bin 0 -> 119 bytes .../plugins/showblocks/images/block_pre.png | Bin 0 -> 136 bytes .../ckeditor/plugins/smiley/dialogs/smiley.js | 10 + .../plugins/smiley/images/angel_smile.gif | Bin 0 -> 465 bytes .../plugins/smiley/images/angry_smile.gif | Bin 0 -> 443 bytes .../plugins/smiley/images/broken_heart.gif | Bin 0 -> 192 bytes .../plugins/smiley/images/confused_smile.gif | Bin 0 -> 464 bytes .../plugins/smiley/images/cry_smile.gif | Bin 0 -> 468 bytes .../plugins/smiley/images/devil_smile.gif | Bin 0 -> 436 bytes .../smiley/images/embaressed_smile.gif | Bin 0 -> 442 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 442 bytes .../plugins/smiley/images/envelope.gif | Bin 0 -> 426 bytes .../ckeditor/plugins/smiley/images/heart.gif | Bin 0 -> 183 bytes .../ckeditor/plugins/smiley/images/kiss.gif | Bin 0 -> 241 bytes .../plugins/smiley/images/lightbulb.gif | Bin 0 -> 368 bytes .../plugins/smiley/images/omg_smile.gif | Bin 0 -> 451 bytes .../plugins/smiley/images/regular_smile.gif | Bin 0 -> 450 bytes .../plugins/smiley/images/sad_smile.gif | Bin 0 -> 460 bytes .../plugins/smiley/images/shades_smile.gif | Bin 0 -> 449 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 0 -> 442 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 0 -> 408 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 0 -> 396 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 446 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 0 -> 446 bytes .../images/whatchutalkingabout_smile.gif | Bin 0 -> 452 bytes .../plugins/smiley/images/wink_smile.gif | Bin 0 -> 458 bytes .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/ar.js | 13 + .../plugins/specialchar/dialogs/lang/bg.js | 13 + .../plugins/specialchar/dialogs/lang/ca.js | 14 + .../plugins/specialchar/dialogs/lang/cs.js | 13 + .../plugins/specialchar/dialogs/lang/cy.js | 14 + .../plugins/specialchar/dialogs/lang/de.js | 13 + .../plugins/specialchar/dialogs/lang/el.js | 13 + .../plugins/specialchar/dialogs/lang/en.js | 13 + .../plugins/specialchar/dialogs/lang/eo.js | 12 + .../plugins/specialchar/dialogs/lang/es.js | 13 + .../plugins/specialchar/dialogs/lang/et.js | 13 + .../plugins/specialchar/dialogs/lang/fa.js | 12 + .../plugins/specialchar/dialogs/lang/fi.js | 13 + .../plugins/specialchar/dialogs/lang/fr-ca.js | 10 + .../plugins/specialchar/dialogs/lang/fr.js | 11 + .../plugins/specialchar/dialogs/lang/gl.js | 13 + .../plugins/specialchar/dialogs/lang/he.js | 13 + .../plugins/specialchar/dialogs/lang/hr.js | 13 + .../plugins/specialchar/dialogs/lang/hu.js | 12 + .../plugins/specialchar/dialogs/lang/id.js | 13 + .../plugins/specialchar/dialogs/lang/it.js | 14 + .../plugins/specialchar/dialogs/lang/ja.js | 9 + .../plugins/specialchar/dialogs/lang/ku.js | 13 + .../plugins/specialchar/dialogs/lang/lv.js | 13 + .../plugins/specialchar/dialogs/lang/nb.js | 11 + .../plugins/specialchar/dialogs/lang/nl.js | 13 + .../plugins/specialchar/dialogs/lang/no.js | 11 + .../plugins/specialchar/dialogs/lang/pl.js | 12 + .../plugins/specialchar/dialogs/lang/pt-br.js | 11 + .../plugins/specialchar/dialogs/lang/pt.js | 13 + .../plugins/specialchar/dialogs/lang/ru.js | 13 + .../plugins/specialchar/dialogs/lang/si.js | 13 + .../plugins/specialchar/dialogs/lang/sk.js | 13 + .../plugins/specialchar/dialogs/lang/sl.js | 12 + .../plugins/specialchar/dialogs/lang/sq.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 11 + .../plugins/specialchar/dialogs/lang/th.js | 13 + .../plugins/specialchar/dialogs/lang/tr.js | 12 + .../plugins/specialchar/dialogs/lang/ug.js | 13 + .../plugins/specialchar/dialogs/lang/uk.js | 12 + .../plugins/specialchar/dialogs/lang/vi.js | 13 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 9 + .../specialchar/dialogs/specialchar.js | 14 + .../ckeditor/plugins/table/dialogs/table.js | 21 + .../plugins/tabletools/dialogs/tableCell.js | 16 + .../plugins/templates/dialogs/templates.css | 84 + .../plugins/templates/dialogs/templates.js | 10 + .../plugins/templates/templates/default.js | 86 + .../templates/templates/images/template1.gif | Bin 0 -> 375 bytes .../templates/templates/images/template2.gif | Bin 0 -> 333 bytes .../templates/templates/images/template3.gif | Bin 0 -> 422 bytes .../templates/images/two_col_333333.png | Bin 0 -> 303 bytes .../templates/images/two_col_3466.png | Bin 0 -> 300 bytes .../templates/images/two_col_5050.png | Bin 0 -> 297 bytes .../templates/images/two_col_6634.png | Bin 0 -> 300 bytes admin/js/ckeditor/plugins/wsc/LICENSE.md | 28 + admin/js/ckeditor/plugins/wsc/README.md | 25 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 66 + .../js/ckeditor/plugins/wsc/dialogs/tmp.html | 131 + .../plugins/wsc/dialogs/tmpFrameset.html | 52 + admin/js/ckeditor/plugins/wsc/dialogs/wsc.css | 82 + admin/js/ckeditor/plugins/wsc/dialogs/wsc.js | 67 + .../js/ckeditor/plugins/wsc/dialogs/wsc_ie.js | 11 + admin/js/ckeditor/skins/moono/dialog.css | 5 + admin/js/ckeditor/skins/moono/dialog_ie.css | 5 + admin/js/ckeditor/skins/moono/dialog_ie7.css | 5 + admin/js/ckeditor/skins/moono/dialog_ie8.css | 5 + .../ckeditor/skins/moono/dialog_iequirks.css | 5 + .../js/ckeditor/skins/moono/dialog_opera.css | 5 + admin/js/ckeditor/skins/moono/editor.css | 5 + .../js/ckeditor/skins/moono/editor_gecko.css | 5 + admin/js/ckeditor/skins/moono/editor_ie.css | 5 + admin/js/ckeditor/skins/moono/editor_ie7.css | 5 + admin/js/ckeditor/skins/moono/editor_ie8.css | 5 + .../ckeditor/skins/moono/editor_iequirks.css | 5 + admin/js/ckeditor/skins/moono/icons.png | Bin 0 -> 20427 bytes admin/js/ckeditor/skins/moono/icons_hidpi.png | Bin 0 -> 66930 bytes .../js/ckeditor/skins/moono/images/arrow.png | Bin 0 -> 261 bytes .../js/ckeditor/skins/moono/images/close.png | Bin 0 -> 824 bytes .../skins/moono/images/hidpi/close.png | Bin 0 -> 1792 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 0 -> 1503 bytes .../skins/moono/images/hidpi/lock.png | Bin 0 -> 1616 bytes .../skins/moono/images/hidpi/refresh.png | Bin 0 -> 2320 bytes .../ckeditor/skins/moono/images/lock-open.png | Bin 0 -> 736 bytes admin/js/ckeditor/skins/moono/images/lock.png | Bin 0 -> 728 bytes .../ckeditor/skins/moono/images/refresh.png | Bin 0 -> 953 bytes admin/js/ckeditor/skins/moono/readme.md | 51 + admin/js/ckeditor/styles.js | 111 + admin/js/clipboard.js | 12 + admin/js/datepicker.js | 1 + admin/js/datepicker.non_min.js | 899 + admin/js/editor/loader.js | 19 + admin/js/editor/modernizr-2.0.6.min.js | 4 + admin/js/editor/raptor.0deps.js | 36613 ++++++++++++++++ admin/js/event_actions.js | 1 + admin/js/event_actions.non_min.js | 1 + admin/js/ff.funcs.js | 1 + admin/js/ff.funcs.non_min.js | 1 + admin/js/form_builder.js | 1 + admin/js/form_builder.non_min.js | 1 + admin/js/form_items.js | 26 + admin/js/form_rotator.js | 1 + admin/js/form_steps.js | 34 + admin/js/forms.js | 1 + admin/js/forms.non_min.js | 1 + admin/js/fs_rotator.js | 1 + admin/js/highcharts.export.min.js | 159 + admin/js/highcharts.min.js | 3273 ++ admin/js/jquery.autocomplete.js | 1 + admin/js/jquery.bg_position.js | 29 + admin/js/jquery.ctrl.js | 1 + admin/js/jquery.dropdown.js | 10 + admin/js/jquery.dropdown.mobile.js | 22 + admin/js/jquery.fileuploader.js | 1 + admin/js/jquery.fileuploader.non_min.js | 1 + admin/js/jquery.imgareaselect.js | 7 + admin/js/jquery.js | 2579 ++ admin/js/jquery.jscrollpane.min.js | 1 + admin/js/jquery.jscrollpane.min.non_min.js | 837 + admin/js/jquery.miniColors.min.js | 1 + admin/js/jquery.miniColors.min.non_min.js | 438 + admin/js/jquery.mousewheel.js | 76 + admin/js/jquery.tablesorter.min.js | 1 + admin/js/jquery.tablesorter.min.non_min.js | 626 + .../js/jvectormap/abstract-canvas-element.js | 67 + admin/js/jvectormap/abstract-element.js | 73 + admin/js/jvectormap/abstract-shape-element.js | 85 + admin/js/jvectormap/color-scale.js | 44 + admin/js/jvectormap/data-series.js | 139 + .../jquery-jvectormap-au-mill-en.js | 1 + .../jvectormap/jquery-jvectormap-ca-lcc-en.js | 1 + admin/js/jvectormap/jquery-jvectormap-map.js | 1 + .../jvectormap/jquery-jvectormap-us-aea-en.js | 1 + .../jvectormap/jquery-jvectormap-us-lcc-en.js | 1 + .../jquery-jvectormap-us-merc-en.js | 1 + .../jquery-jvectormap-us-mill-en.js | 1 + .../jquery-jvectormap-world-mill-en.js | 1 + admin/js/jvectormap/jquery-jvectormap.js | 45 + admin/js/jvectormap/jquery-mousewheel.js | 84 + admin/js/jvectormap/jvectormap.js | 99 + admin/js/jvectormap/numeric-scale.js | 147 + admin/js/jvectormap/ordinal-scale.js | 7 + admin/js/jvectormap/proj.js | 181 + admin/js/jvectormap/simple-scale.js | 7 + admin/js/jvectormap/svg-canvas-element.js | 22 + admin/js/jvectormap/svg-circle-element.js | 5 + admin/js/jvectormap/svg-element.js | 48 + admin/js/jvectormap/svg-group-element.js | 9 + admin/js/jvectormap/svg-path-element.js | 6 + admin/js/jvectormap/svg-shape-element.js | 7 + admin/js/jvectormap/vector-canvas.js | 16 + admin/js/jvectormap/vml-canvas-element.js | 45 + admin/js/jvectormap/vml-circle-element.js | 26 + admin/js/jvectormap/vml-element.js | 106 + admin/js/jvectormap/vml-group-element.js | 13 + admin/js/jvectormap/vml-path-element.js | 111 + admin/js/jvectormap/vml-shape-element.js | 49 + admin/js/jvectormap/world-map.js | 987 + admin/js/shortcuts.js | 1 + admin/js/shortcuts.non_min.js | 196 + admin/js/sliders.js | 23 + admin/js/stopwatch.js | 1 + admin/login.php | 130 + admin/logout.php | 33 + admin/misc/sounds/invoice_timer.wav | Bin 0 -> 6660 bytes admin/misc/sounds/notice.mp3 | Bin 0 -> 25004 bytes admin/sd-system/.DS_Store | Bin 0 -> 10244 bytes admin/sd-system/attachments/.gitignore | 3 + admin/sd-system/config.sample.php | 17 + admin/sd-system/exports/.gitignore | 3 + admin/sd-system/ip_whitelist.php | 4 + admin/sd-system/loader.php | 86 + admin/sd-system/reserved/.gitignore | 3 + admin/sd-system/salt.sample.php | 3 + admin/sd-system/start_app.php | 100 + calendar.php | 125 + cart.php | 102 + catalog.php | 272 + custom/.DS_Store | Bin 0 -> 22532 bytes custom/admin_extensions/.gitignore | 3 + custom/cron/.gitignore | 3 + custom/fonts/handsean.ttf | Bin 0 -> 78548 bytes custom/plugins/.gitignore | 3 + custom/qrcodes/.gitignore | 3 + custom/sessions/.gitignore | 3 + custom/uploads/.htaccess | 5 + custom/widgets/.gitignore | 3 + event.php | 299 + event_ticket.php | 50 + index.php | 38 + login.php | 45 + logout.php | 47 + lost_password.php | 39 + manage/announcements.php | 40 + manage/billing_history.php | 97 + manage/calendar.php | 75 + manage/credit_cards.php | 76 + manage/events.php | 91 + manage/index.php | 151 + manage/invoices.php | 94 + manage/subscriptions.php | 96 + manage/update_account.php | 71 + manage/uploads.php | 90 + pp-cart/.DS_Store | Bin 0 -> 8196 bytes pp-cart/add_card.php | 99 + pp-cart/ajax-functions.php | 246 + pp-cart/checkout.php | 104 + pp-cart/credit_card.php | 158 + pp-cart/empty.php | 38 + pp-cart/gateways/authnet_aim.class.php | 274 + pp-cart/gateways/authnet_cim.class.php | 447 + pp-cart/gateways/beanstream.class.php | 413 + pp-cart/gateways/elavon_vm.class.php | 214 + pp-cart/gateways/eway.class.php | 405 + pp-cart/gateways/first_data.class.php | 307 + pp-cart/gateways/paypal.class.php | 147 + pp-cart/gateways/paypal_ipn_listener.php | 141 + pp-cart/gateways/paypal_pro.class.php | 257 + pp-cart/gateways/stripe.class.php | 285 + pp-cart/invoice.php | 45 + pp-cart/invoice_add.php | 81 + pp-cart/invoice_pay.php | 53 + pp-cart/invoice_print.php | 44 + pp-cart/manage_card.php | 71 + pp-cart/manage_subscription.php | 86 + pp-cart/method_form.php | 57 + pp-cart/payment.php | 169 + pp-cart/process.php | 350 + pp-cart/return.php | 69 + pp-cart/shipping.php | 51 + pp-cart/terms.php | 50 + pp-cart/update.php | 100 + pp-cart/view_order.php | 124 + pp-functions/.DS_Store | Bin 0 -> 8196 bytes pp-functions/activate.php | 61 + pp-functions/activation-code.php | 72 + pp-functions/campaign_confirm.php | 69 + pp-functions/check_username.php | 38 + pp-functions/download.php | 55 + pp-functions/etc.php | 33 + pp-functions/etl.php | 45 + pp-functions/form_process.php | 539 + pp-functions/img_resize.php | 40 + pp-functions/login.php | 326 + pp-functions/lost_password.php | 87 + pp-functions/qrcode.php | 88 + pp-functions/qrcode/CHANGELOG | 38 + pp-functions/qrcode/INSTALL | 67 + pp-functions/qrcode/LICENSE | 165 + pp-functions/qrcode/README | 45 + pp-functions/qrcode/VERSION | 2 + pp-functions/qrcode/bindings/tcpdf/qrcode.php | 3181 ++ pp-functions/qrcode/cache/frame_1.dat | 2 + pp-functions/qrcode/cache/frame_1.png | Bin 0 -> 126 bytes pp-functions/qrcode/cache/frame_10.dat | Bin 0 -> 204 bytes pp-functions/qrcode/cache/frame_10.png | Bin 0 -> 202 bytes pp-functions/qrcode/cache/frame_11.dat | Bin 0 -> 210 bytes pp-functions/qrcode/cache/frame_11.png | Bin 0 -> 205 bytes pp-functions/qrcode/cache/frame_12.dat | Bin 0 -> 222 bytes pp-functions/qrcode/cache/frame_12.png | Bin 0 -> 216 bytes pp-functions/qrcode/cache/frame_13.dat | Bin 0 -> 223 bytes pp-functions/qrcode/cache/frame_13.png | Bin 0 -> 210 bytes pp-functions/qrcode/cache/frame_14.dat | Bin 0 -> 227 bytes pp-functions/qrcode/cache/frame_14.png | Bin 0 -> 213 bytes pp-functions/qrcode/cache/frame_15.dat | Bin 0 -> 242 bytes pp-functions/qrcode/cache/frame_15.png | Bin 0 -> 219 bytes pp-functions/qrcode/cache/frame_16.dat | 1 + pp-functions/qrcode/cache/frame_16.png | Bin 0 -> 211 bytes pp-functions/qrcode/cache/frame_17.dat | Bin 0 -> 237 bytes pp-functions/qrcode/cache/frame_17.png | Bin 0 -> 211 bytes pp-functions/qrcode/cache/frame_18.dat | 2 + pp-functions/qrcode/cache/frame_18.png | Bin 0 -> 228 bytes pp-functions/qrcode/cache/frame_19.dat | 3 + pp-functions/qrcode/cache/frame_19.png | Bin 0 -> 225 bytes pp-functions/qrcode/cache/frame_2.dat | 1 + pp-functions/qrcode/cache/frame_2.png | Bin 0 -> 144 bytes pp-functions/qrcode/cache/frame_20.dat | Bin 0 -> 250 bytes pp-functions/qrcode/cache/frame_20.png | Bin 0 -> 225 bytes pp-functions/qrcode/cache/frame_21.dat | 1 + pp-functions/qrcode/cache/frame_21.png | Bin 0 -> 235 bytes pp-functions/qrcode/cache/frame_22.dat | 3 + pp-functions/qrcode/cache/frame_22.png | Bin 0 -> 226 bytes pp-functions/qrcode/cache/frame_23.dat | 3 + pp-functions/qrcode/cache/frame_23.png | Bin 0 -> 220 bytes pp-functions/qrcode/cache/frame_24.dat | 1 + pp-functions/qrcode/cache/frame_24.png | Bin 0 -> 242 bytes pp-functions/qrcode/cache/frame_25.dat | 3 + pp-functions/qrcode/cache/frame_25.png | Bin 0 -> 242 bytes pp-functions/qrcode/cache/frame_26.dat | 2 + pp-functions/qrcode/cache/frame_26.png | Bin 0 -> 244 bytes pp-functions/qrcode/cache/frame_27.dat | Bin 0 -> 284 bytes pp-functions/qrcode/cache/frame_27.png | Bin 0 -> 237 bytes pp-functions/qrcode/cache/frame_28.dat | Bin 0 -> 318 bytes pp-functions/qrcode/cache/frame_28.png | Bin 0 -> 234 bytes pp-functions/qrcode/cache/frame_29.dat | 2 + pp-functions/qrcode/cache/frame_29.png | Bin 0 -> 232 bytes pp-functions/qrcode/cache/frame_3.dat | 1 + pp-functions/qrcode/cache/frame_3.png | Bin 0 -> 147 bytes pp-functions/qrcode/cache/frame_30.dat | Bin 0 -> 324 bytes pp-functions/qrcode/cache/frame_30.png | Bin 0 -> 255 bytes pp-functions/qrcode/cache/frame_31.dat | 1 + pp-functions/qrcode/cache/frame_31.png | Bin 0 -> 260 bytes pp-functions/qrcode/cache/frame_32.dat | 2 + pp-functions/qrcode/cache/frame_32.png | Bin 0 -> 262 bytes pp-functions/qrcode/cache/frame_33.dat | 14 + pp-functions/qrcode/cache/frame_33.png | Bin 0 -> 253 bytes pp-functions/qrcode/cache/frame_34.dat | Bin 0 -> 331 bytes pp-functions/qrcode/cache/frame_34.png | Bin 0 -> 256 bytes pp-functions/qrcode/cache/frame_35.dat | Bin 0 -> 342 bytes pp-functions/qrcode/cache/frame_35.png | Bin 0 -> 243 bytes pp-functions/qrcode/cache/frame_36.dat | Bin 0 -> 370 bytes pp-functions/qrcode/cache/frame_36.png | Bin 0 -> 272 bytes pp-functions/qrcode/cache/frame_37.dat | Bin 0 -> 376 bytes pp-functions/qrcode/cache/frame_37.png | Bin 0 -> 279 bytes pp-functions/qrcode/cache/frame_38.dat | 1 + pp-functions/qrcode/cache/frame_38.png | Bin 0 -> 279 bytes pp-functions/qrcode/cache/frame_39.dat | Bin 0 -> 404 bytes pp-functions/qrcode/cache/frame_39.png | Bin 0 -> 264 bytes pp-functions/qrcode/cache/frame_4.dat | 1 + pp-functions/qrcode/cache/frame_4.png | Bin 0 -> 149 bytes pp-functions/qrcode/cache/frame_40.dat | 2 + pp-functions/qrcode/cache/frame_40.png | Bin 0 -> 267 bytes pp-functions/qrcode/cache/frame_5.dat | 1 + pp-functions/qrcode/cache/frame_5.png | Bin 0 -> 150 bytes pp-functions/qrcode/cache/frame_6.dat | Bin 0 -> 132 bytes pp-functions/qrcode/cache/frame_6.png | Bin 0 -> 151 bytes pp-functions/qrcode/cache/frame_7.dat | Bin 0 -> 196 bytes pp-functions/qrcode/cache/frame_7.png | Bin 0 -> 189 bytes pp-functions/qrcode/cache/frame_8.dat | Bin 0 -> 201 bytes pp-functions/qrcode/cache/frame_8.png | Bin 0 -> 204 bytes pp-functions/qrcode/cache/frame_9.dat | Bin 0 -> 206 bytes pp-functions/qrcode/cache/frame_9.png | Bin 0 -> 199 bytes .../qrcode/cache/mask_0/mask_101_0.dat | Bin 0 -> 157 bytes .../qrcode/cache/mask_0/mask_105_0.dat | Bin 0 -> 162 bytes .../qrcode/cache/mask_0/mask_109_0.dat | 2 + .../qrcode/cache/mask_0/mask_113_0.dat | 2 + .../qrcode/cache/mask_0/mask_117_0.dat | 2 + .../qrcode/cache/mask_0/mask_121_0.dat | 1 + .../qrcode/cache/mask_0/mask_125_0.dat | 2 + .../qrcode/cache/mask_0/mask_129_0.dat | 2 + .../qrcode/cache/mask_0/mask_133_0.dat | 2 + .../qrcode/cache/mask_0/mask_137_0.dat | 1 + .../qrcode/cache/mask_0/mask_141_0.dat | 2 + .../qrcode/cache/mask_0/mask_145_0.dat | 2 + .../qrcode/cache/mask_0/mask_149_0.dat | 3 + .../qrcode/cache/mask_0/mask_153_0.dat | 1 + .../qrcode/cache/mask_0/mask_157_0.dat | 2 + .../qrcode/cache/mask_0/mask_161_0.dat | Bin 0 -> 241 bytes .../qrcode/cache/mask_0/mask_165_0.dat | 2 + .../qrcode/cache/mask_0/mask_169_0.dat | 2 + .../qrcode/cache/mask_0/mask_173_0.dat | 1 + .../qrcode/cache/mask_0/mask_177_0.dat | 2 + .../qrcode/cache/mask_0/mask_21_0.dat | Bin 0 -> 48 bytes .../qrcode/cache/mask_0/mask_25_0.dat | Bin 0 -> 57 bytes .../qrcode/cache/mask_0/mask_29_0.dat | Bin 0 -> 59 bytes .../qrcode/cache/mask_0/mask_33_0.dat | Bin 0 -> 62 bytes .../qrcode/cache/mask_0/mask_37_0.dat | Bin 0 -> 65 bytes .../qrcode/cache/mask_0/mask_41_0.dat | Bin 0 -> 68 bytes .../qrcode/cache/mask_0/mask_45_0.dat | Bin 0 -> 106 bytes .../qrcode/cache/mask_0/mask_49_0.dat | 2 + .../qrcode/cache/mask_0/mask_53_0.dat | 2 + .../qrcode/cache/mask_0/mask_57_0.dat | 4 + .../qrcode/cache/mask_0/mask_61_0.dat | Bin 0 -> 119 bytes .../qrcode/cache/mask_0/mask_65_0.dat | Bin 0 -> 123 bytes .../qrcode/cache/mask_0/mask_69_0.dat | 1 + .../qrcode/cache/mask_0/mask_73_0.dat | 1 + .../qrcode/cache/mask_0/mask_77_0.dat | 2 + .../qrcode/cache/mask_0/mask_81_0.dat | 2 + .../qrcode/cache/mask_0/mask_85_0.dat | 2 + .../qrcode/cache/mask_0/mask_89_0.dat | 1 + .../qrcode/cache/mask_0/mask_93_0.dat | 3 + .../qrcode/cache/mask_0/mask_97_0.dat | Bin 0 -> 150 bytes .../qrcode/cache/mask_1/mask_101_1.dat | 2 + .../qrcode/cache/mask_1/mask_105_1.dat | 1 + .../qrcode/cache/mask_1/mask_109_1.dat | 1 + .../qrcode/cache/mask_1/mask_113_1.dat | 1 + .../qrcode/cache/mask_1/mask_117_1.dat | 2 + .../qrcode/cache/mask_1/mask_121_1.dat | 2 + .../qrcode/cache/mask_1/mask_125_1.dat | 2 + .../qrcode/cache/mask_1/mask_129_1.dat | Bin 0 -> 164 bytes .../qrcode/cache/mask_1/mask_133_1.dat | 1 + .../qrcode/cache/mask_1/mask_137_1.dat | 3 + .../qrcode/cache/mask_1/mask_141_1.dat | 2 + .../qrcode/cache/mask_1/mask_145_1.dat | 1 + .../qrcode/cache/mask_1/mask_149_1.dat | 1 + .../qrcode/cache/mask_1/mask_153_1.dat | 2 + .../qrcode/cache/mask_1/mask_157_1.dat | 2 + .../qrcode/cache/mask_1/mask_161_1.dat | 1 + .../qrcode/cache/mask_1/mask_165_1.dat | 1 + .../qrcode/cache/mask_1/mask_169_1.dat | 1 + .../qrcode/cache/mask_1/mask_173_1.dat | 1 + .../qrcode/cache/mask_1/mask_177_1.dat | 1 + .../qrcode/cache/mask_1/mask_21_1.dat | Bin 0 -> 42 bytes .../qrcode/cache/mask_1/mask_25_1.dat | Bin 0 -> 48 bytes .../qrcode/cache/mask_1/mask_29_1.dat | Bin 0 -> 50 bytes .../qrcode/cache/mask_1/mask_33_1.dat | Bin 0 -> 53 bytes .../qrcode/cache/mask_1/mask_37_1.dat | Bin 0 -> 56 bytes .../qrcode/cache/mask_1/mask_41_1.dat | Bin 0 -> 58 bytes .../qrcode/cache/mask_1/mask_45_1.dat | Bin 0 -> 82 bytes .../qrcode/cache/mask_1/mask_49_1.dat | Bin 0 -> 84 bytes .../qrcode/cache/mask_1/mask_53_1.dat | Bin 0 -> 87 bytes .../qrcode/cache/mask_1/mask_57_1.dat | Bin 0 -> 92 bytes .../qrcode/cache/mask_1/mask_61_1.dat | 1 + .../qrcode/cache/mask_1/mask_65_1.dat | Bin 0 -> 99 bytes .../qrcode/cache/mask_1/mask_69_1.dat | Bin 0 -> 102 bytes .../qrcode/cache/mask_1/mask_73_1.dat | Bin 0 -> 104 bytes .../qrcode/cache/mask_1/mask_77_1.dat | Bin 0 -> 110 bytes .../qrcode/cache/mask_1/mask_81_1.dat | Bin 0 -> 114 bytes .../qrcode/cache/mask_1/mask_85_1.dat | 2 + .../qrcode/cache/mask_1/mask_89_1.dat | 1 + .../qrcode/cache/mask_1/mask_93_1.dat | 2 + .../qrcode/cache/mask_1/mask_97_1.dat | 2 + .../qrcode/cache/mask_2/mask_101_2.dat | 3 + .../qrcode/cache/mask_2/mask_105_2.dat | 1 + .../qrcode/cache/mask_2/mask_109_2.dat | 2 + .../qrcode/cache/mask_2/mask_113_2.dat | 1 + .../qrcode/cache/mask_2/mask_117_2.dat | 2 + .../qrcode/cache/mask_2/mask_121_2.dat | Bin 0 -> 127 bytes .../qrcode/cache/mask_2/mask_125_2.dat | 1 + .../qrcode/cache/mask_2/mask_129_2.dat | 2 + .../qrcode/cache/mask_2/mask_133_2.dat | 10 + .../qrcode/cache/mask_2/mask_137_2.dat | 2 + .../qrcode/cache/mask_2/mask_141_2.dat | 2 + .../qrcode/cache/mask_2/mask_145_2.dat | 4 + .../qrcode/cache/mask_2/mask_149_2.dat | 1 + .../qrcode/cache/mask_2/mask_153_2.dat | 2 + .../qrcode/cache/mask_2/mask_157_2.dat | 3 + .../qrcode/cache/mask_2/mask_161_2.dat | Bin 0 -> 190 bytes .../qrcode/cache/mask_2/mask_165_2.dat | 2 + .../qrcode/cache/mask_2/mask_169_2.dat | Bin 0 -> 196 bytes .../qrcode/cache/mask_2/mask_173_2.dat | 1 + .../qrcode/cache/mask_2/mask_177_2.dat | 2 + .../qrcode/cache/mask_2/mask_21_2.dat | Bin 0 -> 35 bytes .../qrcode/cache/mask_2/mask_25_2.dat | Bin 0 -> 41 bytes .../qrcode/cache/mask_2/mask_29_2.dat | Bin 0 -> 45 bytes .../qrcode/cache/mask_2/mask_33_2.dat | Bin 0 -> 47 bytes .../qrcode/cache/mask_2/mask_37_2.dat | Bin 0 -> 47 bytes .../qrcode/cache/mask_2/mask_41_2.dat | 1 + .../qrcode/cache/mask_2/mask_45_2.dat | Bin 0 -> 68 bytes .../qrcode/cache/mask_2/mask_49_2.dat | Bin 0 -> 70 bytes .../qrcode/cache/mask_2/mask_53_2.dat | Bin 0 -> 73 bytes .../qrcode/cache/mask_2/mask_57_2.dat | Bin 0 -> 76 bytes .../qrcode/cache/mask_2/mask_61_2.dat | Bin 0 -> 78 bytes .../qrcode/cache/mask_2/mask_65_2.dat | Bin 0 -> 89 bytes .../qrcode/cache/mask_2/mask_69_2.dat | Bin 0 -> 88 bytes .../qrcode/cache/mask_2/mask_73_2.dat | Bin 0 -> 94 bytes .../qrcode/cache/mask_2/mask_77_2.dat | 1 + .../qrcode/cache/mask_2/mask_81_2.dat | 2 + .../qrcode/cache/mask_2/mask_85_2.dat | 2 + .../qrcode/cache/mask_2/mask_89_2.dat | 1 + .../qrcode/cache/mask_2/mask_93_2.dat | Bin 0 -> 103 bytes .../qrcode/cache/mask_2/mask_97_2.dat | 2 + .../qrcode/cache/mask_3/mask_101_3.dat | 1 + .../qrcode/cache/mask_3/mask_105_3.dat | 1 + .../qrcode/cache/mask_3/mask_109_3.dat | 1 + .../qrcode/cache/mask_3/mask_113_3.dat | 2 + .../qrcode/cache/mask_3/mask_117_3.dat | 4 + .../qrcode/cache/mask_3/mask_121_3.dat | Bin 0 -> 212 bytes .../qrcode/cache/mask_3/mask_125_3.dat | 2 + .../qrcode/cache/mask_3/mask_129_3.dat | 8 + .../qrcode/cache/mask_3/mask_133_3.dat | Bin 0 -> 216 bytes .../qrcode/cache/mask_3/mask_137_3.dat | 2 + .../qrcode/cache/mask_3/mask_141_3.dat | 2 + .../qrcode/cache/mask_3/mask_145_3.dat | 3 + .../qrcode/cache/mask_3/mask_149_3.dat | 1 + .../qrcode/cache/mask_3/mask_153_3.dat | 2 + .../qrcode/cache/mask_3/mask_157_3.dat | Bin 0 -> 248 bytes .../qrcode/cache/mask_3/mask_161_3.dat | 3 + .../qrcode/cache/mask_3/mask_165_3.dat | 2 + .../qrcode/cache/mask_3/mask_169_3.dat | 1 + .../qrcode/cache/mask_3/mask_173_3.dat | 1 + .../qrcode/cache/mask_3/mask_177_3.dat | Bin 0 -> 312 bytes .../qrcode/cache/mask_3/mask_21_3.dat | Bin 0 -> 60 bytes .../qrcode/cache/mask_3/mask_25_3.dat | Bin 0 -> 75 bytes .../qrcode/cache/mask_3/mask_29_3.dat | Bin 0 -> 75 bytes .../qrcode/cache/mask_3/mask_33_3.dat | Bin 0 -> 79 bytes .../qrcode/cache/mask_3/mask_37_3.dat | Bin 0 -> 83 bytes .../qrcode/cache/mask_3/mask_41_3.dat | Bin 0 -> 85 bytes .../qrcode/cache/mask_3/mask_45_3.dat | 2 + .../qrcode/cache/mask_3/mask_49_3.dat | Bin 0 -> 127 bytes .../qrcode/cache/mask_3/mask_53_3.dat | 2 + .../qrcode/cache/mask_3/mask_57_3.dat | Bin 0 -> 126 bytes .../qrcode/cache/mask_3/mask_61_3.dat | 2 + .../qrcode/cache/mask_3/mask_65_3.dat | 2 + .../qrcode/cache/mask_3/mask_69_3.dat | 2 + .../qrcode/cache/mask_3/mask_73_3.dat | 2 + .../qrcode/cache/mask_3/mask_77_3.dat | 2 + .../qrcode/cache/mask_3/mask_81_3.dat | 2 + .../qrcode/cache/mask_3/mask_85_3.dat | Bin 0 -> 160 bytes .../qrcode/cache/mask_3/mask_89_3.dat | 2 + .../qrcode/cache/mask_3/mask_93_3.dat | 2 + .../qrcode/cache/mask_3/mask_97_3.dat | Bin 0 -> 175 bytes .../qrcode/cache/mask_4/mask_101_4.dat | 2 + .../qrcode/cache/mask_4/mask_105_4.dat | 2 + .../qrcode/cache/mask_4/mask_109_4.dat | Bin 0 -> 182 bytes .../qrcode/cache/mask_4/mask_113_4.dat | 2 + .../qrcode/cache/mask_4/mask_117_4.dat | 2 + .../qrcode/cache/mask_4/mask_121_4.dat | Bin 0 -> 208 bytes .../qrcode/cache/mask_4/mask_125_4.dat | Bin 0 -> 213 bytes .../qrcode/cache/mask_4/mask_129_4.dat | Bin 0 -> 220 bytes .../qrcode/cache/mask_4/mask_133_4.dat | 3 + .../qrcode/cache/mask_4/mask_137_4.dat | Bin 0 -> 248 bytes .../qrcode/cache/mask_4/mask_141_4.dat | Bin 0 -> 254 bytes .../qrcode/cache/mask_4/mask_145_4.dat | Bin 0 -> 255 bytes .../qrcode/cache/mask_4/mask_149_4.dat | 2 + .../qrcode/cache/mask_4/mask_153_4.dat | 2 + .../qrcode/cache/mask_4/mask_157_4.dat | 1 + .../qrcode/cache/mask_4/mask_161_4.dat | 1 + .../qrcode/cache/mask_4/mask_165_4.dat | 3 + .../qrcode/cache/mask_4/mask_169_4.dat | Bin 0 -> 297 bytes .../qrcode/cache/mask_4/mask_173_4.dat | 2 + .../qrcode/cache/mask_4/mask_177_4.dat | 2 + .../qrcode/cache/mask_4/mask_21_4.dat | Bin 0 -> 57 bytes .../qrcode/cache/mask_4/mask_25_4.dat | Bin 0 -> 76 bytes .../qrcode/cache/mask_4/mask_29_4.dat | Bin 0 -> 78 bytes .../qrcode/cache/mask_4/mask_33_4.dat | Bin 0 -> 89 bytes .../qrcode/cache/mask_4/mask_37_4.dat | Bin 0 -> 86 bytes .../qrcode/cache/mask_4/mask_41_4.dat | Bin 0 -> 89 bytes .../qrcode/cache/mask_4/mask_45_4.dat | Bin 0 -> 120 bytes .../qrcode/cache/mask_4/mask_49_4.dat | Bin 0 -> 124 bytes .../qrcode/cache/mask_4/mask_53_4.dat | Bin 0 -> 128 bytes .../qrcode/cache/mask_4/mask_57_4.dat | Bin 0 -> 130 bytes .../qrcode/cache/mask_4/mask_61_4.dat | Bin 0 -> 132 bytes .../qrcode/cache/mask_4/mask_65_4.dat | 2 + .../qrcode/cache/mask_4/mask_69_4.dat | 1 + .../qrcode/cache/mask_4/mask_73_4.dat | 3 + .../qrcode/cache/mask_4/mask_77_4.dat | 2 + .../qrcode/cache/mask_4/mask_81_4.dat | 3 + .../qrcode/cache/mask_4/mask_85_4.dat | Bin 0 -> 154 bytes .../qrcode/cache/mask_4/mask_89_4.dat | 2 + .../qrcode/cache/mask_4/mask_93_4.dat | 2 + .../qrcode/cache/mask_4/mask_97_4.dat | Bin 0 -> 176 bytes .../qrcode/cache/mask_5/mask_101_5.dat | 2 + .../qrcode/cache/mask_5/mask_105_5.dat | Bin 0 -> 224 bytes .../qrcode/cache/mask_5/mask_109_5.dat | Bin 0 -> 211 bytes .../qrcode/cache/mask_5/mask_113_5.dat | 9 + .../qrcode/cache/mask_5/mask_117_5.dat | 1 + .../qrcode/cache/mask_5/mask_121_5.dat | Bin 0 -> 256 bytes .../qrcode/cache/mask_5/mask_125_5.dat | 2 + .../qrcode/cache/mask_5/mask_129_5.dat | Bin 0 -> 259 bytes .../qrcode/cache/mask_5/mask_133_5.dat | 2 + .../qrcode/cache/mask_5/mask_137_5.dat | 3 + .../qrcode/cache/mask_5/mask_141_5.dat | Bin 0 -> 297 bytes .../qrcode/cache/mask_5/mask_145_5.dat | Bin 0 -> 300 bytes .../qrcode/cache/mask_5/mask_149_5.dat | 3 + .../qrcode/cache/mask_5/mask_153_5.dat | 2 + .../qrcode/cache/mask_5/mask_157_5.dat | 1 + .../qrcode/cache/mask_5/mask_161_5.dat | 2 + .../qrcode/cache/mask_5/mask_165_5.dat | Bin 0 -> 332 bytes .../qrcode/cache/mask_5/mask_169_5.dat | 1 + .../qrcode/cache/mask_5/mask_173_5.dat | 4 + .../qrcode/cache/mask_5/mask_177_5.dat | 11 + .../qrcode/cache/mask_5/mask_21_5.dat | Bin 0 -> 74 bytes .../qrcode/cache/mask_5/mask_25_5.dat | 2 + .../qrcode/cache/mask_5/mask_29_5.dat | 2 + .../qrcode/cache/mask_5/mask_33_5.dat | Bin 0 -> 106 bytes .../qrcode/cache/mask_5/mask_37_5.dat | Bin 0 -> 103 bytes .../qrcode/cache/mask_5/mask_41_5.dat | 2 + .../qrcode/cache/mask_5/mask_45_5.dat | 1 + .../qrcode/cache/mask_5/mask_49_5.dat | Bin 0 -> 146 bytes .../qrcode/cache/mask_5/mask_53_5.dat | 1 + .../qrcode/cache/mask_5/mask_57_5.dat | 2 + .../qrcode/cache/mask_5/mask_61_5.dat | 1 + .../qrcode/cache/mask_5/mask_65_5.dat | Bin 0 -> 163 bytes .../qrcode/cache/mask_5/mask_69_5.dat | Bin 0 -> 167 bytes .../qrcode/cache/mask_5/mask_73_5.dat | Bin 0 -> 184 bytes .../qrcode/cache/mask_5/mask_77_5.dat | 1 + .../qrcode/cache/mask_5/mask_81_5.dat | 3 + .../qrcode/cache/mask_5/mask_85_5.dat | Bin 0 -> 186 bytes .../qrcode/cache/mask_5/mask_89_5.dat | 2 + .../qrcode/cache/mask_5/mask_93_5.dat | 2 + .../qrcode/cache/mask_5/mask_97_5.dat | 1 + .../qrcode/cache/mask_6/mask_101_6.dat | 2 + .../qrcode/cache/mask_6/mask_105_6.dat | 3 + .../qrcode/cache/mask_6/mask_109_6.dat | 1 + .../qrcode/cache/mask_6/mask_113_6.dat | 3 + .../qrcode/cache/mask_6/mask_117_6.dat | 1 + .../qrcode/cache/mask_6/mask_121_6.dat | Bin 0 -> 309 bytes .../qrcode/cache/mask_6/mask_125_6.dat | 1 + .../qrcode/cache/mask_6/mask_129_6.dat | Bin 0 -> 310 bytes .../qrcode/cache/mask_6/mask_133_6.dat | Bin 0 -> 296 bytes .../qrcode/cache/mask_6/mask_137_6.dat | 2 + .../qrcode/cache/mask_6/mask_141_6.dat | 10 + .../qrcode/cache/mask_6/mask_145_6.dat | Bin 0 -> 357 bytes .../qrcode/cache/mask_6/mask_149_6.dat | 2 + .../qrcode/cache/mask_6/mask_153_6.dat | Bin 0 -> 367 bytes .../qrcode/cache/mask_6/mask_157_6.dat | 1 + .../qrcode/cache/mask_6/mask_161_6.dat | Bin 0 -> 399 bytes .../qrcode/cache/mask_6/mask_165_6.dat | Bin 0 -> 400 bytes .../qrcode/cache/mask_6/mask_169_6.dat | 1 + .../qrcode/cache/mask_6/mask_173_6.dat | 1 + .../qrcode/cache/mask_6/mask_177_6.dat | 14 + .../qrcode/cache/mask_6/mask_21_6.dat | 1 + .../qrcode/cache/mask_6/mask_25_6.dat | 1 + .../qrcode/cache/mask_6/mask_29_6.dat | 3 + .../qrcode/cache/mask_6/mask_33_6.dat | Bin 0 -> 124 bytes .../qrcode/cache/mask_6/mask_37_6.dat | 1 + .../qrcode/cache/mask_6/mask_41_6.dat | Bin 0 -> 132 bytes .../qrcode/cache/mask_6/mask_45_6.dat | Bin 0 -> 189 bytes .../qrcode/cache/mask_6/mask_49_6.dat | 2 + .../qrcode/cache/mask_6/mask_53_6.dat | Bin 0 -> 195 bytes .../qrcode/cache/mask_6/mask_57_6.dat | 2 + .../qrcode/cache/mask_6/mask_61_6.dat | 2 + .../qrcode/cache/mask_6/mask_65_6.dat | 1 + .../qrcode/cache/mask_6/mask_69_6.dat | 1 + .../qrcode/cache/mask_6/mask_73_6.dat | Bin 0 -> 230 bytes .../qrcode/cache/mask_6/mask_77_6.dat | 1 + .../qrcode/cache/mask_6/mask_81_6.dat | 3 + .../qrcode/cache/mask_6/mask_85_6.dat | Bin 0 -> 229 bytes .../qrcode/cache/mask_6/mask_89_6.dat | Bin 0 -> 263 bytes .../qrcode/cache/mask_6/mask_93_6.dat | Bin 0 -> 276 bytes .../qrcode/cache/mask_6/mask_97_6.dat | 2 + .../qrcode/cache/mask_7/mask_101_7.dat | 1 + .../qrcode/cache/mask_7/mask_105_7.dat | 2 + .../qrcode/cache/mask_7/mask_109_7.dat | 2 + .../qrcode/cache/mask_7/mask_113_7.dat | 11 + .../qrcode/cache/mask_7/mask_117_7.dat | 2 + .../qrcode/cache/mask_7/mask_121_7.dat | 2 + .../qrcode/cache/mask_7/mask_125_7.dat | Bin 0 -> 288 bytes .../qrcode/cache/mask_7/mask_129_7.dat | Bin 0 -> 282 bytes .../qrcode/cache/mask_7/mask_133_7.dat | Bin 0 -> 281 bytes .../qrcode/cache/mask_7/mask_137_7.dat | 5 + .../qrcode/cache/mask_7/mask_141_7.dat | 1 + .../qrcode/cache/mask_7/mask_145_7.dat | 2 + .../qrcode/cache/mask_7/mask_149_7.dat | 1 + .../qrcode/cache/mask_7/mask_153_7.dat | 2 + .../qrcode/cache/mask_7/mask_157_7.dat | 2 + .../qrcode/cache/mask_7/mask_161_7.dat | 1 + .../qrcode/cache/mask_7/mask_165_7.dat | 1 + .../qrcode/cache/mask_7/mask_169_7.dat | Bin 0 -> 383 bytes .../qrcode/cache/mask_7/mask_173_7.dat | 1 + .../qrcode/cache/mask_7/mask_177_7.dat | Bin 0 -> 407 bytes .../qrcode/cache/mask_7/mask_21_7.dat | 4 + .../qrcode/cache/mask_7/mask_25_7.dat | 1 + .../qrcode/cache/mask_7/mask_29_7.dat | 2 + .../qrcode/cache/mask_7/mask_33_7.dat | 1 + .../qrcode/cache/mask_7/mask_37_7.dat | Bin 0 -> 122 bytes .../qrcode/cache/mask_7/mask_41_7.dat | 1 + .../qrcode/cache/mask_7/mask_45_7.dat | Bin 0 -> 173 bytes .../qrcode/cache/mask_7/mask_49_7.dat | 1 + .../qrcode/cache/mask_7/mask_53_7.dat | 1 + .../qrcode/cache/mask_7/mask_57_7.dat | 1 + .../qrcode/cache/mask_7/mask_61_7.dat | 2 + .../qrcode/cache/mask_7/mask_65_7.dat | 1 + .../qrcode/cache/mask_7/mask_69_7.dat | Bin 0 -> 202 bytes .../qrcode/cache/mask_7/mask_73_7.dat | Bin 0 -> 221 bytes .../qrcode/cache/mask_7/mask_77_7.dat | Bin 0 -> 226 bytes .../qrcode/cache/mask_7/mask_81_7.dat | 1 + .../qrcode/cache/mask_7/mask_85_7.dat | Bin 0 -> 213 bytes .../qrcode/cache/mask_7/mask_89_7.dat | Bin 0 -> 244 bytes .../qrcode/cache/mask_7/mask_93_7.dat | Bin 0 -> 248 bytes .../qrcode/cache/mask_7/mask_97_7.dat | 2 + pp-functions/qrcode/index.php | 75 + pp-functions/qrcode/qrbitstream.php | 165 + pp-functions/qrcode/qrconfig.php | 14 + pp-functions/qrcode/qrconst.php | 50 + pp-functions/qrcode/qrencode.php | 464 + pp-functions/qrcode/qrimage.php | 84 + pp-functions/qrcode/qrinput.php | 694 + pp-functions/qrcode/qrlib.php | 40 + pp-functions/qrcode/qrmask.php | 328 + pp-functions/qrcode/qrrscode.php | 189 + pp-functions/qrcode/qrspec.php | 598 + pp-functions/qrcode/qrsplit.php | 289 + pp-functions/qrcode/qrtools.php | 154 + pp-functions/qrcode/tools/merge.bat | 2 + pp-functions/qrcode/tools/merge.php | 60 + pp-functions/qrcode/tools/merge.sh | 2 + pp-functions/qrcode/tools/merged_config.php | 14 + pp-functions/qrcode/tools/merged_header.php | 36 + pp-functions/qrcode_scan.php | 59 + pp-functions/reset_password.php | 44 + pp-functions/reset_password_process.php | 79 + pp-functions/unsubscribe.php | 64 + pp-functions/upload.php | 74 + pp-functions/view_email.php | 49 + pp-js/_____jquery.ui.js | 3493 ++ pp-js/billing.functions.js | 21 + pp-js/bo.js | 106 + pp-js/form_functions.js | 242 + pp-js/general.js | 409 + pp-js/jquery.cycle.js | 1273 + pp-js/jquery.fileuploader.js | 1280 + pp-js/jquery.js | 2579 ++ pp-js/jquery.timepicker.js | 1479 + pp-js/jquery.ui.js | 3493 ++ pp-templates/.DS_Store | Bin 0 -> 8196 bytes .../email/threefiveten/account_activated.html | 11 + .../threefiveten/admin_email_notify.html | 30 + .../threefiveten/campaign_double_optin.html | 14 + .../threefiveten/campaign_subscription.html | 10 + .../threefiveten/campaign_unsubscribed.html | 10 + .../email/threefiveten/cart_receipt.html | 58 + .../cart_subscription_advanced_notice.html | 37 + .../cart_subscription_canceled.html | 32 + .../cart_subscription_changed.html | 34 + .../cart_subscription_created.html | 35 + .../cart_subscription_failed.html | 39 + .../cart_subscription_no_card.html | 32 + .../cart_subscription_renewed.html | 38 + .../email/threefiveten/contact_thankyou.html | 10 + .../threefiveten/email_activation_code.html | 12 + .../threefiveten/email_await_activation.html | 10 + .../email_membership_created.html | 14 + .../threefiveten/email_pending_invoice.html | 12 + .../threefiveten/email_reg_complete.html | 10 + .../email/threefiveten/email_styles.css | 187 + .../threefiveten/employee_note_tagged.html | 10 + .../email/threefiveten/event_followup.html | 10 + .../email/threefiveten/event_reminder.html | 62 + .../email/threefiveten/event_rsvp.html | 62 + .../email/threefiveten/event_rsvp_guest.html | 58 + .../email/threefiveten/form_request.html | 15 + .../email/threefiveten/html_footer.html | 6 + .../email/threefiveten/html_header.html | 14 + pp-templates/email/threefiveten/invoice.html | 73 + .../email/threefiveten/invoice_closed.html | 72 + .../email/threefiveten/invoice_due.html | 73 + .../email/threefiveten/invoice_overdue.html | 73 + .../email/threefiveten/invoice_updated.html | 71 + .../threefiveten/member_status_changed.html | 14 + .../email/threefiveten/order_shipped.html | 61 + .../email/threefiveten/refund_issued.html | 13 + pp-templates/email/threefiveten/reg_code.html | 14 + .../reset_password_directions.html | 12 + pp-templates/html/.DS_Store | Bin 0 -> 8196 bytes pp-templates/html/zoid/.DS_Store | Bin 0 -> 14340 bytes pp-templates/html/zoid/_author/info.xml | 8 + pp-templates/html/zoid/_author/screen.jpg | Bin 0 -> 48065 bytes pp-templates/html/zoid/css/invoice_style.css | 145 + .../html/zoid/css/jquery.fileuploader.css | 113 + .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 119 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 131 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 159 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 103 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 104 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 119 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../html/zoid/css/jquery_ui/jquery.ui.css | 1848 + pp-templates/html/zoid/css/media.css | 160 + pp-templates/html/zoid/css/primary.css | 1971 + pp-templates/html/zoid/en/.DS_Store | Bin 0 -> 14340 bytes .../html/zoid/en/activation_code_sent.php | 6 + pp-templates/html/zoid/en/calendar.php | 33 + .../html/zoid/en/calendar_event_entry.php | 7 + pp-templates/html/zoid/en/calendar_long.php | 18 + .../html/zoid/en/campaign_confirm_needed.php | 19 + .../html/zoid/en/campaign_subscription.php | 7 + .../html/zoid/en/campaign_unsubscribed.php | 7 + pp-templates/html/zoid/en/captcha_block.php | 12 + pp-templates/html/zoid/en/cart_add_card.php | 54 + pp-templates/html/zoid/en/cart_billing.php | 141 + .../html/zoid/en/cart_billing_preview.php | 124 + pp-templates/html/zoid/en/cart_cc_option.php | 1 + .../html/zoid/en/cart_manage_card.php | 8 + .../html/zoid/en/cart_manage_subscription.php | 92 + pp-templates/html/zoid/en/cart_overview.php | 103 + .../html/zoid/en/cart_overview_empty.php | 59 + .../html/zoid/en/cart_product_entry.php | 17 + .../html/zoid/en/cart_product_entry_edit.php | 17 + .../html/zoid/en/cart_product_entry_none.php | 3 + .../html/zoid/en/cart_product_entry_small.php | 7 + .../zoid/en/cart_product_entry_upsell.php | 7 + pp-templates/html/zoid/en/cart_receipt.php | 107 + pp-templates/html/zoid/en/cart_shipping.php | 16 + .../html/zoid/en/cart_shipping_entry.php | 8 + pp-templates/html/zoid/en/cart_terms.php | 18 + .../html/zoid/en/cart_terms_entry.php | 9 + .../html/zoid/en/cart_upsell_checkout.php | 24 + pp-templates/html/zoid/en/cart_view_order.php | 111 + pp-templates/html/zoid/en/catalog.php | 115 + pp-templates/html/zoid/en/catalog_entry.php | 17 + .../html/zoid/en/catalog_entry_none.php | 5 + .../html/zoid/en/catalog_view_product.php | 63 + pp-templates/html/zoid/en/contact.php | 32 + .../html/zoid/en/contact_thankyou.php | 9 + pp-templates/html/zoid/en/default_page.php | 5 + pp-templates/html/zoid/en/dependency.php | 34 + pp-templates/html/zoid/en/email_confirmed.php | 7 + pp-templates/html/zoid/en/error.php | 19 + pp-templates/html/zoid/en/event.php | 114 + .../html/zoid/en/event_product_entry.php | 14 + pp-templates/html/zoid/en/event_register.php | 73 + .../html/zoid/en/event_register_confirm.php | 23 + .../html/zoid/en/event_register_confirmed.php | 19 + .../html/zoid/en/event_register_guests.php | 39 + .../zoid/en/event_register_guests_info.php | 12 + .../html/zoid/en/event_register_pricing.php | 48 + pp-templates/html/zoid/en/event_ticket.php | 74 + .../html/zoid/en/event_ticket_entry.php | 26 + pp-templates/html/zoid/en/event_timeline.php | 5 + .../html/zoid/en/event_timeline_entry.php | 37 + pp-templates/html/zoid/en/event_view.php | 14 + pp-templates/html/zoid/en/footer.php | 10 + pp-templates/html/zoid/en/header.php | 43 + pp-templates/html/zoid/en/homepage.php | 30 + pp-templates/html/zoid/en/invoice.php | 113 + .../html/zoid/en/invoice_credit_entry.php | 9 + pp-templates/html/zoid/en/invoice_entry.php | 9 + pp-templates/html/zoid/en/invoice_pay.php | 61 + .../html/zoid/en/invoice_payment_entry.php | 9 + pp-templates/html/zoid/en/invoice_print.php | 111 + .../html/zoid/en/invoice_time_entry.php | 9 + pp-templates/html/zoid/en/login.php | 86 + .../zoid/en/manage_announcement_entry.php | 9 + .../html/zoid/en/manage_announcements.php | 23 + .../html/zoid/en/manage_billing_history.php | 82 + .../zoid/en/manage_billing_history_entry.php | 6 + pp-templates/html/zoid/en/manage_calendar.php | 19 + .../html/zoid/en/manage_credit_cards.php | 41 + .../zoid/en/manage_credit_cards_entry.php | 5 + .../html/zoid/en/manage_event_rsvps.php | 74 + .../html/zoid/en/manage_event_rsvps_entry.php | 6 + pp-templates/html/zoid/en/manage_home.php | 57 + .../zoid/en/manage_home_content_entry.php | 4 + .../html/zoid/en/manage_invoice_entry.php | 7 + pp-templates/html/zoid/en/manage_invoices.php | 79 + .../html/zoid/en/manage_subscriptions.php | 91 + .../zoid/en/manage_subscriptions_entry.php | 10 + .../html/zoid/en/manage_update_account.php | 69 + pp-templates/html/zoid/en/manage_uploads.php | 23 + .../html/zoid/en/manage_uploads_entry.php | 6 + pp-templates/html/zoid/en/page-2col-3070.php | 16 + pp-templates/html/zoid/en/page-2col-5050.php | 16 + pp-templates/html/zoid/en/page-2col-7030.php | 16 + pp-templates/html/zoid/en/page-3col-333.php | 17 + .../html/zoid/en/password_recovery.php | 63 + pp-templates/html/zoid/en/password_reset.php | 43 + .../html/zoid/en/popup_cart_added.php | 18 + .../zoid/en/popup_cart_added_withupsell.php | 18 + .../zoid/en/popup_cart_alter_subscription.php | 17 + .../popup_cart_alter_subscription_entry.php | 7 + .../html/zoid/en/popup_cart_set_region.php | 17 + .../en/popup_cart_upgrade_subscription.php | 20 + .../html/zoid/en/popup_cart_upsell.php | 7 + .../html/zoid/en/popup_login_error.php | 17 + .../html/zoid/en/reg_activation_code.php | 22 + .../html/zoid/en/reg_await_activation.php | 22 + .../html/zoid/en/reg_awaiting_payment.php | 20 + .../html/zoid/en/reg_code_required.php | 31 + pp-templates/html/zoid/en/reg_complete.php | 22 + pp-templates/html/zoid/en/reg_preview.php | 32 + .../html/zoid/en/reg_select_product.php | 46 + .../html/zoid/en/reg_select_product_entry.php | 6 + pp-templates/html/zoid/en/register.php | 37 + pp-templates/html/zoid/en/register_list.php | 24 + .../html/zoid/en/register_list_entry.php | 10 + .../html/zoid/en/register_list_entry_none.php | 5 + pp-templates/html/zoid/en/update.php | 32 + .../html/zoid/en/widget-featured_product.php | 18 + .../html/zoid/en/widget-member_spotlight.php | 8 + .../html/zoid/en/widget-upcoming_events.php | 7 + .../html/zoid/imgs/banner-featured.png | Bin 0 -> 28680 bytes pp-templates/html/zoid/imgs/bg.png | Bin 0 -> 1175 bytes pp-templates/html/zoid/imgs/black-fade.png | Bin 0 -> 193 bytes pp-templates/html/zoid/imgs/error-fade.png | Bin 0 -> 188 bytes pp-templates/html/zoid/imgs/faded_dark.png | Bin 0 -> 224 bytes pp-templates/html/zoid/imgs/icon-amex.png | Bin 0 -> 2630 bytes .../html/zoid/imgs/icon-announcements.png | Bin 0 -> 3709 bytes .../html/zoid/imgs/icon-billing_history.png | Bin 0 -> 4094 bytes pp-templates/html/zoid/imgs/icon-close.png | Bin 0 -> 1193 bytes .../html/zoid/imgs/icon-credit_cards.png | Bin 0 -> 3598 bytes pp-templates/html/zoid/imgs/icon-cvv.png | Bin 0 -> 1110 bytes pp-templates/html/zoid/imgs/icon-discover.png | Bin 0 -> 2193 bytes .../html/zoid/imgs/icon-email_history.png | Bin 0 -> 3887 bytes pp-templates/html/zoid/imgs/icon-error.png | Bin 0 -> 602 bytes .../html/zoid/imgs/icon-mastercard.png | Bin 0 -> 2586 bytes .../html/zoid/imgs/icon-menu-black.png | Bin 0 -> 353 bytes pp-templates/html/zoid/imgs/icon-menu.png | Bin 0 -> 384 bytes .../html/zoid/imgs/icon-newsletters.png | Bin 0 -> 3604 bytes pp-templates/html/zoid/imgs/icon-paypal.png | Bin 0 -> 2196 bytes pp-templates/html/zoid/imgs/icon-saved.png | Bin 0 -> 4702 bytes pp-templates/html/zoid/imgs/icon-search.png | Bin 0 -> 718 bytes .../html/zoid/imgs/icon-subscriptions.png | Bin 0 -> 5127 bytes .../html/zoid/imgs/icon-update_account.png | Bin 0 -> 1158 bytes pp-templates/html/zoid/imgs/icon-uploads.png | Bin 0 -> 4089 bytes pp-templates/html/zoid/imgs/icon-visa.png | Bin 0 -> 2310 bytes pp-templates/html/zoid/imgs/loading.gif | Bin 0 -> 714 bytes pp-templates/html/zoid/imgs/paid.png | Bin 0 -> 8884 bytes pp-templates/html/zoid/imgs/topbg.png | Bin 0 -> 3195 bytes pp-templates/html/zoid/js/functions.js | 0 pp-templates/html/zoid/js/mobile-menu.js | 78 + register.php | 205 + robots.txt | 8 + setup/.DS_Store | Bin 0 -> 6148 bytes setup/.gitignore | 0 setup/assets/footer.php | 2 + setup/assets/functions.php | 63 + setup/assets/header.php | 13 + setup/assets/setup.css | 200 + setup/index.php | 329 + setup/mysql/create.php | 1904 + setup/mysql/inserts.php | 1160 + setup/phpinfo.php | 1 + setup/process.php | 234 + 1893 files changed, 124674 insertions(+) create mode 100644 .DS_Store create mode 100644 .htaccess create mode 100644 .idea/.DS_Store create mode 100644 .idea/.name create mode 100644 .idea/dev.iml create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/scopes/scope_settings.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 LICENSE create mode 100644 admin/.DS_Store create mode 100644 admin/cp-classes/Facebook.class.php create mode 100644 admin/cp-classes/Gibberish.class.php create mode 100644 admin/cp-classes/ValidatorV2.class.php create mode 100644 admin/cp-classes/account.class.php create mode 100644 admin/cp-classes/admin.class.php create mode 100644 admin/cp-classes/admin_extensions.class.php create mode 100644 admin/cp-classes/announcements.class.php create mode 100644 admin/cp-classes/backup.class.php create mode 100644 admin/cp-classes/base_facebook.php create mode 100644 admin/cp-classes/bind.class.php create mode 100644 admin/cp-classes/calendar.class.php create mode 100644 admin/cp-classes/campaign.class.php create mode 100644 admin/cp-classes/captcha.class.php create mode 100644 admin/cp-classes/cart.class.php create mode 100644 admin/cp-classes/conditions.class.php create mode 100644 admin/cp-classes/connect.class.php create mode 100644 admin/cp-classes/contact.class.php create mode 100644 admin/cp-classes/content.class.php create mode 100644 admin/cp-classes/criteria.class.php create mode 100644 admin/cp-classes/db.class.php create mode 100644 admin/cp-classes/delete.class.php create mode 100644 admin/cp-classes/email.class.php create mode 100644 admin/cp-classes/encryption.class.php create mode 100644 admin/cp-classes/event.class.php create mode 100644 admin/cp-classes/export.class.php create mode 100644 admin/cp-classes/field.class.php create mode 100644 admin/cp-classes/fielder.class.php create mode 100644 admin/cp-classes/form.class.php create mode 100644 admin/cp-classes/form_builder.class.php create mode 100644 admin/cp-classes/graph.class.php create mode 100644 admin/cp-classes/history.class.php create mode 100644 admin/cp-classes/homepage_widgets.class.php create mode 100644 admin/cp-classes/img.class.php create mode 100644 admin/cp-classes/import.class.php create mode 100644 admin/cp-classes/inbox.class.php create mode 100644 admin/cp-classes/inlinecss.class.php create mode 100644 admin/cp-classes/invoice.class.php create mode 100644 admin/cp-classes/modrewrite.class.php create mode 100644 admin/cp-classes/notes.class.php create mode 100644 admin/cp-classes/ownership.class.php create mode 100644 admin/cp-classes/pagination.class.php create mode 100644 admin/cp-classes/permissions.class.php create mode 100644 admin/cp-classes/plugin.class.php create mode 100644 admin/cp-classes/printer.class.php create mode 100644 admin/cp-classes/product.class.php create mode 100644 admin/cp-classes/qqFileUploader.class.php create mode 100644 admin/cp-classes/qqUploadedFileForm.class.php create mode 100644 admin/cp-classes/qqUploadedFileXhr.class.php create mode 100644 admin/cp-classes/session.class.php create mode 100644 admin/cp-classes/site.class.php create mode 100644 admin/cp-classes/sms.class.php create mode 100644 admin/cp-classes/socialmedia.class.php create mode 100644 admin/cp-classes/source.class.php create mode 100644 admin/cp-classes/special_fields.class.php create mode 100644 admin/cp-classes/stats.class.php create mode 100644 admin/cp-classes/subscription.class.php create mode 100644 admin/cp-classes/table.class.php create mode 100644 admin/cp-classes/template.class.php create mode 100644 admin/cp-classes/tmhoauth.class.php create mode 100644 admin/cp-classes/universal.class.php create mode 100644 admin/cp-classes/uploads.class.php create mode 100644 admin/cp-classes/user.class.php create mode 100644 admin/cp-classes/validator.class.php create mode 100644 admin/cp-classes/verify_data.class.php create mode 100644 admin/cp-classes/widget.class.php create mode 100644 admin/cp-cron/backup.php create mode 100644 admin/cp-cron/bounced_emails.php create mode 100644 admin/cp-cron/campaigns.php create mode 100644 admin/cp-cron/db_clean.php create mode 100644 admin/cp-cron/emailing.php create mode 100644 admin/cp-cron/event_reminders.php create mode 100644 admin/cp-cron/index.php create mode 100644 admin/cp-cron/invoice_reminders.php create mode 100644 admin/cp-cron/stat_rebuild.php create mode 100644 admin/cp-cron/subscriptions.php create mode 100644 admin/cp-functions/account-add.php create mode 100644 admin/cp-functions/activate-add.php create mode 100644 admin/cp-functions/ajax_notices.php create mode 100644 admin/cp-functions/announcement-add.php create mode 100644 admin/cp-functions/assign_contact-add.php create mode 100644 admin/cp-functions/calendar-add.php create mode 100644 admin/cp-functions/campaign-add.php create mode 100644 admin/cp-functions/campaign_email-add.php create mode 100644 admin/cp-functions/campaign_form-add.php create mode 100644 admin/cp-functions/campaign_subscribe-add.php create mode 100644 admin/cp-functions/campaign_unsubscribe-add.php create mode 100644 admin/cp-functions/cancel_sub.php create mode 100644 admin/cp-functions/category-add.php create mode 100644 admin/cp-functions/change_label.php create mode 100644 admin/cp-functions/check_folder.php create mode 100644 admin/cp-functions/clean_db.php create mode 100644 admin/cp-functions/conditions.php create mode 100644 admin/cp-functions/contact-add.php create mode 100644 admin/cp-functions/contact-merge.php create mode 100644 admin/cp-functions/contact_status.php create mode 100644 admin/cp-functions/content-folder-add.php create mode 100644 admin/cp-functions/content-page-add.php create mode 100644 admin/cp-functions/content-redirect-add.php create mode 100644 admin/cp-functions/content-section-add.php create mode 100644 admin/cp-functions/content_access-add.php create mode 100644 admin/cp-functions/convert_contact-add.php create mode 100644 admin/cp-functions/credit_card-add.php create mode 100644 admin/cp-functions/criteria-add.php create mode 100644 admin/cp-functions/criteria_field.php create mode 100644 admin/cp-functions/crop_image.php create mode 100644 admin/cp-functions/delete_eav_id.php create mode 100644 admin/cp-functions/delete_item.php create mode 100644 admin/cp-functions/department-add.php create mode 100644 admin/cp-functions/duplicate-event.php create mode 100644 admin/cp-functions/duplicate-product.php create mode 100644 admin/cp-functions/employee-add.php create mode 100644 admin/cp-functions/error_code-add.php create mode 100644 admin/cp-functions/event-add.php create mode 100644 admin/cp-functions/event_addition.php create mode 100644 admin/cp-functions/event_reminders-add.php create mode 100644 admin/cp-functions/event_timeline-add.php create mode 100644 admin/cp-functions/event_types-add.php create mode 100644 admin/cp-functions/export.php create mode 100644 admin/cp-functions/extend_next_action.php create mode 100644 admin/cp-functions/favorite_add.php create mode 100644 admin/cp-functions/fb_post.php create mode 100644 admin/cp-functions/field-add.php create mode 100644 admin/cp-functions/field-edit.php create mode 100644 admin/cp-functions/field_editor.php create mode 100644 admin/cp-functions/fieldset-add.php create mode 100644 admin/cp-functions/find_credit_card.php create mode 100644 admin/cp-functions/form-add.php create mode 100644 admin/cp-functions/generate_captcha.php create mode 100644 admin/cp-functions/get_saved_email.php create mode 100644 admin/cp-functions/get_temp.php create mode 100644 admin/cp-functions/get_template.php create mode 100644 admin/cp-functions/history-add.php create mode 100644 admin/cp-functions/home_widgets-add.php create mode 100644 admin/cp-functions/hook-add.php create mode 100644 admin/cp-functions/import.php create mode 100644 admin/cp-functions/invoice-add.php create mode 100644 admin/cp-functions/invoice_dead.php create mode 100644 admin/cp-functions/invoice_item-add.php create mode 100644 admin/cp-functions/invoice_payment-add.php create mode 100644 admin/cp-functions/login.php create mode 100644 admin/cp-functions/member-add.php create mode 100644 admin/cp-functions/member_types-add.php create mode 100644 admin/cp-functions/member_types-edit.php create mode 100644 admin/cp-functions/menu-add.php create mode 100644 admin/cp-functions/note-add.php create mode 100644 admin/cp-functions/note_complete.php create mode 100644 admin/cp-functions/note_labels-add.php create mode 100644 admin/cp-functions/options-add.php create mode 100644 admin/cp-functions/package-add.php create mode 100644 admin/cp-functions/package_item-add.php create mode 100644 admin/cp-functions/payment_gateway-add.php create mode 100644 admin/cp-functions/plugin-add.php create mode 100644 admin/cp-functions/plugin_installer.php create mode 100644 admin/cp-functions/prep_email.php create mode 100644 admin/cp-functions/preview_criteria.php create mode 100644 admin/cp-functions/preview_email.php create mode 100644 admin/cp-functions/preview_permalink.php create mode 100644 admin/cp-functions/preview_template.php create mode 100644 admin/cp-functions/preview_template_show.php create mode 100644 admin/cp-functions/print.php create mode 100644 admin/cp-functions/product-add.php create mode 100644 admin/cp-functions/product_addition.php create mode 100644 admin/cp-functions/products.php create mode 100644 admin/cp-functions/promo_code-add.php create mode 100644 admin/cp-functions/quickedit.php create mode 100644 admin/cp-functions/refund-add.php create mode 100644 admin/cp-functions/reg_codes-add.php create mode 100644 admin/cp-functions/resend_invoice.php create mode 100644 admin/cp-functions/reset_login_tracking.php create mode 100644 admin/cp-functions/reset_password.php create mode 100644 admin/cp-functions/rsvp-add.php create mode 100644 admin/cp-functions/search-ajax.php create mode 100644 admin/cp-functions/search.php create mode 100644 admin/cp-functions/send_form.php create mode 100644 admin/cp-functions/send_sms.php create mode 100644 admin/cp-functions/shipping-add.php create mode 100644 admin/cp-functions/shop_shipping-add.php create mode 100644 admin/cp-functions/shop_tax-add.php create mode 100644 admin/cp-functions/shop_terms-add.php create mode 100644 admin/cp-functions/silent_login.php create mode 100644 admin/cp-functions/sms_schedule.php create mode 100644 admin/cp-functions/sources-add.php create mode 100644 admin/cp-functions/subscription-add.php create mode 100644 admin/cp-functions/subscription_penalty-add.php create mode 100644 admin/cp-functions/tableheadings-add.php create mode 100644 admin/cp-functions/template-add.php create mode 100644 admin/cp-functions/template_email-add.php create mode 100644 admin/cp-functions/theme_select.php create mode 100644 admin/cp-functions/transaction-add.php create mode 100644 admin/cp-functions/transaction-email.php create mode 100644 admin/cp-functions/tweet.php create mode 100644 admin/cp-functions/unlock.php create mode 100644 admin/cp-functions/update.php create mode 100644 admin/cp-functions/update_staff-add.php create mode 100644 admin/cp-functions/upload.php create mode 100644 admin/cp-functions/widget-add.php create mode 100644 admin/cp-functions/widget_installer.php create mode 100644 admin/cp-includes/.DS_Store create mode 100644 admin/cp-includes/accounts.php create mode 100644 admin/cp-includes/announcements.php create mode 100644 admin/cp-includes/autocomplete.php create mode 100644 admin/cp-includes/base_table.php create mode 100644 admin/cp-includes/billing_report.php create mode 100644 admin/cp-includes/calendar.php create mode 100644 admin/cp-includes/calendars.php create mode 100644 admin/cp-includes/categories.php create mode 100644 admin/cp-includes/connect.php create mode 100644 admin/cp-includes/contacts.php create mode 100644 admin/cp-includes/content.php create mode 100644 admin/cp-includes/conversions.php create mode 100644 admin/cp-includes/create_form.php create mode 100644 admin/cp-includes/custom_actions.php create mode 100644 admin/cp-includes/database_fields.php create mode 100644 admin/cp-includes/editor/save.php create mode 100644 admin/cp-includes/editor/simple_html_dom.php create mode 100644 admin/cp-includes/editor/window.php create mode 100644 admin/cp-includes/email_bounced.php create mode 100644 admin/cp-includes/email_campaigns.php create mode 100644 admin/cp-includes/email_clicks.php create mode 100644 admin/cp-includes/email_milestones.php create mode 100644 admin/cp-includes/email_outbox.php create mode 100644 admin/cp-includes/email_queue.php create mode 100644 admin/cp-includes/email_tracking.php create mode 100644 admin/cp-includes/employees.php create mode 100644 admin/cp-includes/error_codes.php create mode 100644 admin/cp-includes/events.php create mode 100644 admin/cp-includes/feed.php create mode 100644 admin/cp-includes/fieldsets.php create mode 100644 admin/cp-includes/footer-mobile.php create mode 100644 admin/cp-includes/footer-print.php create mode 100644 admin/cp-includes/footer.php create mode 100644 admin/cp-includes/forms.php create mode 100644 admin/cp-includes/get_list.php create mode 100644 admin/cp-includes/get_page.php create mode 100644 admin/cp-includes/get_popup.php create mode 100644 admin/cp-includes/header-mobile.php create mode 100644 admin/cp-includes/header-print.php create mode 100644 admin/cp-includes/header.php create mode 100644 admin/cp-includes/home.php create mode 100644 admin/cp-includes/integration.php create mode 100644 admin/cp-includes/invoices.php create mode 100644 admin/cp-includes/logins.php create mode 100644 admin/cp-includes/member_types.php create mode 100644 admin/cp-includes/members.php create mode 100644 admin/cp-includes/menu.php create mode 100644 admin/cp-includes/notes.php create mode 100644 admin/cp-includes/packages.php create mode 100644 admin/cp-includes/pages/account-add.php create mode 100644 admin/cp-includes/pages/account-view-contacts.php create mode 100644 admin/cp-includes/pages/account-view-email.php create mode 100644 admin/cp-includes/pages/account-view-files.php create mode 100644 admin/cp-includes/pages/account-view-members.php create mode 100644 admin/cp-includes/pages/account-view-notes.php create mode 100644 admin/cp-includes/pages/account-view-social_media.php create mode 100644 admin/cp-includes/pages/account-view-social_media_fb.php create mode 100644 admin/cp-includes/pages/account-view.php create mode 100644 admin/cp-includes/pages/account.php create mode 100644 admin/cp-includes/pages/campaign-view-data.php create mode 100644 admin/cp-includes/pages/campaign-view-logs.php create mode 100644 admin/cp-includes/pages/campaign-view-messages.php create mode 100644 admin/cp-includes/pages/campaign-view-milestones.php create mode 100644 admin/cp-includes/pages/campaign-view-notes.php create mode 100644 admin/cp-includes/pages/campaign-view-send.php create mode 100644 admin/cp-includes/pages/campaign-view-subscriptions.php create mode 100644 admin/cp-includes/pages/campaign-view-unsubscribers.php create mode 100644 admin/cp-includes/pages/campaign-view.php create mode 100644 admin/cp-includes/pages/campaign.php create mode 100644 admin/cp-includes/pages/check_cache.php create mode 100644 admin/cp-includes/pages/connect-view-email.php create mode 100644 admin/cp-includes/pages/connect.php create mode 100644 admin/cp-includes/pages/contact-add.php create mode 100644 admin/cp-includes/pages/contact-view-data.php create mode 100644 admin/cp-includes/pages/contact-view-email.php create mode 100644 admin/cp-includes/pages/contact-view-files.php create mode 100644 admin/cp-includes/pages/contact-view-history.php create mode 100644 admin/cp-includes/pages/contact-view-notes.php create mode 100644 admin/cp-includes/pages/contact-view-outbox.php create mode 100644 admin/cp-includes/pages/contact-view-social_media.php create mode 100644 admin/cp-includes/pages/contact-view-social_media_fb.php create mode 100644 admin/cp-includes/pages/contact-view.php create mode 100644 admin/cp-includes/pages/contact.php create mode 100644 admin/cp-includes/pages/email-send.php create mode 100644 admin/cp-includes/pages/employee-add.php create mode 100644 admin/cp-includes/pages/employee-view-files.php create mode 100644 admin/cp-includes/pages/employee-view-notes.php create mode 100644 admin/cp-includes/pages/employee-view-social_media.php create mode 100644 admin/cp-includes/pages/employee-view.php create mode 100644 admin/cp-includes/pages/employee.php create mode 100644 admin/cp-includes/pages/event-add.php create mode 100644 admin/cp-includes/pages/event-view-attendees.php create mode 100644 admin/cp-includes/pages/event-view-email.php create mode 100644 admin/cp-includes/pages/event-view-files.php create mode 100644 admin/cp-includes/pages/event-view-notes.php create mode 100644 admin/cp-includes/pages/event-view-timeline.php create mode 100644 admin/cp-includes/pages/event-view.php create mode 100644 admin/cp-includes/pages/event.php create mode 100644 admin/cp-includes/pages/files-view.php create mode 100644 admin/cp-includes/pages/invoice-view-items.php create mode 100644 admin/cp-includes/pages/invoice-view-notes.php create mode 100644 admin/cp-includes/pages/invoice-view-payments.php create mode 100644 admin/cp-includes/pages/invoice-view.php create mode 100644 admin/cp-includes/pages/invoice.php create mode 100644 admin/cp-includes/pages/member-add.php create mode 100644 admin/cp-includes/pages/member-view-content.php create mode 100644 admin/cp-includes/pages/member-view-data.php create mode 100644 admin/cp-includes/pages/member-view-email.php create mode 100644 admin/cp-includes/pages/member-view-files.php create mode 100644 admin/cp-includes/pages/member-view-history.php create mode 100644 admin/cp-includes/pages/member-view-notes.php create mode 100644 admin/cp-includes/pages/member-view-outbox.php create mode 100644 admin/cp-includes/pages/member-view-social_media.php create mode 100644 admin/cp-includes/pages/member-view-social_media_fb.php create mode 100644 admin/cp-includes/pages/member-view.php create mode 100644 admin/cp-includes/pages/member.php create mode 100644 admin/cp-includes/pages/note-table.php create mode 100644 admin/cp-includes/pages/product-view-history.php create mode 100644 admin/cp-includes/pages/product-view-notes.php create mode 100644 admin/cp-includes/pages/product-view.php create mode 100644 admin/cp-includes/pages/product.php create mode 100644 admin/cp-includes/pages/social_media-fb.php create mode 100644 admin/cp-includes/pages/social_media-twitter.php create mode 100644 admin/cp-includes/pages/subscription-view-history.php create mode 100644 admin/cp-includes/pages/subscription-view.php create mode 100644 admin/cp-includes/pages/subscription.php create mode 100644 admin/cp-includes/pages/transaction-view-notes.php create mode 100644 admin/cp-includes/pages/transaction-view.php create mode 100644 admin/cp-includes/pages/transaction.php create mode 100644 admin/cp-includes/pagination_display.php create mode 100644 admin/cp-includes/plugins.php create mode 100644 admin/cp-includes/popups/account-add.php create mode 100644 admin/cp-includes/popups/activate.php create mode 100644 admin/cp-includes/popups/announcement-add.php create mode 100644 admin/cp-includes/popups/assign_contact.php create mode 100644 admin/cp-includes/popups/build_criteria.php create mode 100644 admin/cp-includes/popups/build_criteria_type.php create mode 100644 admin/cp-includes/popups/build_report.php create mode 100644 admin/cp-includes/popups/calendar-edit.php create mode 100644 admin/cp-includes/popups/campaign-add.php create mode 100644 admin/cp-includes/popups/campaign-filters.php create mode 100644 admin/cp-includes/popups/campaign-optin-add.php create mode 100644 admin/cp-includes/popups/campaign_form.php create mode 100644 admin/cp-includes/popups/campaign_message-add.php create mode 100644 admin/cp-includes/popups/campaign_subscriber-add.php create mode 100644 admin/cp-includes/popups/campaign_unsubscribe-add.php create mode 100644 admin/cp-includes/popups/category-edit.php create mode 100644 admin/cp-includes/popups/change_label.php create mode 100644 admin/cp-includes/popups/connect-mass.php create mode 100644 admin/cp-includes/popups/contact-add.php create mode 100644 admin/cp-includes/popups/contact-convert.php create mode 100644 admin/cp-includes/popups/contact_view.php create mode 100644 admin/cp-includes/popups/content-access-add.php create mode 100644 admin/cp-includes/popups/content-add-folder.php create mode 100644 admin/cp-includes/popups/content-add-page.php create mode 100644 admin/cp-includes/popups/content-add-redirect.php create mode 100644 admin/cp-includes/popups/content-add-section.php create mode 100644 admin/cp-includes/popups/content_type.php create mode 100644 admin/cp-includes/popups/conversion.php create mode 100644 admin/cp-includes/popups/create_fields.php create mode 100644 admin/cp-includes/popups/create_hook.php create mode 100644 admin/cp-includes/popups/credit_card-add.php create mode 100644 admin/cp-includes/popups/credit_card-view.php create mode 100644 admin/cp-includes/popups/crop_image.php create mode 100644 admin/cp-includes/popups/departments.php create mode 100644 admin/cp-includes/popups/email-view-scheduled.php create mode 100644 admin/cp-includes/popups/email-view.php create mode 100644 admin/cp-includes/popups/error_code-edit.php create mode 100644 admin/cp-includes/popups/event-add.php create mode 100644 admin/cp-includes/popups/event-edit.php create mode 100644 admin/cp-includes/popups/event_reminders.php create mode 100644 admin/cp-includes/popups/event_types.php create mode 100644 admin/cp-includes/popups/export_data.php create mode 100644 admin/cp-includes/popups/export_rsvp.php create mode 100644 admin/cp-includes/popups/extension_store.php create mode 100644 admin/cp-includes/popups/facebook.php create mode 100644 admin/cp-includes/popups/field-add.php create mode 100644 admin/cp-includes/popups/field-edit.php create mode 100644 admin/cp-includes/popups/fieldset-add.php create mode 100644 admin/cp-includes/popups/form_code.php create mode 100644 admin/cp-includes/popups/form_codes.php create mode 100644 admin/cp-includes/popups/forms-add-select.php create mode 100644 admin/cp-includes/popups/forms-add.php create mode 100644 admin/cp-includes/popups/forms-edit.php create mode 100644 admin/cp-includes/popups/history-add.php create mode 100644 admin/cp-includes/popups/home_widgets.php create mode 100644 admin/cp-includes/popups/hook.php create mode 100644 admin/cp-includes/popups/import.php create mode 100644 admin/cp-includes/popups/invoice-add.php create mode 100644 admin/cp-includes/popups/invoice-edit.php create mode 100644 admin/cp-includes/popups/invoice-item-add.php create mode 100644 admin/cp-includes/popups/invoice_payment_add.php create mode 100644 admin/cp-includes/popups/mass_sms.php create mode 100644 admin/cp-includes/popups/member-add.php create mode 100644 admin/cp-includes/popups/member_types-edit.php create mode 100644 admin/cp-includes/popups/member_types.php create mode 100644 admin/cp-includes/popups/member_view.php create mode 100644 admin/cp-includes/popups/menu-add.php create mode 100644 admin/cp-includes/popups/note-add.php create mode 100644 admin/cp-includes/popups/note_labels.php create mode 100644 admin/cp-includes/popups/note_stream.php create mode 100644 admin/cp-includes/popups/options.php create mode 100644 admin/cp-includes/popups/package.php create mode 100644 admin/cp-includes/popups/payment_gateway-edit.php create mode 100644 admin/cp-includes/popups/plugin.php create mode 100644 admin/cp-includes/popups/preview_criteria.php create mode 100644 admin/cp-includes/popups/product-add.php create mode 100644 admin/cp-includes/popups/product-edit.php create mode 100644 admin/cp-includes/popups/profile_picture.php create mode 100644 admin/cp-includes/popups/promo_code-edit.php create mode 100644 admin/cp-includes/popups/refund.php create mode 100644 admin/cp-includes/popups/rsvp-add.php create mode 100644 admin/cp-includes/popups/rsvp-filters.php create mode 100644 admin/cp-includes/popups/rsvp_view.php create mode 100644 admin/cp-includes/popups/send-sms.php create mode 100644 admin/cp-includes/popups/send_form.php create mode 100644 admin/cp-includes/popups/shipping_mark.php create mode 100644 admin/cp-includes/popups/shop_shipping-edit.php create mode 100644 admin/cp-includes/popups/shop_tax-edit.php create mode 100644 admin/cp-includes/popups/shop_terms-edit.php create mode 100644 admin/cp-includes/popups/sources.php create mode 100644 admin/cp-includes/popups/subscription-add.php create mode 100644 admin/cp-includes/popups/subscription-edit.php create mode 100644 admin/cp-includes/popups/subscription_penalties.php create mode 100644 admin/cp-includes/popups/tableheadings.php create mode 100644 admin/cp-includes/popups/template-load.php create mode 100644 admin/cp-includes/popups/template-preview.php create mode 100644 admin/cp-includes/popups/template_edit.php create mode 100644 admin/cp-includes/popups/template_email_add.php create mode 100644 admin/cp-includes/popups/template_email_edit.php create mode 100644 admin/cp-includes/popups/theme.php create mode 100644 admin/cp-includes/popups/timeline-add.php create mode 100644 admin/cp-includes/popups/transaction-add.php create mode 100644 admin/cp-includes/popups/transaction-edit.php create mode 100644 admin/cp-includes/popups/twitter.php create mode 100644 admin/cp-includes/popups/update_account.php create mode 100644 admin/cp-includes/popups/upload-files.php create mode 100644 admin/cp-includes/popups/widget-html-add.php create mode 100644 admin/cp-includes/popups/widgets-edit.php create mode 100644 admin/cp-includes/print/note.php create mode 100644 admin/cp-includes/print/print_footer.php create mode 100644 admin/cp-includes/print/print_header.php create mode 100644 admin/cp-includes/products.php create mode 100644 admin/cp-includes/promo_code_usage.php create mode 100644 admin/cp-includes/promo_codes.php create mode 100644 admin/cp-includes/report_estimated_income.php create mode 100644 admin/cp-includes/report_value_by_source.php create mode 100644 admin/cp-includes/report_world.php create mode 100644 admin/cp-includes/report_world_states.php create mode 100644 admin/cp-includes/reports.php create mode 100644 admin/cp-includes/rotate_slider_table.php create mode 100644 admin/cp-includes/rotate_table.php create mode 100644 admin/cp-includes/shop.php create mode 100644 admin/cp-includes/shop_payment_gateways.php create mode 100644 admin/cp-includes/shop_report.php create mode 100644 admin/cp-includes/shop_shipping.php create mode 100644 admin/cp-includes/shop_tax.php create mode 100644 admin/cp-includes/shop_terms.php create mode 100644 admin/cp-includes/sms_campaigns.php create mode 100644 admin/cp-includes/sms_outbox.php create mode 100644 admin/cp-includes/social_media_facebook.php create mode 100644 admin/cp-includes/social_media_twitter.php create mode 100644 admin/cp-includes/subscriptions.php create mode 100644 admin/cp-includes/templates_email.php create mode 100644 admin/cp-includes/templates_html.php create mode 100644 admin/cp-includes/templates_mobile.php create mode 100644 admin/cp-includes/today.php create mode 100644 admin/cp-includes/transactions.php create mode 100644 admin/cp-includes/uploads.php create mode 100644 admin/cp-includes/usage.php create mode 100644 admin/cp-includes/user_link_menu.php create mode 100644 admin/cp-includes/widgets.php create mode 100644 admin/cp-includes/widgets/calendar.php create mode 100644 admin/cp-includes/widgets/contacts.php create mode 100644 admin/cp-includes/widgets/invoices.php create mode 100644 admin/cp-includes/widgets/logins.php create mode 100644 admin/cp-includes/widgets/members.php create mode 100644 admin/cp-includes/widgets/rsvps.php create mode 100644 admin/cp-includes/widgets/subscriptions_soon.php create mode 100644 admin/cp-includes/widgets/transactions.php create mode 100644 admin/css/calendar.css create mode 100644 admin/css/ff.funcs.css create mode 100644 admin/css/fields_sortable.css create mode 100644 admin/css/images/border-anim-h.gif create mode 100644 admin/css/images/border-anim-v.gif create mode 100644 admin/css/images/border-h.gif create mode 100644 admin/css/images/border-v.gif create mode 100644 admin/css/images/colors.png create mode 100644 admin/css/images/loading.gif create mode 100644 admin/css/images/table.png create mode 100644 admin/css/images/trigger.png create mode 100644 admin/css/jquery-jvectormap.css create mode 100644 admin/css/jquery.cleditor.css create mode 100644 admin/css/jquery.fileuploader.css create mode 100644 admin/css/jquery.imgareaselect.css create mode 100644 admin/css/jquery.jscrollpane.css create mode 100644 admin/css/jquery.miniColors.css create mode 100644 admin/css/jquery_ui/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 admin/css/jquery_ui/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 admin/css/jquery_ui/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 admin/css/jquery_ui/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 admin/css/jquery_ui/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 admin/css/jquery_ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 admin/css/jquery_ui/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 admin/css/jquery_ui/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 admin/css/jquery_ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 admin/css/jquery_ui/images/ui-icons_2694e8_256x240.png create mode 100644 admin/css/jquery_ui/images/ui-icons_2e83ff_256x240.png create mode 100644 admin/css/jquery_ui/images/ui-icons_3d80b3_256x240.png create mode 100644 admin/css/jquery_ui/images/ui-icons_72a7cf_256x240.png create mode 100644 admin/css/jquery_ui/images/ui-icons_ffffff_256x240.png create mode 100644 admin/css/jquery_ui/jquery.ui.css create mode 100644 admin/css/login.css create mode 100644 admin/css/login_mobile.css create mode 100644 admin/css/menu.css create mode 100644 admin/css/menu.mobile.css create mode 100644 admin/css/mobile.css create mode 100644 admin/css/panel.css create mode 100644 admin/css/printer.css create mode 100644 admin/css/printer_friendly.css create mode 100644 admin/css/reset.css create mode 100644 admin/css/search.css create mode 100644 admin/css/search.mobile.css create mode 100644 admin/css/tables.css create mode 100644 admin/css/tables.mobile.css create mode 100644 admin/imgs/.DS_Store create mode 100644 admin/imgs/__datepicker/custom_b.png create mode 100644 admin/imgs/__datepicker/custom_bl.png create mode 100644 admin/imgs/__datepicker/custom_br.png create mode 100644 admin/imgs/__datepicker/custom_l.png create mode 100644 admin/imgs/__datepicker/custom_r.png create mode 100644 admin/imgs/__datepicker/custom_t.png create mode 100644 admin/imgs/__datepicker/custom_tl.png create mode 100644 admin/imgs/__datepicker/custom_tr.png create mode 100644 admin/imgs/__datepicker/datepicker_b.png create mode 100644 admin/imgs/__datepicker/datepicker_bl.png create mode 100644 admin/imgs/__datepicker/datepicker_br.png create mode 100644 admin/imgs/__datepicker/datepicker_l.png create mode 100644 admin/imgs/__datepicker/datepicker_r.png create mode 100644 admin/imgs/__datepicker/datepicker_t.png create mode 100644 admin/imgs/__datepicker/datepicker_tl.png create mode 100644 admin/imgs/__datepicker/datepicker_tr.png create mode 100644 admin/imgs/__datepicker/field.png create mode 100644 admin/imgs/_icon-close.png create mode 100644 admin/imgs/_logo.png create mode 100644 admin/imgs/_slider_left_back.png create mode 100644 admin/imgs/anon.png create mode 100644 admin/imgs/asc.gif create mode 100644 admin/imgs/attention-back.png create mode 100644 admin/imgs/bg.gif create mode 100644 admin/imgs/bg.png create mode 100644 admin/imgs/billing_report.png create mode 100644 admin/imgs/del_back.png create mode 100644 admin/imgs/desc.gif create mode 100644 admin/imgs/down-arrow.png create mode 100644 admin/imgs/editor-buttons.gif create mode 100644 admin/imgs/editor-buttons.png create mode 100644 admin/imgs/ext/1363006099_file_extension_eml.png create mode 100644 admin/imgs/ext/1363006110_file_extension_rtf.png create mode 100644 admin/imgs/ext/bmp.png create mode 100644 admin/imgs/ext/doc.png create mode 100644 admin/imgs/ext/exe.png create mode 100644 admin/imgs/ext/flv.png create mode 100644 admin/imgs/ext/jpeg.png create mode 100644 admin/imgs/ext/jpg.png create mode 100644 admin/imgs/ext/mov.png create mode 100644 admin/imgs/ext/mp3.png create mode 100644 admin/imgs/ext/mp4.png create mode 100644 admin/imgs/ext/mpg.png create mode 100644 admin/imgs/ext/pdf.png create mode 100644 admin/imgs/ext/png.png create mode 100644 admin/imgs/ext/pps.png create mode 100644 admin/imgs/ext/psd.png create mode 100644 admin/imgs/ext/rar.png create mode 100644 admin/imgs/ext/tif.png create mode 100644 admin/imgs/ext/txt.png create mode 100644 admin/imgs/ext/wav.png create mode 100644 admin/imgs/ext/wmv.png create mode 100644 admin/imgs/ext/xls.png create mode 100644 admin/imgs/ext/zip.png create mode 100644 admin/imgs/faded.png create mode 100644 admin/imgs/faded1.png create mode 100644 admin/imgs/faded_dark.png create mode 100644 admin/imgs/faded_dark_alt.png create mode 100644 admin/imgs/grain-gray.png create mode 100644 admin/imgs/icon-access_lost.png create mode 100644 admin/imgs/icon-account.png create mode 100644 admin/imgs/icon-activity.png create mode 100644 admin/imgs/icon-attention-off.png create mode 100644 admin/imgs/icon-attention-on.png create mode 100644 admin/imgs/icon-attention.png create mode 100644 admin/imgs/icon-broadcast.png create mode 100644 admin/imgs/icon-broken-file.png create mode 100644 admin/imgs/icon-cache.png create mode 100644 admin/imgs/icon-calendar.png create mode 100644 admin/imgs/icon-campaign_sub.png create mode 100644 admin/imgs/icon-campaign_unsub.png create mode 100644 admin/imgs/icon-cancel.png create mode 100644 admin/imgs/icon-categories.png create mode 100644 admin/imgs/icon-click.png create mode 100644 admin/imgs/icon-close.png create mode 100644 admin/imgs/icon-coffee.png create mode 100644 admin/imgs/icon-complete-on.png create mode 100644 admin/imgs/icon-complete.png create mode 100644 admin/imgs/icon-concurrent.png create mode 100644 admin/imgs/icon-contact-add.png create mode 100644 admin/imgs/icon-contact.png create mode 100644 admin/imgs/icon-credit-card-broken.png create mode 100644 admin/imgs/icon-credit_cards.png create mode 100644 admin/imgs/icon-deadline.png create mode 100644 admin/imgs/icon-delay-solid-on.png create mode 100644 admin/imgs/icon-delay-solid.png create mode 100644 admin/imgs/icon-delay.png create mode 100644 admin/imgs/icon-delete-on.png create mode 100644 admin/imgs/icon-delete.png create mode 100644 admin/imgs/icon-dependency.png create mode 100644 admin/imgs/icon-duplicate-on.png create mode 100644 admin/imgs/icon-duplicate.png create mode 100644 admin/imgs/icon-edit-on.png create mode 100644 admin/imgs/icon-edit.png create mode 100644 admin/imgs/icon-email-on.png create mode 100644 admin/imgs/icon-email.png create mode 100644 admin/imgs/icon-email_campaign.gif create mode 100644 admin/imgs/icon-email_campaign.png create mode 100644 admin/imgs/icon-email_outbox.png create mode 100644 admin/imgs/icon-email_target.gif create mode 100644 admin/imgs/icon-email_target.png create mode 100644 admin/imgs/icon-encoded.png create mode 100644 admin/imgs/icon-facebook.png create mode 100644 admin/imgs/icon-fav-off.png create mode 100644 admin/imgs/icon-fav-on.png create mode 100644 admin/imgs/icon-fb-checkbox.png create mode 100644 admin/imgs/icon-fb-date.png create mode 100644 admin/imgs/icon-fb-linkert.png create mode 100644 admin/imgs/icon-fb-page.png create mode 100644 admin/imgs/icon-fb-radio.png create mode 100644 admin/imgs/icon-fb-section.png create mode 100644 admin/imgs/icon-fb-select.png create mode 100644 admin/imgs/icon-fb-text.png create mode 100644 admin/imgs/icon-fb-textarea.png create mode 100644 admin/imgs/icon-feed-off.png create mode 100644 admin/imgs/icon-feed.png create mode 100644 admin/imgs/icon-filters.png create mode 100644 admin/imgs/icon-form-contact.png create mode 100644 admin/imgs/icon-form-dependency.png create mode 100644 admin/imgs/icon-form-register_free.png create mode 100644 admin/imgs/icon-form-register_paid.png create mode 100644 admin/imgs/icon-form-update.png create mode 100644 admin/imgs/icon-googleplus.png create mode 100644 admin/imgs/icon-invoices.png create mode 100644 admin/imgs/icon-lg-contacts.png create mode 100644 admin/imgs/icon-lg-criteria.png create mode 100644 admin/imgs/icon-lg-curl.png create mode 100644 admin/imgs/icon-lg-custom_actions.png create mode 100644 admin/imgs/icon-lg-email_templates.png create mode 100644 admin/imgs/icon-lg-email_theme.png create mode 100644 admin/imgs/icon-lg-error_codes.png create mode 100644 admin/imgs/icon-lg-facebook.png create mode 100644 admin/imgs/icon-lg-fields.png create mode 100644 admin/imgs/icon-lg-folder.png create mode 100644 admin/imgs/icon-lg-forms.png create mode 100644 admin/imgs/icon-lg-members.png create mode 100644 admin/imgs/icon-lg-mobile_templates.png create mode 100644 admin/imgs/icon-lg-mobile_theme.png create mode 100644 admin/imgs/icon-lg-modules.png create mode 100644 admin/imgs/icon-lg-page.png create mode 100644 admin/imgs/icon-lg-plugins.png create mode 100644 admin/imgs/icon-lg-queue.png create mode 100644 admin/imgs/icon-lg-redirect.png create mode 100644 admin/imgs/icon-lg-section.png create mode 100644 admin/imgs/icon-lg-templates.png create mode 100644 admin/imgs/icon-lg-theme.png create mode 100644 admin/imgs/icon-lg-twitter.png create mode 100644 admin/imgs/icon-linkedin.png create mode 100644 admin/imgs/icon-list.png create mode 100644 admin/imgs/icon-login.png create mode 100644 admin/imgs/icon-logout-mobile.png create mode 100644 admin/imgs/icon-logout.png create mode 100644 admin/imgs/icon-mark-alive.png create mode 100644 admin/imgs/icon-mark-dead.png create mode 100644 admin/imgs/icon-mark_converted.png create mode 100644 admin/imgs/icon-mark_unconverted.png create mode 100644 admin/imgs/icon-member-add.png create mode 100644 admin/imgs/icon-member.png create mode 100644 admin/imgs/icon-member_type.png create mode 100644 admin/imgs/icon-menu-mobile.png create mode 100644 admin/imgs/icon-minus.png create mode 100644 admin/imgs/icon-move.png create mode 100644 admin/imgs/icon-new.png create mode 100644 admin/imgs/icon-note.png create mode 100644 admin/imgs/icon-note_stream.png create mode 100644 admin/imgs/icon-package.png create mode 100644 admin/imgs/icon-pdf.png create mode 100644 admin/imgs/icon-print.png create mode 100644 admin/imgs/icon-private.png create mode 100644 admin/imgs/icon-products.png create mode 100644 admin/imgs/icon-public.png create mode 100644 admin/imgs/icon-quickadd-slider.png create mode 100644 admin/imgs/icon-quickadd.png create mode 100644 admin/imgs/icon-refresh.png create mode 100644 admin/imgs/icon-required-on.png create mode 100644 admin/imgs/icon-required.png create mode 100644 admin/imgs/icon-resetpass.png create mode 100644 admin/imgs/icon-rotate-clockwise.png create mode 100644 admin/imgs/icon-rotate-counter.png create mode 100644 admin/imgs/icon-sales.png create mode 100644 admin/imgs/icon-save.png create mode 100644 admin/imgs/icon-saved.png create mode 100644 admin/imgs/icon-savings_codes.png create mode 100644 admin/imgs/icon-search-mobile.png create mode 100644 admin/imgs/icon-search.png create mode 100644 admin/imgs/icon-settings.png create mode 100644 admin/imgs/icon-silent_login.png create mode 100644 admin/imgs/icon-sm-attach.png create mode 100644 admin/imgs/icon-sm-del.png create mode 100644 admin/imgs/icon-sms_campaign.png create mode 100644 admin/imgs/icon-sms_outbox.png create mode 100644 admin/imgs/icon-sms_target.png create mode 100644 admin/imgs/icon-stats-on.png create mode 100644 admin/imgs/icon-stats.png create mode 100644 admin/imgs/icon-status.png create mode 100644 admin/imgs/icon-subscriptions.png create mode 100644 admin/imgs/icon-text.png create mode 100644 admin/imgs/icon-tick.png create mode 100644 admin/imgs/icon-top.png create mode 100644 admin/imgs/icon-tracking.png create mode 100644 admin/imgs/icon-twitter.png create mode 100644 admin/imgs/icon-update-off.png create mode 100644 admin/imgs/icon-update.png create mode 100644 admin/imgs/icon-view.png create mode 100644 admin/imgs/icon-warning-big.png create mode 100644 admin/imgs/icon-warning.png create mode 100644 admin/imgs/loading.gif create mode 100644 admin/imgs/login/bg.png create mode 100644 admin/imgs/login/bg1.png create mode 100644 admin/imgs/login/bg2.png create mode 100644 admin/imgs/login/logo.png create mode 100644 admin/imgs/login/penguin.png create mode 100644 admin/imgs/logo.png create mode 100644 admin/imgs/mobile/nav-bg.png create mode 100644 admin/imgs/nologo.png create mode 100644 admin/imgs/report-email.png create mode 100644 admin/imgs/report-employee.png create mode 100644 admin/imgs/report-estimated_income.png create mode 100644 admin/imgs/report-states.png create mode 100644 admin/imgs/report-value_source.png create mode 100644 admin/imgs/report-world.png create mode 100644 admin/imgs/report_ecommerce.png create mode 100644 admin/imgs/save_back.png create mode 100644 admin/imgs/slider-left.png create mode 100644 admin/imgs/slider-topbar-back.png create mode 100644 admin/imgs/slider_left_back.png create mode 100644 admin/imgs/th_back.png create mode 100644 admin/imgs/topback.jpg create mode 100644 admin/imgs/up-arrow.png create mode 100644 admin/index.php create mode 100644 admin/js/.DS_Store create mode 100644 admin/js/__forms.js create mode 100644 admin/js/_jquery.cleditor.advancedtable.min.js create mode 100644 admin/js/_jquery.cleditor.min.js create mode 100644 admin/js/_original_js_files/admin.non_min.js create mode 100644 admin/js/_original_js_files/canvas-tools.non_min.js create mode 100644 admin/js/_original_js_files/datepicker.non_min.js create mode 100644 admin/js/_original_js_files/event_actions.non_min.js create mode 100644 admin/js/_original_js_files/ff.funcs.non_min.js create mode 100644 admin/js/_original_js_files/form_builder.non_min.js create mode 100644 admin/js/_original_js_files/forms.non_min.js create mode 100644 admin/js/_original_js_files/jquery.fileuploader.non_min.js create mode 100644 admin/js/_original_js_files/jquery.jscrollpane.min.non_min.js create mode 100644 admin/js/_original_js_files/jquery.miniColors.min.non_min.js create mode 100644 admin/js/_original_js_files/jquery.tablesorter.min.non_min.js create mode 100644 admin/js/_original_js_files/shortcuts.non_min.js create mode 100644 admin/js/admin.js create mode 100644 admin/js/admin.non_min.js create mode 100644 admin/js/canvas-tools.js create mode 100644 admin/js/ckeditor/CHANGES.md create mode 100644 admin/js/ckeditor/LICENSE.md create mode 100644 admin/js/ckeditor/README.md create mode 100644 admin/js/ckeditor/adapters/jquery.js create mode 100644 admin/js/ckeditor/build-config.js create mode 100644 admin/js/ckeditor/ckeditor.js create mode 100644 admin/js/ckeditor/config.basic.js create mode 100644 admin/js/ckeditor/config.complex.js create mode 100644 admin/js/ckeditor/config.js create mode 100644 admin/js/ckeditor/contents.css create mode 100644 admin/js/ckeditor/lang/af.js create mode 100644 admin/js/ckeditor/lang/ar.js create mode 100644 admin/js/ckeditor/lang/bg.js create mode 100644 admin/js/ckeditor/lang/bn.js create mode 100644 admin/js/ckeditor/lang/bs.js create mode 100644 admin/js/ckeditor/lang/ca.js create mode 100644 admin/js/ckeditor/lang/cs.js create mode 100644 admin/js/ckeditor/lang/cy.js create mode 100644 admin/js/ckeditor/lang/da.js create mode 100644 admin/js/ckeditor/lang/de.js create mode 100644 admin/js/ckeditor/lang/el.js create mode 100644 admin/js/ckeditor/lang/en-au.js create mode 100644 admin/js/ckeditor/lang/en-ca.js create mode 100644 admin/js/ckeditor/lang/en-gb.js create mode 100644 admin/js/ckeditor/lang/en.js create mode 100644 admin/js/ckeditor/lang/eo.js create mode 100644 admin/js/ckeditor/lang/es.js create mode 100644 admin/js/ckeditor/lang/et.js create mode 100644 admin/js/ckeditor/lang/eu.js create mode 100644 admin/js/ckeditor/lang/fa.js create mode 100644 admin/js/ckeditor/lang/fi.js create mode 100644 admin/js/ckeditor/lang/fo.js create mode 100644 admin/js/ckeditor/lang/fr-ca.js create mode 100644 admin/js/ckeditor/lang/fr.js create mode 100644 admin/js/ckeditor/lang/gl.js create mode 100644 admin/js/ckeditor/lang/gu.js create mode 100644 admin/js/ckeditor/lang/he.js create mode 100644 admin/js/ckeditor/lang/hi.js create mode 100644 admin/js/ckeditor/lang/hr.js create mode 100644 admin/js/ckeditor/lang/hu.js create mode 100644 admin/js/ckeditor/lang/id.js create mode 100644 admin/js/ckeditor/lang/is.js create mode 100644 admin/js/ckeditor/lang/it.js create mode 100644 admin/js/ckeditor/lang/ja.js create mode 100644 admin/js/ckeditor/lang/ka.js create mode 100644 admin/js/ckeditor/lang/km.js create mode 100644 admin/js/ckeditor/lang/ko.js create mode 100644 admin/js/ckeditor/lang/ku.js create mode 100644 admin/js/ckeditor/lang/lt.js create mode 100644 admin/js/ckeditor/lang/lv.js create mode 100644 admin/js/ckeditor/lang/mk.js create mode 100644 admin/js/ckeditor/lang/mn.js create mode 100644 admin/js/ckeditor/lang/ms.js create mode 100644 admin/js/ckeditor/lang/nb.js create mode 100644 admin/js/ckeditor/lang/nl.js create mode 100644 admin/js/ckeditor/lang/no.js create mode 100644 admin/js/ckeditor/lang/pl.js create mode 100644 admin/js/ckeditor/lang/pt-br.js create mode 100644 admin/js/ckeditor/lang/pt.js create mode 100644 admin/js/ckeditor/lang/ro.js create mode 100644 admin/js/ckeditor/lang/ru.js create mode 100644 admin/js/ckeditor/lang/si.js create mode 100644 admin/js/ckeditor/lang/sk.js create mode 100644 admin/js/ckeditor/lang/sl.js create mode 100644 admin/js/ckeditor/lang/sq.js create mode 100644 admin/js/ckeditor/lang/sr-latn.js create mode 100644 admin/js/ckeditor/lang/sr.js create mode 100644 admin/js/ckeditor/lang/sv.js create mode 100644 admin/js/ckeditor/lang/th.js create mode 100644 admin/js/ckeditor/lang/tr.js create mode 100644 admin/js/ckeditor/lang/ug.js create mode 100644 admin/js/ckeditor/lang/uk.js create mode 100644 admin/js/ckeditor/lang/vi.js create mode 100644 admin/js/ckeditor/lang/zh-cn.js create mode 100644 admin/js/ckeditor/lang/zh.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/id.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/si.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 admin/js/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 admin/js/ckeditor/plugins/about/dialogs/about.js create mode 100644 admin/js/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png create mode 100644 admin/js/ckeditor/plugins/about/dialogs/logo_ckeditor.png create mode 100644 admin/js/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 admin/js/ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 admin/js/ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 admin/js/ckeditor/plugins/div/dialogs/div.js create mode 100644 admin/js/ckeditor/plugins/fakeobjects/images/spacer.gif create mode 100644 admin/js/ckeditor/plugins/find/dialogs/find.js create mode 100644 admin/js/ckeditor/plugins/flash/dialogs/flash.js create mode 100644 admin/js/ckeditor/plugins/flash/images/placeholder.png create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/button.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/form.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/radio.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/select.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 admin/js/ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 admin/js/ckeditor/plugins/forms/images/hiddenfield.gif create mode 100644 admin/js/ckeditor/plugins/icons.png create mode 100644 admin/js/ckeditor/plugins/icons_hidpi.png create mode 100644 admin/js/ckeditor/plugins/iframe/dialogs/iframe.js create mode 100644 admin/js/ckeditor/plugins/iframe/images/placeholder.png create mode 100644 admin/js/ckeditor/plugins/image/dialogs/image.js create mode 100644 admin/js/ckeditor/plugins/image/images/noimage.png create mode 100644 admin/js/ckeditor/plugins/link/dialogs/anchor.js create mode 100644 admin/js/ckeditor/plugins/link/dialogs/link.js create mode 100644 admin/js/ckeditor/plugins/link/images/anchor.png create mode 100644 admin/js/ckeditor/plugins/link/images/hidpi/anchor.png create mode 100644 admin/js/ckeditor/plugins/liststyle/dialogs/liststyle.js create mode 100644 admin/js/ckeditor/plugins/magicline/images/hidpi/icon.png create mode 100644 admin/js/ckeditor/plugins/magicline/images/icon.png create mode 100644 admin/js/ckeditor/plugins/pagebreak/images/pagebreak.gif create mode 100644 admin/js/ckeditor/plugins/pastefromword/filter/default.js create mode 100644 admin/js/ckeditor/plugins/preview/preview.html create mode 100644 admin/js/ckeditor/plugins/scayt/LICENSE.md create mode 100644 admin/js/ckeditor/plugins/scayt/README.md create mode 100644 admin/js/ckeditor/plugins/scayt/dialogs/options.js create mode 100644 admin/js/ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_address.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_blockquote.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_div.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h1.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h2.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h3.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h4.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h5.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_h6.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_p.png create mode 100644 admin/js/ckeditor/plugins/showblocks/images/block_pre.png create mode 100644 admin/js/ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 admin/js/ckeditor/plugins/smiley/images/angel_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/angry_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/broken_heart.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/confused_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/cry_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/devil_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/embaressed_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/embarrassed_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/envelope.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/heart.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/kiss.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/lightbulb.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/omg_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/regular_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/sad_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/shades_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/teeth_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/thumbs_down.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/thumbs_up.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/tongue_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/tounge_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif create mode 100644 admin/js/ckeditor/plugins/smiley/images/wink_smile.gif create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ar.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/bg.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ca.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/cs.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/cy.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/de.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/el.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/en.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/eo.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/es.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/et.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/fa.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/fi.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/fr.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/gl.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/he.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/hr.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/hu.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/id.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/it.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ja.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ku.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/lv.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/nb.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/nl.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/no.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/pl.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/pt.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ru.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/si.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/sk.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/sl.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/sq.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/sv.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/th.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/tr.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/ug.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/uk.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/vi.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 admin/js/ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 admin/js/ckeditor/plugins/table/dialogs/table.js create mode 100644 admin/js/ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 admin/js/ckeditor/plugins/templates/dialogs/templates.css create mode 100644 admin/js/ckeditor/plugins/templates/dialogs/templates.js create mode 100644 admin/js/ckeditor/plugins/templates/templates/default.js create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/template1.gif create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/template2.gif create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/template3.gif create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/two_col_333333.png create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/two_col_3466.png create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/two_col_5050.png create mode 100644 admin/js/ckeditor/plugins/templates/templates/images/two_col_6634.png create mode 100644 admin/js/ckeditor/plugins/wsc/LICENSE.md create mode 100644 admin/js/ckeditor/plugins/wsc/README.md create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/tmp.html create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 admin/js/ckeditor/plugins/wsc/dialogs/wsc_ie.js create mode 100644 admin/js/ckeditor/skins/moono/dialog.css create mode 100644 admin/js/ckeditor/skins/moono/dialog_ie.css create mode 100644 admin/js/ckeditor/skins/moono/dialog_ie7.css create mode 100644 admin/js/ckeditor/skins/moono/dialog_ie8.css create mode 100644 admin/js/ckeditor/skins/moono/dialog_iequirks.css create mode 100644 admin/js/ckeditor/skins/moono/dialog_opera.css create mode 100644 admin/js/ckeditor/skins/moono/editor.css create mode 100644 admin/js/ckeditor/skins/moono/editor_gecko.css create mode 100644 admin/js/ckeditor/skins/moono/editor_ie.css create mode 100644 admin/js/ckeditor/skins/moono/editor_ie7.css create mode 100644 admin/js/ckeditor/skins/moono/editor_ie8.css create mode 100644 admin/js/ckeditor/skins/moono/editor_iequirks.css create mode 100644 admin/js/ckeditor/skins/moono/icons.png create mode 100644 admin/js/ckeditor/skins/moono/icons_hidpi.png create mode 100644 admin/js/ckeditor/skins/moono/images/arrow.png create mode 100644 admin/js/ckeditor/skins/moono/images/close.png create mode 100644 admin/js/ckeditor/skins/moono/images/hidpi/close.png create mode 100644 admin/js/ckeditor/skins/moono/images/hidpi/lock-open.png create mode 100644 admin/js/ckeditor/skins/moono/images/hidpi/lock.png create mode 100644 admin/js/ckeditor/skins/moono/images/hidpi/refresh.png create mode 100644 admin/js/ckeditor/skins/moono/images/lock-open.png create mode 100644 admin/js/ckeditor/skins/moono/images/lock.png create mode 100644 admin/js/ckeditor/skins/moono/images/refresh.png create mode 100644 admin/js/ckeditor/skins/moono/readme.md create mode 100644 admin/js/ckeditor/styles.js create mode 100644 admin/js/clipboard.js create mode 100644 admin/js/datepicker.js create mode 100644 admin/js/datepicker.non_min.js create mode 100644 admin/js/editor/loader.js create mode 100644 admin/js/editor/modernizr-2.0.6.min.js create mode 100644 admin/js/editor/raptor.0deps.js create mode 100644 admin/js/event_actions.js create mode 100644 admin/js/event_actions.non_min.js create mode 100644 admin/js/ff.funcs.js create mode 100644 admin/js/ff.funcs.non_min.js create mode 100644 admin/js/form_builder.js create mode 100644 admin/js/form_builder.non_min.js create mode 100644 admin/js/form_items.js create mode 100644 admin/js/form_rotator.js create mode 100644 admin/js/form_steps.js create mode 100644 admin/js/forms.js create mode 100644 admin/js/forms.non_min.js create mode 100644 admin/js/fs_rotator.js create mode 100644 admin/js/highcharts.export.min.js create mode 100644 admin/js/highcharts.min.js create mode 100644 admin/js/jquery.autocomplete.js create mode 100644 admin/js/jquery.bg_position.js create mode 100644 admin/js/jquery.ctrl.js create mode 100644 admin/js/jquery.dropdown.js create mode 100644 admin/js/jquery.dropdown.mobile.js create mode 100644 admin/js/jquery.fileuploader.js create mode 100644 admin/js/jquery.fileuploader.non_min.js create mode 100644 admin/js/jquery.imgareaselect.js create mode 100644 admin/js/jquery.js create mode 100644 admin/js/jquery.jscrollpane.min.js create mode 100644 admin/js/jquery.jscrollpane.min.non_min.js create mode 100644 admin/js/jquery.miniColors.min.js create mode 100644 admin/js/jquery.miniColors.min.non_min.js create mode 100644 admin/js/jquery.mousewheel.js create mode 100644 admin/js/jquery.tablesorter.min.js create mode 100644 admin/js/jquery.tablesorter.min.non_min.js create mode 100644 admin/js/jvectormap/abstract-canvas-element.js create mode 100644 admin/js/jvectormap/abstract-element.js create mode 100644 admin/js/jvectormap/abstract-shape-element.js create mode 100644 admin/js/jvectormap/color-scale.js create mode 100644 admin/js/jvectormap/data-series.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-au-mill-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-ca-lcc-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-map.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-us-aea-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-us-lcc-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-us-merc-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-us-mill-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap-world-mill-en.js create mode 100644 admin/js/jvectormap/jquery-jvectormap.js create mode 100644 admin/js/jvectormap/jquery-mousewheel.js create mode 100644 admin/js/jvectormap/jvectormap.js create mode 100644 admin/js/jvectormap/numeric-scale.js create mode 100644 admin/js/jvectormap/ordinal-scale.js create mode 100644 admin/js/jvectormap/proj.js create mode 100644 admin/js/jvectormap/simple-scale.js create mode 100644 admin/js/jvectormap/svg-canvas-element.js create mode 100644 admin/js/jvectormap/svg-circle-element.js create mode 100644 admin/js/jvectormap/svg-element.js create mode 100644 admin/js/jvectormap/svg-group-element.js create mode 100644 admin/js/jvectormap/svg-path-element.js create mode 100644 admin/js/jvectormap/svg-shape-element.js create mode 100644 admin/js/jvectormap/vector-canvas.js create mode 100644 admin/js/jvectormap/vml-canvas-element.js create mode 100644 admin/js/jvectormap/vml-circle-element.js create mode 100644 admin/js/jvectormap/vml-element.js create mode 100644 admin/js/jvectormap/vml-group-element.js create mode 100644 admin/js/jvectormap/vml-path-element.js create mode 100644 admin/js/jvectormap/vml-shape-element.js create mode 100644 admin/js/jvectormap/world-map.js create mode 100644 admin/js/shortcuts.js create mode 100644 admin/js/shortcuts.non_min.js create mode 100644 admin/js/sliders.js create mode 100644 admin/js/stopwatch.js create mode 100644 admin/login.php create mode 100644 admin/logout.php create mode 100644 admin/misc/sounds/invoice_timer.wav create mode 100644 admin/misc/sounds/notice.mp3 create mode 100644 admin/sd-system/.DS_Store create mode 100644 admin/sd-system/attachments/.gitignore create mode 100644 admin/sd-system/config.sample.php create mode 100644 admin/sd-system/exports/.gitignore create mode 100644 admin/sd-system/ip_whitelist.php create mode 100644 admin/sd-system/loader.php create mode 100644 admin/sd-system/reserved/.gitignore create mode 100644 admin/sd-system/salt.sample.php create mode 100644 admin/sd-system/start_app.php create mode 100644 calendar.php create mode 100644 cart.php create mode 100644 catalog.php create mode 100644 custom/.DS_Store create mode 100644 custom/admin_extensions/.gitignore create mode 100644 custom/cron/.gitignore create mode 100644 custom/fonts/handsean.ttf create mode 100644 custom/plugins/.gitignore create mode 100644 custom/qrcodes/.gitignore create mode 100644 custom/sessions/.gitignore create mode 100644 custom/uploads/.htaccess create mode 100644 custom/widgets/.gitignore create mode 100644 event.php create mode 100644 event_ticket.php create mode 100644 index.php create mode 100644 login.php create mode 100644 logout.php create mode 100644 lost_password.php create mode 100644 manage/announcements.php create mode 100644 manage/billing_history.php create mode 100644 manage/calendar.php create mode 100644 manage/credit_cards.php create mode 100644 manage/events.php create mode 100644 manage/index.php create mode 100644 manage/invoices.php create mode 100644 manage/subscriptions.php create mode 100644 manage/update_account.php create mode 100644 manage/uploads.php create mode 100644 pp-cart/.DS_Store create mode 100644 pp-cart/add_card.php create mode 100644 pp-cart/ajax-functions.php create mode 100644 pp-cart/checkout.php create mode 100644 pp-cart/credit_card.php create mode 100644 pp-cart/empty.php create mode 100644 pp-cart/gateways/authnet_aim.class.php create mode 100644 pp-cart/gateways/authnet_cim.class.php create mode 100644 pp-cart/gateways/beanstream.class.php create mode 100644 pp-cart/gateways/elavon_vm.class.php create mode 100644 pp-cart/gateways/eway.class.php create mode 100644 pp-cart/gateways/first_data.class.php create mode 100644 pp-cart/gateways/paypal.class.php create mode 100644 pp-cart/gateways/paypal_ipn_listener.php create mode 100644 pp-cart/gateways/paypal_pro.class.php create mode 100644 pp-cart/gateways/stripe.class.php create mode 100644 pp-cart/invoice.php create mode 100644 pp-cart/invoice_add.php create mode 100644 pp-cart/invoice_pay.php create mode 100644 pp-cart/invoice_print.php create mode 100644 pp-cart/manage_card.php create mode 100644 pp-cart/manage_subscription.php create mode 100644 pp-cart/method_form.php create mode 100644 pp-cart/payment.php create mode 100644 pp-cart/process.php create mode 100644 pp-cart/return.php create mode 100644 pp-cart/shipping.php create mode 100644 pp-cart/terms.php create mode 100644 pp-cart/update.php create mode 100644 pp-cart/view_order.php create mode 100644 pp-functions/.DS_Store create mode 100644 pp-functions/activate.php create mode 100644 pp-functions/activation-code.php create mode 100644 pp-functions/campaign_confirm.php create mode 100644 pp-functions/check_username.php create mode 100644 pp-functions/download.php create mode 100644 pp-functions/etc.php create mode 100644 pp-functions/etl.php create mode 100644 pp-functions/form_process.php create mode 100644 pp-functions/img_resize.php create mode 100644 pp-functions/login.php create mode 100644 pp-functions/lost_password.php create mode 100644 pp-functions/qrcode.php create mode 100644 pp-functions/qrcode/CHANGELOG create mode 100644 pp-functions/qrcode/INSTALL create mode 100644 pp-functions/qrcode/LICENSE create mode 100644 pp-functions/qrcode/README create mode 100644 pp-functions/qrcode/VERSION create mode 100644 pp-functions/qrcode/bindings/tcpdf/qrcode.php create mode 100644 pp-functions/qrcode/cache/frame_1.dat create mode 100644 pp-functions/qrcode/cache/frame_1.png create mode 100644 pp-functions/qrcode/cache/frame_10.dat create mode 100644 pp-functions/qrcode/cache/frame_10.png create mode 100644 pp-functions/qrcode/cache/frame_11.dat create mode 100644 pp-functions/qrcode/cache/frame_11.png create mode 100644 pp-functions/qrcode/cache/frame_12.dat create mode 100644 pp-functions/qrcode/cache/frame_12.png create mode 100644 pp-functions/qrcode/cache/frame_13.dat create mode 100644 pp-functions/qrcode/cache/frame_13.png create mode 100644 pp-functions/qrcode/cache/frame_14.dat create mode 100644 pp-functions/qrcode/cache/frame_14.png create mode 100644 pp-functions/qrcode/cache/frame_15.dat create mode 100644 pp-functions/qrcode/cache/frame_15.png create mode 100644 pp-functions/qrcode/cache/frame_16.dat create mode 100644 pp-functions/qrcode/cache/frame_16.png create mode 100644 pp-functions/qrcode/cache/frame_17.dat create mode 100644 pp-functions/qrcode/cache/frame_17.png create mode 100644 pp-functions/qrcode/cache/frame_18.dat create mode 100644 pp-functions/qrcode/cache/frame_18.png create mode 100644 pp-functions/qrcode/cache/frame_19.dat create mode 100644 pp-functions/qrcode/cache/frame_19.png create mode 100644 pp-functions/qrcode/cache/frame_2.dat create mode 100644 pp-functions/qrcode/cache/frame_2.png create mode 100644 pp-functions/qrcode/cache/frame_20.dat create mode 100644 pp-functions/qrcode/cache/frame_20.png create mode 100644 pp-functions/qrcode/cache/frame_21.dat create mode 100644 pp-functions/qrcode/cache/frame_21.png create mode 100644 pp-functions/qrcode/cache/frame_22.dat create mode 100644 pp-functions/qrcode/cache/frame_22.png create mode 100644 pp-functions/qrcode/cache/frame_23.dat create mode 100644 pp-functions/qrcode/cache/frame_23.png create mode 100644 pp-functions/qrcode/cache/frame_24.dat create mode 100644 pp-functions/qrcode/cache/frame_24.png create mode 100644 pp-functions/qrcode/cache/frame_25.dat create mode 100644 pp-functions/qrcode/cache/frame_25.png create mode 100644 pp-functions/qrcode/cache/frame_26.dat create mode 100644 pp-functions/qrcode/cache/frame_26.png create mode 100644 pp-functions/qrcode/cache/frame_27.dat create mode 100644 pp-functions/qrcode/cache/frame_27.png create mode 100644 pp-functions/qrcode/cache/frame_28.dat create mode 100644 pp-functions/qrcode/cache/frame_28.png create mode 100644 pp-functions/qrcode/cache/frame_29.dat create mode 100644 pp-functions/qrcode/cache/frame_29.png create mode 100644 pp-functions/qrcode/cache/frame_3.dat create mode 100644 pp-functions/qrcode/cache/frame_3.png create mode 100644 pp-functions/qrcode/cache/frame_30.dat create mode 100644 pp-functions/qrcode/cache/frame_30.png create mode 100644 pp-functions/qrcode/cache/frame_31.dat create mode 100644 pp-functions/qrcode/cache/frame_31.png create mode 100644 pp-functions/qrcode/cache/frame_32.dat create mode 100644 pp-functions/qrcode/cache/frame_32.png create mode 100644 pp-functions/qrcode/cache/frame_33.dat create mode 100644 pp-functions/qrcode/cache/frame_33.png create mode 100644 pp-functions/qrcode/cache/frame_34.dat create mode 100644 pp-functions/qrcode/cache/frame_34.png create mode 100644 pp-functions/qrcode/cache/frame_35.dat create mode 100644 pp-functions/qrcode/cache/frame_35.png create mode 100644 pp-functions/qrcode/cache/frame_36.dat create mode 100644 pp-functions/qrcode/cache/frame_36.png create mode 100644 pp-functions/qrcode/cache/frame_37.dat create mode 100644 pp-functions/qrcode/cache/frame_37.png create mode 100644 pp-functions/qrcode/cache/frame_38.dat create mode 100644 pp-functions/qrcode/cache/frame_38.png create mode 100644 pp-functions/qrcode/cache/frame_39.dat create mode 100644 pp-functions/qrcode/cache/frame_39.png create mode 100644 pp-functions/qrcode/cache/frame_4.dat create mode 100644 pp-functions/qrcode/cache/frame_4.png create mode 100644 pp-functions/qrcode/cache/frame_40.dat create mode 100644 pp-functions/qrcode/cache/frame_40.png create mode 100644 pp-functions/qrcode/cache/frame_5.dat create mode 100644 pp-functions/qrcode/cache/frame_5.png create mode 100644 pp-functions/qrcode/cache/frame_6.dat create mode 100644 pp-functions/qrcode/cache/frame_6.png create mode 100644 pp-functions/qrcode/cache/frame_7.dat create mode 100644 pp-functions/qrcode/cache/frame_7.png create mode 100644 pp-functions/qrcode/cache/frame_8.dat create mode 100644 pp-functions/qrcode/cache/frame_8.png create mode 100644 pp-functions/qrcode/cache/frame_9.dat create mode 100644 pp-functions/qrcode/cache/frame_9.png create mode 100644 pp-functions/qrcode/cache/mask_0/mask_101_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_105_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_109_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_113_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_117_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_121_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_125_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_129_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_133_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_137_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_141_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_145_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_149_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_153_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_157_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_161_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_165_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_169_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_173_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_177_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_21_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_25_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_29_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_33_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_37_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_41_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_45_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_49_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_53_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_57_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_61_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_65_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_69_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_73_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_77_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_81_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_85_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_89_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_93_0.dat create mode 100644 pp-functions/qrcode/cache/mask_0/mask_97_0.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_101_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_105_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_109_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_113_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_117_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_121_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_125_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_129_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_133_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_137_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_141_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_145_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_149_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_153_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_157_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_161_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_165_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_169_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_173_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_177_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_21_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_25_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_29_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_33_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_37_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_41_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_45_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_49_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_53_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_57_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_61_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_65_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_69_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_73_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_77_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_81_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_85_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_89_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_93_1.dat create mode 100644 pp-functions/qrcode/cache/mask_1/mask_97_1.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_101_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_105_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_109_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_113_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_117_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_121_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_125_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_129_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_133_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_137_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_141_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_145_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_149_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_153_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_157_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_161_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_165_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_169_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_173_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_177_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_21_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_25_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_29_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_33_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_37_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_41_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_45_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_49_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_53_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_57_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_61_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_65_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_69_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_73_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_77_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_81_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_85_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_89_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_93_2.dat create mode 100644 pp-functions/qrcode/cache/mask_2/mask_97_2.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_101_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_105_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_109_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_113_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_117_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_121_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_125_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_129_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_133_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_137_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_141_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_145_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_149_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_153_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_157_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_161_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_165_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_169_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_173_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_177_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_21_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_25_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_29_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_33_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_37_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_41_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_45_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_49_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_53_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_57_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_61_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_65_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_69_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_73_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_77_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_81_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_85_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_89_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_93_3.dat create mode 100644 pp-functions/qrcode/cache/mask_3/mask_97_3.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_101_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_105_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_109_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_113_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_117_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_121_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_125_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_129_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_133_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_137_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_141_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_145_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_149_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_153_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_157_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_161_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_165_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_169_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_173_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_177_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_21_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_25_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_29_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_33_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_37_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_41_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_45_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_49_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_53_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_57_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_61_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_65_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_69_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_73_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_77_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_81_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_85_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_89_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_93_4.dat create mode 100644 pp-functions/qrcode/cache/mask_4/mask_97_4.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_101_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_105_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_109_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_113_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_117_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_121_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_125_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_129_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_133_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_137_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_141_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_145_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_149_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_153_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_157_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_161_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_165_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_169_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_173_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_177_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_21_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_25_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_29_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_33_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_37_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_41_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_45_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_49_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_53_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_57_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_61_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_65_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_69_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_73_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_77_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_81_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_85_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_89_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_93_5.dat create mode 100644 pp-functions/qrcode/cache/mask_5/mask_97_5.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_101_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_105_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_109_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_113_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_117_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_121_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_125_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_129_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_133_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_137_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_141_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_145_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_149_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_153_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_157_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_161_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_165_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_169_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_173_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_177_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_21_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_25_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_29_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_33_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_37_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_41_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_45_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_49_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_53_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_57_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_61_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_65_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_69_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_73_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_77_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_81_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_85_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_89_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_93_6.dat create mode 100644 pp-functions/qrcode/cache/mask_6/mask_97_6.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_101_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_105_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_109_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_113_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_117_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_121_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_125_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_129_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_133_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_137_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_141_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_145_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_149_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_153_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_157_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_161_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_165_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_169_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_173_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_177_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_21_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_25_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_29_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_33_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_37_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_41_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_45_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_49_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_53_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_57_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_61_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_65_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_69_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_73_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_77_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_81_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_85_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_89_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_93_7.dat create mode 100644 pp-functions/qrcode/cache/mask_7/mask_97_7.dat create mode 100644 pp-functions/qrcode/index.php create mode 100644 pp-functions/qrcode/qrbitstream.php create mode 100644 pp-functions/qrcode/qrconfig.php create mode 100644 pp-functions/qrcode/qrconst.php create mode 100644 pp-functions/qrcode/qrencode.php create mode 100644 pp-functions/qrcode/qrimage.php create mode 100644 pp-functions/qrcode/qrinput.php create mode 100644 pp-functions/qrcode/qrlib.php create mode 100644 pp-functions/qrcode/qrmask.php create mode 100644 pp-functions/qrcode/qrrscode.php create mode 100644 pp-functions/qrcode/qrspec.php create mode 100644 pp-functions/qrcode/qrsplit.php create mode 100644 pp-functions/qrcode/qrtools.php create mode 100644 pp-functions/qrcode/tools/merge.bat create mode 100644 pp-functions/qrcode/tools/merge.php create mode 100644 pp-functions/qrcode/tools/merge.sh create mode 100644 pp-functions/qrcode/tools/merged_config.php create mode 100644 pp-functions/qrcode/tools/merged_header.php create mode 100644 pp-functions/qrcode_scan.php create mode 100644 pp-functions/reset_password.php create mode 100644 pp-functions/reset_password_process.php create mode 100644 pp-functions/unsubscribe.php create mode 100644 pp-functions/upload.php create mode 100644 pp-functions/view_email.php create mode 100644 pp-js/_____jquery.ui.js create mode 100644 pp-js/billing.functions.js create mode 100644 pp-js/bo.js create mode 100644 pp-js/form_functions.js create mode 100644 pp-js/general.js create mode 100644 pp-js/jquery.cycle.js create mode 100644 pp-js/jquery.fileuploader.js create mode 100644 pp-js/jquery.js create mode 100644 pp-js/jquery.timepicker.js create mode 100644 pp-js/jquery.ui.js create mode 100644 pp-templates/.DS_Store create mode 100644 pp-templates/email/threefiveten/account_activated.html create mode 100644 pp-templates/email/threefiveten/admin_email_notify.html create mode 100644 pp-templates/email/threefiveten/campaign_double_optin.html create mode 100644 pp-templates/email/threefiveten/campaign_subscription.html create mode 100644 pp-templates/email/threefiveten/campaign_unsubscribed.html create mode 100644 pp-templates/email/threefiveten/cart_receipt.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_advanced_notice.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_canceled.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_changed.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_created.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_failed.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_no_card.html create mode 100644 pp-templates/email/threefiveten/cart_subscription_renewed.html create mode 100644 pp-templates/email/threefiveten/contact_thankyou.html create mode 100644 pp-templates/email/threefiveten/email_activation_code.html create mode 100644 pp-templates/email/threefiveten/email_await_activation.html create mode 100644 pp-templates/email/threefiveten/email_membership_created.html create mode 100644 pp-templates/email/threefiveten/email_pending_invoice.html create mode 100644 pp-templates/email/threefiveten/email_reg_complete.html create mode 100644 pp-templates/email/threefiveten/email_styles.css create mode 100644 pp-templates/email/threefiveten/employee_note_tagged.html create mode 100644 pp-templates/email/threefiveten/event_followup.html create mode 100644 pp-templates/email/threefiveten/event_reminder.html create mode 100644 pp-templates/email/threefiveten/event_rsvp.html create mode 100644 pp-templates/email/threefiveten/event_rsvp_guest.html create mode 100644 pp-templates/email/threefiveten/form_request.html create mode 100644 pp-templates/email/threefiveten/html_footer.html create mode 100644 pp-templates/email/threefiveten/html_header.html create mode 100644 pp-templates/email/threefiveten/invoice.html create mode 100644 pp-templates/email/threefiveten/invoice_closed.html create mode 100644 pp-templates/email/threefiveten/invoice_due.html create mode 100644 pp-templates/email/threefiveten/invoice_overdue.html create mode 100644 pp-templates/email/threefiveten/invoice_updated.html create mode 100644 pp-templates/email/threefiveten/member_status_changed.html create mode 100644 pp-templates/email/threefiveten/order_shipped.html create mode 100644 pp-templates/email/threefiveten/refund_issued.html create mode 100644 pp-templates/email/threefiveten/reg_code.html create mode 100644 pp-templates/email/threefiveten/reset_password_directions.html create mode 100644 pp-templates/html/.DS_Store create mode 100644 pp-templates/html/zoid/.DS_Store create mode 100644 pp-templates/html/zoid/_author/info.xml create mode 100644 pp-templates/html/zoid/_author/screen.jpg create mode 100644 pp-templates/html/zoid/css/invoice_style.css create mode 100644 pp-templates/html/zoid/css/jquery.fileuploader.css create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-icons_2694e8_256x240.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-icons_2e83ff_256x240.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-icons_3d80b3_256x240.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-icons_72a7cf_256x240.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/images/ui-icons_ffffff_256x240.png create mode 100644 pp-templates/html/zoid/css/jquery_ui/jquery.ui.css create mode 100644 pp-templates/html/zoid/css/media.css create mode 100644 pp-templates/html/zoid/css/primary.css create mode 100644 pp-templates/html/zoid/en/.DS_Store create mode 100644 pp-templates/html/zoid/en/activation_code_sent.php create mode 100644 pp-templates/html/zoid/en/calendar.php create mode 100644 pp-templates/html/zoid/en/calendar_event_entry.php create mode 100644 pp-templates/html/zoid/en/calendar_long.php create mode 100644 pp-templates/html/zoid/en/campaign_confirm_needed.php create mode 100644 pp-templates/html/zoid/en/campaign_subscription.php create mode 100644 pp-templates/html/zoid/en/campaign_unsubscribed.php create mode 100644 pp-templates/html/zoid/en/captcha_block.php create mode 100644 pp-templates/html/zoid/en/cart_add_card.php create mode 100644 pp-templates/html/zoid/en/cart_billing.php create mode 100644 pp-templates/html/zoid/en/cart_billing_preview.php create mode 100644 pp-templates/html/zoid/en/cart_cc_option.php create mode 100644 pp-templates/html/zoid/en/cart_manage_card.php create mode 100644 pp-templates/html/zoid/en/cart_manage_subscription.php create mode 100644 pp-templates/html/zoid/en/cart_overview.php create mode 100644 pp-templates/html/zoid/en/cart_overview_empty.php create mode 100644 pp-templates/html/zoid/en/cart_product_entry.php create mode 100644 pp-templates/html/zoid/en/cart_product_entry_edit.php create mode 100644 pp-templates/html/zoid/en/cart_product_entry_none.php create mode 100644 pp-templates/html/zoid/en/cart_product_entry_small.php create mode 100644 pp-templates/html/zoid/en/cart_product_entry_upsell.php create mode 100644 pp-templates/html/zoid/en/cart_receipt.php create mode 100644 pp-templates/html/zoid/en/cart_shipping.php create mode 100644 pp-templates/html/zoid/en/cart_shipping_entry.php create mode 100644 pp-templates/html/zoid/en/cart_terms.php create mode 100644 pp-templates/html/zoid/en/cart_terms_entry.php create mode 100644 pp-templates/html/zoid/en/cart_upsell_checkout.php create mode 100644 pp-templates/html/zoid/en/cart_view_order.php create mode 100644 pp-templates/html/zoid/en/catalog.php create mode 100644 pp-templates/html/zoid/en/catalog_entry.php create mode 100644 pp-templates/html/zoid/en/catalog_entry_none.php create mode 100644 pp-templates/html/zoid/en/catalog_view_product.php create mode 100644 pp-templates/html/zoid/en/contact.php create mode 100644 pp-templates/html/zoid/en/contact_thankyou.php create mode 100644 pp-templates/html/zoid/en/default_page.php create mode 100644 pp-templates/html/zoid/en/dependency.php create mode 100644 pp-templates/html/zoid/en/email_confirmed.php create mode 100644 pp-templates/html/zoid/en/error.php create mode 100644 pp-templates/html/zoid/en/event.php create mode 100644 pp-templates/html/zoid/en/event_product_entry.php create mode 100644 pp-templates/html/zoid/en/event_register.php create mode 100644 pp-templates/html/zoid/en/event_register_confirm.php create mode 100644 pp-templates/html/zoid/en/event_register_confirmed.php create mode 100644 pp-templates/html/zoid/en/event_register_guests.php create mode 100644 pp-templates/html/zoid/en/event_register_guests_info.php create mode 100644 pp-templates/html/zoid/en/event_register_pricing.php create mode 100644 pp-templates/html/zoid/en/event_ticket.php create mode 100644 pp-templates/html/zoid/en/event_ticket_entry.php create mode 100644 pp-templates/html/zoid/en/event_timeline.php create mode 100644 pp-templates/html/zoid/en/event_timeline_entry.php create mode 100644 pp-templates/html/zoid/en/event_view.php create mode 100644 pp-templates/html/zoid/en/footer.php create mode 100644 pp-templates/html/zoid/en/header.php create mode 100644 pp-templates/html/zoid/en/homepage.php create mode 100644 pp-templates/html/zoid/en/invoice.php create mode 100644 pp-templates/html/zoid/en/invoice_credit_entry.php create mode 100644 pp-templates/html/zoid/en/invoice_entry.php create mode 100644 pp-templates/html/zoid/en/invoice_pay.php create mode 100644 pp-templates/html/zoid/en/invoice_payment_entry.php create mode 100644 pp-templates/html/zoid/en/invoice_print.php create mode 100644 pp-templates/html/zoid/en/invoice_time_entry.php create mode 100644 pp-templates/html/zoid/en/login.php create mode 100644 pp-templates/html/zoid/en/manage_announcement_entry.php create mode 100644 pp-templates/html/zoid/en/manage_announcements.php create mode 100644 pp-templates/html/zoid/en/manage_billing_history.php create mode 100644 pp-templates/html/zoid/en/manage_billing_history_entry.php create mode 100644 pp-templates/html/zoid/en/manage_calendar.php create mode 100644 pp-templates/html/zoid/en/manage_credit_cards.php create mode 100644 pp-templates/html/zoid/en/manage_credit_cards_entry.php create mode 100644 pp-templates/html/zoid/en/manage_event_rsvps.php create mode 100644 pp-templates/html/zoid/en/manage_event_rsvps_entry.php create mode 100644 pp-templates/html/zoid/en/manage_home.php create mode 100644 pp-templates/html/zoid/en/manage_home_content_entry.php create mode 100644 pp-templates/html/zoid/en/manage_invoice_entry.php create mode 100644 pp-templates/html/zoid/en/manage_invoices.php create mode 100644 pp-templates/html/zoid/en/manage_subscriptions.php create mode 100644 pp-templates/html/zoid/en/manage_subscriptions_entry.php create mode 100644 pp-templates/html/zoid/en/manage_update_account.php create mode 100644 pp-templates/html/zoid/en/manage_uploads.php create mode 100644 pp-templates/html/zoid/en/manage_uploads_entry.php create mode 100644 pp-templates/html/zoid/en/page-2col-3070.php create mode 100644 pp-templates/html/zoid/en/page-2col-5050.php create mode 100644 pp-templates/html/zoid/en/page-2col-7030.php create mode 100644 pp-templates/html/zoid/en/page-3col-333.php create mode 100644 pp-templates/html/zoid/en/password_recovery.php create mode 100644 pp-templates/html/zoid/en/password_reset.php create mode 100644 pp-templates/html/zoid/en/popup_cart_added.php create mode 100644 pp-templates/html/zoid/en/popup_cart_added_withupsell.php create mode 100644 pp-templates/html/zoid/en/popup_cart_alter_subscription.php create mode 100644 pp-templates/html/zoid/en/popup_cart_alter_subscription_entry.php create mode 100644 pp-templates/html/zoid/en/popup_cart_set_region.php create mode 100644 pp-templates/html/zoid/en/popup_cart_upgrade_subscription.php create mode 100644 pp-templates/html/zoid/en/popup_cart_upsell.php create mode 100644 pp-templates/html/zoid/en/popup_login_error.php create mode 100644 pp-templates/html/zoid/en/reg_activation_code.php create mode 100644 pp-templates/html/zoid/en/reg_await_activation.php create mode 100644 pp-templates/html/zoid/en/reg_awaiting_payment.php create mode 100644 pp-templates/html/zoid/en/reg_code_required.php create mode 100644 pp-templates/html/zoid/en/reg_complete.php create mode 100644 pp-templates/html/zoid/en/reg_preview.php create mode 100644 pp-templates/html/zoid/en/reg_select_product.php create mode 100644 pp-templates/html/zoid/en/reg_select_product_entry.php create mode 100644 pp-templates/html/zoid/en/register.php create mode 100644 pp-templates/html/zoid/en/register_list.php create mode 100644 pp-templates/html/zoid/en/register_list_entry.php create mode 100644 pp-templates/html/zoid/en/register_list_entry_none.php create mode 100644 pp-templates/html/zoid/en/update.php create mode 100644 pp-templates/html/zoid/en/widget-featured_product.php create mode 100644 pp-templates/html/zoid/en/widget-member_spotlight.php create mode 100644 pp-templates/html/zoid/en/widget-upcoming_events.php create mode 100644 pp-templates/html/zoid/imgs/banner-featured.png create mode 100644 pp-templates/html/zoid/imgs/bg.png create mode 100644 pp-templates/html/zoid/imgs/black-fade.png create mode 100644 pp-templates/html/zoid/imgs/error-fade.png create mode 100644 pp-templates/html/zoid/imgs/faded_dark.png create mode 100644 pp-templates/html/zoid/imgs/icon-amex.png create mode 100644 pp-templates/html/zoid/imgs/icon-announcements.png create mode 100644 pp-templates/html/zoid/imgs/icon-billing_history.png create mode 100644 pp-templates/html/zoid/imgs/icon-close.png create mode 100644 pp-templates/html/zoid/imgs/icon-credit_cards.png create mode 100644 pp-templates/html/zoid/imgs/icon-cvv.png create mode 100644 pp-templates/html/zoid/imgs/icon-discover.png create mode 100644 pp-templates/html/zoid/imgs/icon-email_history.png create mode 100644 pp-templates/html/zoid/imgs/icon-error.png create mode 100644 pp-templates/html/zoid/imgs/icon-mastercard.png create mode 100644 pp-templates/html/zoid/imgs/icon-menu-black.png create mode 100644 pp-templates/html/zoid/imgs/icon-menu.png create mode 100644 pp-templates/html/zoid/imgs/icon-newsletters.png create mode 100644 pp-templates/html/zoid/imgs/icon-paypal.png create mode 100644 pp-templates/html/zoid/imgs/icon-saved.png create mode 100644 pp-templates/html/zoid/imgs/icon-search.png create mode 100644 pp-templates/html/zoid/imgs/icon-subscriptions.png create mode 100644 pp-templates/html/zoid/imgs/icon-update_account.png create mode 100644 pp-templates/html/zoid/imgs/icon-uploads.png create mode 100644 pp-templates/html/zoid/imgs/icon-visa.png create mode 100644 pp-templates/html/zoid/imgs/loading.gif create mode 100644 pp-templates/html/zoid/imgs/paid.png create mode 100644 pp-templates/html/zoid/imgs/topbg.png create mode 100644 pp-templates/html/zoid/js/functions.js create mode 100644 pp-templates/html/zoid/js/mobile-menu.js create mode 100644 register.php create mode 100644 robots.txt create mode 100644 setup/.DS_Store create mode 100644 setup/.gitignore create mode 100644 setup/assets/footer.php create mode 100644 setup/assets/functions.php create mode 100644 setup/assets/header.php create mode 100644 setup/assets/setup.css create mode 100644 setup/index.php create mode 100644 setup/mysql/create.php create mode 100644 setup/mysql/inserts.php create mode 100644 setup/phpinfo.php create mode 100644 setup/process.php diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2e3fe8d4502f4ced29c1d2171e087100a4f55333 GIT binary patch literal 18436 zcmeHOeQ*?K8GoL9al0X8!$&!e9-Kf5!2k&alGp+vBzy==u>r!DO)t5H9A0kI>?Hva z8>NcY4{EKSGinRk)}kGC)Q;6rYFp6iNMX={`Z1!8Q~bwHTW8w8@Oj>M@3OnM7ZN}M zxO;Q^?(X|O`|<8?_xC)%=Uo86#@<*pKmz~-=+C7#mS%?lB2-rKvNdr%|Ffoi+Jf|7 zOaB702S`E`c7xt!G&N zwd{Zt#KE8?GqJn6rNijzmMz~rW^}YCjCNY1Q^Ippe)*D^MEw|RFJi@?`90wGfZqdt z5BNRsf7b)d-82P?W$DlT9`Jj>?}1DY@cSV`e=ZxWazK{i)j>0M-?^S$crnp3Io)Dg z#3~!CazK{Clx&14mC_Wg5Cf$-ZI5tsDjTeFK$g-RP?`f;M@B0`L2-1li-_ic4YKs- zeh>IPklh1QX;bdF+U(mXBk4S&y*m*%Q&m;xFfYHLuxLy`QHz63WzA}vHoh;e_ut)} ziW^CDi{4{W*`}46oksuK4kNj-N9X$14kOXql{DM5vW{q?qc;&v=_?Y6miPyCb8AZ9 zo8qPIrqPpHDH?8#lPzy+)3jbwzegv7c%R-xW~PS9(_<%vrp=r)Z(;3SXG_MFYGvb9 zb$dLfCsXlValL1Ae>|4z+!i%E^kgia+}+w2H{5L={W149DXHydB?#GjSG{ z<9w{aC0L7fxB}PWI$Vz%a0|9!J9c0UyYNH!VSE4w@RRsC{1QHnNAM_q7oWjr@whyx zJnL-^tL1unj?dH5P_XQ_VA<*g%W(6ARigyU^J66#Crq4Vp>sv%7Q1e$9bE!a5;Foz zX{-piIskf>AUh>ARSj<@$mx6CAV`Bl8zTY5t*1xAVJ#pq#H+K)X*G|49uWJgm>X8L zd;w>!C8UP6LIGS}C5)%48d#J7bd~@2h_nX$k4ez8M?(;Uz zQH#}LtxSD?3(-qUDw^sw8>2lt#2UT++pXn|(Nt%8d6QuzGRx8SEks6b+QgMcG8K&{ z^&Xq)&Q^M;jQ&QWHyJZ`w#fapGLy7vlPn(F7)|P1m`vh{cxoS^oqlavaR2^AixyW# z7A>keP#M`@TU%8bsi~4VB=Gm8JJUhnE6UWB|04qT;Oz{jUoC;>m)?W~u8k{Y0$=V; z)Jle_vxxfObtLMC@Kg8&{33n>ACqv*P;`@APtWn&w3Hj9X5VEfxq6Oa$ zhnQVle)SYBh*ZFuiS(Lsw1fTK6g>>sF-3n5eg@CON%$?C9fG2npy!i6ST6{ADXzjb zf}q#qW^5G%y@UM1U4o$ZpozVLp!eZN@xd&L{<;f(Ls4`V`PfMA`VzAVr_P zY+DBbmcGtA&bi;dmY!t7NbaUK{GJ~RJw%JUDP?I2g6tt*yc;^9+ez&Cyi+?-s$^$C zJN;8+IiKcxA?37zRdk4eEyY<#Ep=+y>)t!vKWa%w$iH-n=1l#WmNw#jJIxh0KJiZ8 zzrUusGO}b5({A;``r67!ZFQA5@BZ>dam~4TmwDONBMzo5nD(f%b`WD{F1#qyj+^y&C=amqH^!Ath4bzHI}mqPLt zW8^i)A(;(mm_z$7%D^ zz$=1oxusm4tx%9FVsEh}I9IIlU^OljT1_K1QTWVSO)CY>%*kDt#BRJ_Xf+%nOBe7d@rc8aE}-opPF%+6 z3pJPBh`P+Rb^3AvSn4$bE7};Lyr>a%hQP80Qq?IB%?=QdwLDopH&n?m)$(PnfL~0} z3S}(;k0GlS$l7|90Jl!jisb6DPy^#nlNyg&9#WK%0nO9tBWR5w5pXgFaVjY@tjo+1 zx(qvgQkP+;PwF!4^hsTY0VZ`BcKW0)!%p8p{1~}?Bh_VWfE(naGZ!o+#!;KrGQ4UX zeDvyH8R<6LEa$C*xGF&mnIy)Fl1t|4ys>))b8L=SfJUit>y&qUyvNnPShP=xV;STu zdLBiLXtN)sh^%^rTWLU-lS%XLvJiv%jf752bJP7FEO zR&lc}qcg*{N{!-VTgA?{$}*+FPUK2?s7VQE=;7Jr1l;2Ux1SK$UM7d`_vFm|4gL*p z6U2&8!`p~)Lj9QH2WRfuu>1ncHtP>~0* zbD_e~q=;qrdb6jCpyOfg^vuM6?)!qU9u<|{wPITO~yyNt#hP#_7 z+DZ@3$d%i<$e;N=;P=3-*#lV6 z)Y8;Q*OnfS?7mF?)-FQ-`{hA wblpD$|%3E) [NC,OR] +RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] +RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) +RewriteRule ^(.*)$ login.php [F,L] + + +# --------------------------------------------------------- +# Force www or no-www in URL +# Option 1: "www.yoursite.com" +# RewriteCond %{HTTP_HOST} ^yoursite\.com$ +# RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=301,L] +# Options 2: "yoursite.com" + +# RewriteCond %{HTTP_HOST} ^www\.yoursite\.com$ +# RewriteRule ^(.*)$ http://yoursite.com/$1 [R=301,L] + + +# --------------------------------------------------------- +# Compress using gzip + +# +# AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript +# + + +# --------------------------------------------------------- +# Main rewrites + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*)$ index.php?in=$1 [L,QSA] + + +# --------------------------------------------------------- +# Errors Screens + +errorDocument 404 error.php?type=404&filename=%{SCRIPT_FILENAME} +errorDocument 500 error.php?type=500 \ No newline at end of file diff --git a/.idea/.DS_Store b/.idea/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0ce5360e010fe7d53cf84ce4516a5e7049a73209 GIT binary patch literal 6148 zcmeH~O-chn5QVEWNWe{&F8d0(!4Sq1fg_U&3^B_c}{Q?h^*J78_wuyfHhnkDO!OCB_U$*a zlSX&KjU3r*X{nb5&3w3JNl9)`CZ@s8Xum&^D*u;5+DH*AORA%C;^<=X3N`9 z)+9gzB=AMR_J@LETBVMmzICATCjiv0(Qat_ofcZm0j*NUPnW--5~LwON!AgoB> G0t8MJ5-V%~ literal 0 HcmV?d00001 diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..9001211 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +dev \ No newline at end of file diff --git a/.idea/dev.iml b/.idea/dev.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/dev.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..d821048 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8662aa9 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8cc3e82 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..1876367 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,1012 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + 1437060902967 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..abda0f6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,633 @@ + ZENBERSHIP LICENSE + Copyright (C) 2013-2016 Castlamp, LLC + + http://www.zenbership.com/ + http://www.castlamp.com/ + + "Achieve membership nirvana with software that combines event planning, +CRM, a CMS, invoicing, subscription management, a store front, and secure +content delivery." + + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/admin/.DS_Store b/admin/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8aff318f20faa891df067bf4d2c9562c037d70c0 GIT binary patch literal 18436 zcmeHP4RjP&6}~qF*x4*(64GR|WMP{hA!&f5gr7)({45C+IHXM=2~fgjcSyF~?8e^&C&}zV~KkXJ%(p zw44H-9nS2Veed3v_uk(3?)~n)0{~#lNT?p52>={)vr={e z_Ov+>iziz-VV^9IB$P`Pq6?2IexgqFgsD45CZlx1HEnvnTu?Zp=)74KbLU;SP?+7cQW5p%zQqN4McOx+i~?vE())B>!P9LGva z+{I3xvs@~`!;%b~yRypbm2>3pIvo6Kb&c04Pm%);iGQ8H!0DAI%OPTBe`;Za(<$f5 z2}!grZKT#I@>;cZ`3maFA^$|}N~-cY9g?G>X)gU-bV(IWb>fN6?^2jgr~GQz3JU$u zSHt!2S-27IhWp_mcmke+XW{2?3|@sd;a_kPCu2UAU@4ZN7iZxdoQoG=EzZX!*oe#U zB3zDbxEe3UwYUy9VmJ2UX54}y+<}7_#>+8*BRGaTaTi{NpTJMyHFz!FgrCEk@fQ3t zenpHbhlv)uR*ORW#Cuh#I$@A1XPz@pE^uDfNdnZF3?xSqErIwJ{w*9*`qk%-Kypxf z?ux}C`g5Rv6Ny`&T+|wiCIjK95;w4J?WSKdHr5gwiG~teJ4Jup?5FLM&r>C}BM?MjchwOxjr?-6}Z_0iu_$KlAcj3fIsy8_u2$gTi8AAEGPvPmt+Mahp2 z`e5b*YiA||zv!880I&0@Ws_Qti;}Yv4`-!Pu%ZevP_R?IkC9W^q?Y5N6zqV49Z>zt zs3H{Pf1UVzoE)%8l-bYh3S?IxeFbJwm2Ptk#r*!zNHPd;^kDxToY>G7%GfqMSl>xz z_AuutYGQ@XH`-}J5)#=rQ3#O{x|0mjVHkwrHIZ0Q;0d<(CtXh5b5HV%bwuaH<&dz@ zylF=h88D1u;Dr}8Uc;;o?VZlL6nzfG^ck7zO|u!{lae4pUX1}hcH2=y8}+*1FlwjD z5rYv(+Ru~>ZZl6V;j1ttAZVT~UYd!ne=MOQF?dI_5zh&mxt?t1hQ+7PW>(kDBmuDd zAzC+mO$oJjsHiojtyK!ON_lR7(W*8Zc=`S@t8RSTVq!@;;5yHvqSa#zzDk8skp?8K z0CO{8lW3Ab(Kuns6A}ltf{W0iM5xjXS6P4V61UgkFd|>U;B%KtggZG57ByAU9Eq?d zN5j0vT_e>x2#gApEUFer^$tRy8d?^W4box%;N3$|B7D}NOR?xQFOpc2vj1iu_fe`I&glG>CqJ0bw!87nvI1Imp z<8T6g2fv5Ez+3QlcpCvFbfOEVVIj^WggXmoVNEY4@PnBnmgJfLJ;jL1Q zrLf`o+4UTNKJePsa_eW%Hx+DGTMk+Mq#^) zMD0-$w8L-&egiMSEAR%qL*g|BWh^H5iHF3?iytEQNj27x`(zO=#--eW;>T6k&K)S7 z*oB+81En8>sBj0$M=*{_?m!vGz2rXmB)L!aarenB`1$vCo*2a~rTc#6KgtBrAc`sd zm)>U5fw0fSm!{DZq|fJ(-r7ZXk~I5}MSmS9_Wg9@$&;)jkciI0k=0}*N46_t)@kz^ zGf<_p+as+7*}#tvrr{*6N$BX1Oos`b0-|MRiQ8>F zkH{Cwl-_KgTjEC(_pGv-$|^}{HttPjHPtneTWB`!Z)H{U7f5bRvvD^ot6bP1xpl=R z9J{P~X`|b1IT*PsmbERXQ5kfY!{%6d4=wf}d>fwRhs!VEIj+V20Dpo%b1n8Rd1#py zn@$H!0oP(aEXNA2#TN2ohH0^se|8%NkR2}(+>Lwi<6MggUo0IbcrV+N2L0t1-?dNt z20htq*@?pdQl7W1puOdch}=Y)>~ux}q*IInFugb1Cs6=E2sHbi9tDt0Q2@yt1t4Z) z6o6VYMgdx?yb|d#LmWUioF>#{--5^CM`Sep41O&%8N7?RBx1$r=4KMpWFibOkL$4y z^FRR8V{3RIfa$Rw)m&0=fCmDY9vkI>fW3G%=`j`v*r$d8PEC{92wqC39X%M_#>Lc@ zN=J7SP?`1I5!RVaUlxtW|K$J4M*+>lsmJ~z5Fp*0ARTT&+#KH;QMoNoR*Q2jZo4)n zJ?_4xHPgBqaO%yPCV$=(_3^a&R~5IpY|-R@hgKPNFdmCUI%0`13)J?e;zQP^9zzt? zfN0agu@r?pFukPAS5>p1p>f4A7L9ckxr#NtZq@e&Q-B9a1)$|z6lYBbw5-Kb>X~f; zw49;bQ<(y^yk?H8It6GsYprX(0nqZQde=e|pyic|T}v&1mRB$HEVl!+g>pgu%2JQV ztn#%ZLJ!DRq-yHKqeMrt7cK-ptb^^8I zPvDdI1AG>b;0b(13`@td*2wIu)NU`{sic70?8UaMef66Bi_c=QJwbLGPaP;OQKh$4 zxB5a6_&4T}{ct{s z=>kH&E6FTnu9Y_2fE_5XZyyP%z`jv(u?XzTj8ukwnXuk~H*%Zdi})onR_`Fk%K^Nf z953I*hwxE+j0^A~d=7t$FIj|loi-Oy;>%Rp3a`PUc=^X~aq0|ox=k@5oyn^3jI$1H z`?J^;mK+>2iss&8qXxE6XLT>vy_QumXlbFwRm%E>KRCZ|x-e$F z!)gwl)lxJoNA63`dWZif@32MaY_wk*MVj8TP?$6xyaZYN&y@Z-a23%QT`Kn&el1S%v_EY4k^JEza zL5k0h@H_;Irvq8E!Z^zeT&6kBylHdh{%vNMp--FnWuP?8u9Ew$CefV8cVo61bC`e3 zI2)D9H2R!tSX4o6F^u+LaFFT^E&3^7X)%o^cOT=?^FJ)(d5zkPDDtIn&dt6bXTL$9c(1sm55=ycs-GgLk?cK_={gcYjn&^&L zMt_yb1J%RZ?jYSoS(&*Q!^bWWHn&D#Tq`ajuN;kM29)Rx??sy*l z3jZLtOfiLFF2DvgJ^m6(iq}#Hc8b7@=tp<2oUe^Tlz1(b`i?N|(Y!_FrnVGnv5EIN z^W4ovPKx)PiFYup0Y7J<^Ayur4y)-b^7Q;^WZyZ{1AeTeym;-*SlHR(o2K-p{L;*iaXIW{VwsHz@VcZV)(0dpUQvl`} zdJp3;dHs%1&dMKowC{ED`mtyqQqD>~kM_-=oR#x=w6BVCRvIW6vxL$Lnkfv!-o{|Q zzdr6z36a16c1+&AH{=7pX4yfCY{ro8AjuhwO=!<3!b?6CKr9cB?agT=3*sx%7S^3OnFLI7F(FEs4g z{y9Yqu!+6@NAK`wdjJ1ypGJ0k*%ipH!24JM%=LHrTc`uf&Gz)>~Tb2LuncG1dt$JsMM8eVlqUIf$;eir|q_Wy$+i~r59t(>L!|3B+_ Ba3%l% literal 0 HcmV?d00001 diff --git a/admin/cp-classes/Facebook.class.php b/admin/cp-classes/Facebook.class.php new file mode 100644 index 0000000..bd04403 --- /dev/null +++ b/admin/cp-classes/Facebook.class.php @@ -0,0 +1,172 @@ +initSharedSession(); + } + } + + protected static $kSupportedKeys = + array('state', 'code', 'access_token', 'user_id'); + + protected function initSharedSession() + { + $cookie_name = $this->getSharedSessionCookieName(); + if (isset($_COOKIE[$cookie_name])) { + $data = $this->parseSignedRequest($_COOKIE[$cookie_name]); + if ($data && !empty($data['domain']) && + self::isAllowedDomain($this->getHttpHost(), $data['domain']) + ) { + // good case + $this->sharedSessionID = $data['id']; + + return; + } + // ignoring potentially unreachable data + } + // evil/corrupt/missing case + $base_domain = $this->getBaseDomain(); + $this->sharedSessionID = md5(uniqid(mt_rand(), true)); + $cookie_value = $this->makeSignedRequest( + array( + 'domain' => $base_domain, + 'id' => $this->sharedSessionID, + ) + ); + $_COOKIE[$cookie_name] = $cookie_value; + if (!headers_sent()) { + $expire = time() + self::FBSS_COOKIE_EXPIRE; + setcookie($cookie_name, $cookie_value, $expire, '/', '.' . $base_domain); + } else { + // @codeCoverageIgnoreStart + self::errorLog( + 'Shared session ID cookie could not be set! You must ensure you ' . + 'create the Facebook instance before headers have been sent. This ' . + 'will cause authentication issues after the first request.' + ); + // @codeCoverageIgnoreEnd + } + } + + /** + * Provides the implementations of the inherited abstract + * methods. The implementation uses PHP sessions to maintain + * a store for authorization codes, user ids, CSRF states, and + * access tokens. + */ + protected function setPersistentData($key, $value) + { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to setPersistentData.'); + + return; + } + $session_var_name = $this->constructSessionVariableName($key); + $_SESSION[$session_var_name] = $value; + } + + protected function getPersistentData($key, $default = false) + { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to getPersistentData.'); + + return $default; + } + $session_var_name = $this->constructSessionVariableName($key); + + return isset($_SESSION[$session_var_name]) ? + $_SESSION[$session_var_name] : $default; + } + + protected function clearPersistentData($key) + { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to clearPersistentData.'); + + return; + } + $session_var_name = $this->constructSessionVariableName($key); + unset($_SESSION[$session_var_name]); + } + + protected function clearAllPersistentData() + { + foreach (self::$kSupportedKeys as $key) { + $this->clearPersistentData($key); + } + if ($this->sharedSessionID) { + $this->deleteSharedSessionCookie(); + } + } + + protected function deleteSharedSessionCookie() + { + $cookie_name = $this->getSharedSessionCookieName(); + unset($_COOKIE[$cookie_name]); + $base_domain = $this->getBaseDomain(); + setcookie($cookie_name, '', 1, '/', '.' . $base_domain); + } + + protected function getSharedSessionCookieName() + { + return self::FBSS_COOKIE_NAME . '_' . $this->getAppId(); + } + + protected function constructSessionVariableName($key) + { + $parts = array('fb', $this->getAppId(), $key); + if ($this->sharedSessionID) { + array_unshift($parts, $this->sharedSessionID); + } + + return implode('_', $parts); + } +} diff --git a/admin/cp-classes/Gibberish.class.php b/admin/cp-classes/Gibberish.class.php new file mode 100644 index 0000000..0749781 --- /dev/null +++ b/admin/cp-classes/Gibberish.class.php @@ -0,0 +1 @@ + $row) { $s = (float)array_sum($row); foreach ($row as $k => $j) { $log_prob_matrix[$i][$k] = log($j / $s); } } // Find the probability of generating a few arbitrarily choosen good and // bad phrases. $good_lines = file($good_text_file); $good_probs = array(); foreach ($good_lines as $line) { array_push($good_probs, self::_averageTransitionProbability($line, $log_prob_matrix)); } $bad_lines = file($bad_text_file); $bad_probs = array(); foreach ($bad_lines as $line) { array_push($bad_probs, self::_averageTransitionProbability($line, $log_prob_matrix)); } // Assert that we actually are capable of detecting the junk. $min_good_probs = min($good_probs); $max_bad_probs = max($bad_probs); if ($min_good_probs <= $max_bad_probs) { return false; } // And pick a threshold halfway between the worst good and best bad inputs. $threshold = ($min_good_probs + $max_bad_probs) / 2; // save matrix return file_put_contents($lib_path, serialize(array( 'matrix' => $log_prob_matrix, 'threshold' => $threshold, ))) > 0; } public static function _averageTransitionProbability($line, $log_prob_matrix) { // Return the average transition prob from line through log_prob_mat. $log_prob = 1.0; $transition_ct = 0; $pos = array_flip(str_split(self::$_accepted_characters)); $filtered_line = str_split(self::_normalise($line)); $a = false; foreach ($filtered_line as $b) { if ($a !== false) { $log_prob += $log_prob_matrix[$pos[$a]][$pos[$b]]; $transition_ct += 1; } $a = $b; } # The exponentiation translates from log probs to probs. return exp($log_prob / max($transition_ct, 1)); } } \ No newline at end of file diff --git a/admin/cp-classes/ValidatorV2.class.php b/admin/cp-classes/ValidatorV2.class.php new file mode 100644 index 0000000..bf09e87 --- /dev/null +++ b/admin/cp-classes/ValidatorV2.class.php @@ -0,0 +1,915 @@ +. + * + * @author Castlamp + * @link http://www.castlamp.com/ + * @license Commercial + * @link http://www.castlamp.com/Framework/License + * @version v1.0 + * @project Ascad Framework + */ + +class ValidatorV2 +{ + + protected $data; + protected $rules; + protected $current_name; + protected $current_value; + protected $current_rule; + protected $conditions = array(); + protected $temp_value; + protected $only_if_match; + public $results; + public $errors; + public $ajax_errors; + public $api_errors; + public $error_found; + public $plain_english, $plain_english_hold; + public $final_data; + + + /** + * @param array $form_data Data we are working with. Generally POST array from a form. + * @param array $rules Array of supplemental rules for fields + * Options: email, date, phone, url, zip, postal_code, + * alpha, numeric, alphanumeric, minlength, + * maxlength, sanitize, nosymbols, zippostal, + * sanitize, badwords, censor, date, datetime, + * bool, fixed_values, timeframe, encode, basicsymbols,nosymbols + * Order in array: only_if:... First | required | Default last + * Example Array: + * $rules = array( + * 'email' => array('email','required'), + * 'phone' => array('phone'), + * 'state' => array('fixed_values:"option 1","option 2","etc."'), + * 'about_me' => array('only_if:field=value','sanitize','minlength:25','maxlength:100'), + * ); + * So when building $rules, you need to put ALL possible rules, and have conditions + * remove them if they don't need to be validated. + */ + function __construct($form_data, $rules = array(), $options = array()) + { + $this->form_data = $form_data; + $this->rules = $rules; + $this->conditions = $options; + $this->process(); + $this->clean_errors(); + } + + + /** + * Processes the form and runs + * all relevant rules. + */ + function process() + { + // Remove fields not in rules + $temp_rules = array(); + if (! empty($this->form_data)) { + foreach ($this->form_data as $name => $value) { + // Remove any field that was submitted + // but isn't in the rules array. + //if (! array_key_exists($name, $this->rules)) { + // unset($this->rules[$name]); + // echo "
  • $name"; + //} + // Editing? Only use rules for fields + // that were submitted. + if ($this->conditions['edit'] == '1' && array_key_exists($name, $this->rules)) { + $temp_rules[$name] = $this->rules[$name]; + } + } + if ($this->conditions['edit'] == '1') { + $this->rules = $temp_rules; + } + // Loop submitted items. + foreach ($this->rules as $name => $value) { + $this->current_name = $name; + $this->current_value = $this->form_data[$name]; + //if (! empty($this->form_data[$name]) || $this->form_data[$name] == '0') { + $this->check_rules(); + //} + } + } + /* + foreach ($this->form_data as $name => $value) { + $this->current_name = $name; + $this->current_value = $value; + $this->check_rules(); + } + */ + // Empty? + $this->set_default(); + } + + + /** + * Checks if a field is required, + * and if it is, adds the error. + */ + function check_rules() + { + // Loop rules array + if (array_key_exists($this->current_name, $this->rules)) { + $removed = 0; + $rules = $this->rules[$this->current_name]; + if (in_array('required', $this->rules[$this->current_name])) { + $req = '1'; + } else { + $req = '0'; + } + foreach ($rules as $aRule) { + // Reset temp + $this->temp_hold = ''; + // Special rules? + $opt = explode(':', $aRule); + if (! empty($opt['1'])) { + if ($opt['0'] == 'only_if') { + $aRule = 'only_if'; + $this->temp_hold = $opt['1']; + $this->only_if_match = $opt['2']; + $removed = $this->only_if(); + } + else if ($opt['0'] == 'before') { + $aRule = 'before'; + $this->temp_hold = $opt['1']; + } + else if ($opt['0'] == 'after') { + $aRule = 'after'; + $this->temp_hold = $opt['1']; + } + else if ($opt['0'] == 'maxlength') { + $aRule = 'maxlength'; + $this->temp_hold = $opt['1']; + } + else if ($opt['0'] == 'minlength') { + $aRule = 'minlength'; + $this->temp_hold = $opt['1']; + } + else if ($opt['0'] == 'fixed_values') { + $aRule = 'fixed_values'; + $remove_first = array_shift($opt); + $csv_line = implode(':',$opt); + //$this->temp_hold = str_getcsv($csv_line,','); + $this->temp_hold = array(); + $csv = explode(',', $csv_line); + foreach ($csv as $item) { + $this->temp_hold[] = trim($item,'"'); + } + } + } + // We only want to run rules if the field + // is required or if the field has a value. + if ($removed != '1') { + if ($req == '1' || ! empty($this->current_value)) { + $this->current_rule = $aRule; + $this->check_individual_rule(); + } + } + } + } + // Complete the process. + $this->final_data[$this->current_name] = $this->current_value; + } + + + /** + * Set a default, if any + * Fills the array with any item that + * has a default value set in the rules. + */ + function set_default() + { + if (empty($this->conditions['skip_default'])) { + foreach ($this->rules as $name => $value) { + if (empty($this->form_data[$name]) && $this->form_data[$name] != '0') { + foreach ($value as $item) { + if (strpos($item,'default:') !== false) { + $get = substr($item,8); + if ($get == 'now') { + $this->final_data[$name] = current_date(); + } else { + $this->final_data[$name] = $get; + } + } + } + } + } + } + } + + + /** + * Get default if any + */ + function get_default() + { + foreach ($this->rules[$this->current_name] as $rule_dets) { + //foreach ($rule_dets as $item) { + if (strpos($rule_dets,'default:') !== false) { + return substr($rule_dets,8); + } + //} + } + return ''; + } + + + /** + * Route the rule check. + */ + function check_individual_rule() + { + switch($this->current_rule) + { + case 'sanitize': + $this->current_value = filter_var($this->current_value, FILTER_SANITIZE_STRING); + break; + case 'badwords': + $this->curse_words(); + break; + case 'censor': + $this->censor_curse_words(); + break; + case 'bool': + $this->check_bool(); + break; + case 'date': + $this->check_date(); + break; + case 'datetime': + $this->check_datetime(); + break; + case 'price': + $this->check_price(); + break; + case 'fixed_values': + $this->fixed_values(); + break; + case 'check_future': + $this->check_future(); + break; + case 'email': + $this->check_email(); + break; + case 'before': + $this->before(); + break; + case 'after': + $this->after(); + break; + case 'phone': + $this->phone(); + break; + case 'url': + $this->check_url(); + break; + case 'zip': + $this->zip(); + break; + case 'postal_code': + $this->postal_code(); + break; + case 'alpha': + $this->alpha(); + break; + case 'numeric': + $this->numeric(); + break; + case 'alphanumeric': + $this->alphanumeric(); + break; + case 'nosymbols': + $this->nosymbols(); + break; + case 'basicsymbols': + $this->basicsymbols(); + break; + case 'minlength': + $this->minlength(); + break; + case 'maxlength': + $this->maxlength(); + break; + case 'zippostal': + $this->zippostal(); + break; + case 'required': + $this->check_required(); + break; + case 'timeframe': + $this->check_timeframe(); + break; + case 'encode': + $this->encode(); + break; + } + } + + + /** + * Validates a phone number. + */ + function phone() + { + // Disabled until an appropriate international-friendly regex can be found. + /* + if (! preg_match('/^[0-9]{10,11}+$/',$this->current_value) && ! preg_match('/^([1]-)?[0-9]{3}-[0-9]{3}-[0-9]{4}$/i',$this->current_value)) { + $this->apply_error(); + } + */ + } + + + function before() + { + if ($this->current_value >= $this->form_data[$this->temp_hold]) { + $this->apply_error(); + } + } + + function after() + { + if ($this->current_value <= $this->form_data[$this->temp_hold]) { + $this->apply_error(); + } + } + + + /** + * Throws an error if a curse + * words is detected. + */ + function curse_words() + { + $curse_words = $this->curse_array(); + foreach ($curse_words as $word) { + $pattern = '/^' . $word . '/'; + if (preg_match($pattern,$this->current_value)) { + $this->apply_error(); + } + } + } + + + /** + * Check a price format + */ + function check_price() + { + if (! is_numeric($this->current_value)) { + $this->apply_error(); + } else { + $this->current_value = number_format($this->current_value, 2, '.', ''); + } + } + + + /** + * Checks if date was submitted in the + * proper YYYY-MM-DD format. + */ + function check_date() + { + if (preg_match("/^(\d{4})-(\d{2})-(\d{2})$/", $this->current_value, $matches)) { + if (! checkdate($matches[2], $matches[3], $matches[1])) { + $this->apply_error(); + } + } + } + + /** + * Checks bool + */ + function check_bool() + { + $lower = strtolower($this->current_value); + if ($lower == '1' || $lower == '0' || $lower == 'true' || $lower == 'false' || $lower == 'y' || $lower == 'n') { + if ($lower == 'y' || $lower == 'true' || $lower == '1') { + $this->current_value = '1'; + } + else if ($lower == 'n' || $lower == 'false' || $lower == '0') { + $this->current_value = '0'; + } + } else { + $this->apply_error(); + } + } + + + /** + * Check if entry matches a fixed value. + */ + function fixed_values() + { + if (! in_array($this->current_value,$this->temp_hold)) { + $this->apply_error(); + //$this->form_data[$this->current_name] = $this->get_default(); + //$this->final_data[$this->current_name] = $this->get_default(); + $this->current_value = $this->get_default(); + } + } + + + /** + * Only if cases + * If another field matches a fixed value, + * keep going, otherwise clear the field's + * rules and set the value to nothing. + */ + function only_if() + { + if (substr($this->only_if_match,0,2) == '!=') { + $check = substr($this->only_if_match,2); + if ($this->form_data[$this->temp_hold] != $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else if (substr($this->only_if_match,0,2) == '>=') { + $check = substr($this->only_if_match,2); + if ($this->form_data[$this->temp_hold] >= $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else if (substr($this->only_if_match,0,2) == '<=') { + $check = substr($this->only_if_match,2); + if ($this->form_data[$this->temp_hold] <= $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else if (substr($this->only_if_match,0,1) == '=') { + $check = substr($this->only_if_match,1); + if ($this->form_data[$this->temp_hold] == $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else if (substr($this->only_if_match,0,1) == '>') { + $check = substr($this->only_if_match,1); + if ($this->form_data[$this->temp_hold] > $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else if (substr($this->only_if_match,0,1) == '<') { + $check = substr($this->only_if_match,1); + if ($this->form_data[$this->temp_hold] < $check) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + else { + if ($this->form_data[$this->temp_hold] == $this->only_if_match) { + return '0'; + } else { + $this->current_value = ''; + unset($this->rules[$this->current_name]); + return '1'; + } + } + } + + + /** + * Checks if date was submitted in the + * proper YYYY-MM-DD HH:MM:SS format + */ + function check_datetime() + { + $good = '0'; + if (preg_match("/^(\d{4})-(\d{2})-(\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $this->current_value, $matches)) { + if (! checkdate($matches[2], $matches[3], $matches[1])) { + $this->apply_error(); + } + } + } + + /** + * Checks if date is in future + */ + function check_future() + { + if (strtotime($this->current_value) <= time()) { + $this->apply_error(); + } + } + + /** + * Detects and censors curse words. + */ + function censor() + { + $curse_words = $this->curse_array(); + preg_replace($curse_words, '****', $this->current_value); + } + + + /** + * Validates a zip code. + */ + function zip() + { + if ( + ! preg_match('/^[0-9]{5}+$/',$this->current_value) && + ! preg_match('/^[0-9]{5}-[0-9]{4}+$/',$this->current_value) + ) { + $this->apply_error(); + } + } + + + /** + * Validates a zip or postal code. + */ + function zippostal() + { + if ( ! preg_match('/^[0-9]{5}+$/',$this->current_value) && ! preg_match('/^[0-9]{5}-[0-9]{4}+$/',$this->current_value) && ! preg_match('/^([a-ceghj-npr-tv-z]){1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}[a-ceghj-npr-tv-z]{1}[0-9]{1}$/i',$this->current_value) ) { + $this->apply_error(); + } + } + + + /** + * Validates a postal code. + */ + function postal_code() + { + if (! preg_match('/^[A-Z]{1}[0-9]{1}){3}+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Check a timeframe + * Format yymmddhhmmss + */ + function check_timeframe() + { + if (! is_numeric($this->current_value) || strlen($this->current_value) != '12') { + $this->apply_error(); + } + } + + /** + * Encode a string. + */ + function encode() + { + $this->current_value = encode_data($this->current_value); + } + + + /** + * Only allows alpha-numeric. + */ + function alphanumeric() + { + if (! preg_match('/^[A-Za-z0-9]+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Only allows alpha-numeric, periods, underscores, dashes, and spaces. + */ + function basicsymbols() + { + if (! preg_match('/^[A-Za-z0-9.\(\)_\- ]+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Only allows alpha-numeric and spaces. + */ + function nosymbols() + { + if (! preg_match('/^[A-Za-z0-9 ]+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Only allows int. + */ + function int() + { + if (! preg_match('/^[0-9]+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Only allows numeric. + */ + function numeric() + { + if (! is_numeric($this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Only allows alpha. + */ + function alpha() + { + if (! preg_match('/^[A-Za-z]+$/',$this->current_value)) { + $this->apply_error(); + } + } + + + /** + * Checks minimum length. + */ + function minlength() + { + //$options = explode(':',$this->current_rule); + if (strlen($this->current_value) < $this->temp_hold) { + $this->apply_error(); + } + } + + + /** + * Checks maximum length. + */ + function maxlength() + { + //$options = explode('=',$this->current_rule); + if (strlen($this->current_value) > $this->temp_hold) { + $this->apply_error(); + } + } + + + /** + * Checks if a field is required, + * and if it is, adds the error. + */ + function check_required() + { + $check = trim($this->current_value); + if (empty($check) && $check != '0') { + $this->apply_error(); + } + } + + + /** + * Validates a URL. + */ + function check_url() + { + if (! filter_var($this->current_value, FILTER_VALIDATE_URL)) { + $this->apply_error(); + } + } + + + /** + * Validates an email. + */ + function check_email() + { + if (! filter_var($this->current_value, FILTER_VALIDATE_EMAIL)) { + $this->apply_error(); + } + } + + + /** + * Add an error to the array/list of errors. + */ + function apply_error($option = '') + { + // Possible errors + $use_error = $this->get_error(); + $use_ajax_error = $this->get_ajax_error(); + // Prepare replacements for + // this error. + $find = array( + '%name%', + '%option%', + ); + $replace = array( + $this->pretty_names($this->current_name), + $option, + ); + // Apply error + $this->error_found = '1'; + $this->errors[$this->current_name][$this->current_rule] = '1'; + $this->ajax_errors[$this->current_name][$this->current_rule] = str_replace($find, $replace, $use_ajax_error); + $this->api_errors .= '; ' . str_replace($find, $replace, $use_error); + $this->plain_english_hold .= '
  • ' . str_replace($find, $replace, $use_error) . '
  • '; + } + + + /** + * Gets a readable error. + */ + function get_error() + { + $error_array = array( + 'required' => '%name% is required.', + 'email' => '%name% is not a valid email.', + 'bool' => '%name% must be a valid boolean.', + 'date' => '%name% is not a valid date.', + 'basicsymbols' => '%name% must contain letters, numbers, spaces, or dashes only.', + 'before' => '%name% must be before ' . $this->temp_hold . '.', + 'after' => '%name% must be after ' . $this->temp_hold . '.', + 'phone' => '%name% is not a valid phone number.', + 'url' => '%name% is not a valid URL. Accepted format is "http://www.yoursite.com/".', + 'fixed_values' => '%name% is not an acceptable value for this field.', + 'zip' => '%name% is not a properly formatted zip code. Accepted format is "12345".', + 'postal_code' => '%name% is not a properly formatted postal code.', + 'zippostal' => '%name% is not a properly formatted zip code or postal code. Accepted formats are "12345" or "A1B2C3".', + 'alpha' => '%name% must consist of letters only.', + 'numeric' => '%name% must be numeric.', + 'int' => 'Must be an integer.', + 'alphanumeric' => '%name% must be alpha-numeric.', + 'minlength' => '%name% must be longer than %option% characters.', + 'maxlength' => '%name% cannot be greater than %option% characters.', + 'nosymbols' => '%name% can only contain letters, numbers, and spaces.', + 'badwords' => 'Inappropriate language is not permitted.', + 'date' => 'Date must be a valid YYYY-MM-DD format', + 'datetime' => 'Date and time must be in a valid YYYY-MM-DD HH:MM:SS format.', + 'price' => '%name% must be a valid price.', + 'timeframe' => '%name% must be a valid timeframe (yymmddhhmmss).', + ); + return $error_array[$this->current_rule]; + } + + + /** + * Gets a readable error for ajax + * context. Often don't need or + * want the field name in there. + */ + function get_ajax_error() + { + $error_ajax_array = array( + 'required' => 'Required.', + 'email' => 'This is not a valid email.', + 'bool' => '%name% must be a valid boolean.', + 'before' => '%name% must be before ' . $this->temp_hold . '.', + 'after' => '%name% must be after ' . $this->temp_hold . '.', + 'date' => 'This is not a valid date.', + 'basicsymbols' => '%name% must contain letters, numbers, spaces, or dashes only.', + 'fixed_values' => '%name% is not an acceptable value for this field.', + 'phone' => 'This is not a valid phone number.', + 'url' => 'This is not a valid URL.', + 'zip' => 'This is not a properly formatted zip code.', + 'postal_code' => 'This is not a properly formatted postal code.', + 'zippostal' => 'This is not a properly formatted zip code or postal code.', + 'alpha' => 'Must consist of letters only.', + 'numeric' => 'Must be numeric.', + 'int' => 'Must be an integer.', + 'alphanumeric' => 'Must be alpha-numeric.', + 'minlength' => 'Must be longer than %option% characters.', + 'maxlength' => 'Cannot be greater than %option% characters.', + 'nosymbols' => 'Can only contain letters, numbers, and spaces.', + 'badwords' => 'Inappropriate language is not permitted.', + 'date' => 'Date must be a valid YYYY-MM-DD format', + 'datetime' => 'Date and time must be in a valid YYYY-MM-DD HH:MM:SS format.', + 'check_future' => 'Date must be in the future.', + 'price' => '%name% must be a valid price.', + 'timeframe' => '%name% must be a valid timeframe (yymmddhhmmss).', + ); + return $error_ajax_array[$this->current_rule]; + } + + + /** + * Returns an array of curse words. + */ + function curse_array() + { + return array( + 'ahole','anus','ash0le','ash0les','asholes','ass','Ass Monkey', + 'Assface','assh0le','assh0lez','asshole','assholes','assholz', + 'asswipe','azzhole','bassterds','bastard','bastards','bastardz', + 'basterds','basterdz','Biatch','bitch','bitches','Blow Job','boffing', + 'butthole','buttwipe','c0ck','c0cks','c0k','Carpet Muncher','cawk', + 'cawks','Clit','cnts','cntz','cock','cockhead','cock-head','cocks', + 'CockSucker','cock-sucker','crap','cum','cunt','cunts','cuntz','dick', + 'dild0','dild0s','dildo','dildos','dilld0','dilld0s','dominatricks', + 'dominatrics','dominatrix','dyke','enema','f u c k','f u c k e r','fag', + 'fag1t','faget','fagg1t','faggit','faggot','fagit','fags','fagz','faig', + 'faigs','fart','flipping the bird','fuck','fucker','fuckin','fucking', + 'fucks','Fudge Packer','fuk','Fukah','Fuken','fuker','Fukin','Fukk', + 'Fukkah','Fukken','Fukker','Fukkin','g00k','gay','gayboy','gaygirl', + 'gays','gayz','God-damned','h00r','h0ar','h0re','hells','hoar','hoor', + 'hoore','jackoff','jap','japs','jerk-off','jisim','jiss','jizm','jizz', + 'knob','knobs','knobz','kunt','kunts','kuntz','Lesbian','Lezzian','Lipshits', + 'Lipshitz','masochist','masokist','massterbait','masstrbait','masstrbate', + 'masterbaiter','masterbate','masterbates','Motha Fucker','Motha Fuker', + 'Motha Fukkah','Motha Fukker','Mother Fucker','Mother Fukah','Mother Fuker', + 'Mother Fukkah','Mother Fukker','mother-fucker','Mutha Fucker','Mutha Fukah', + 'Mutha Fuker','Mutha Fukkah','Mutha Fukker','n1gr','nastt','nigger;','nigur;', + 'niiger;','niigr;','orafis','orgasim;','orgasm','orgasum','oriface','orifice', + 'orifiss','packi','packie','packy','paki','pakie','paky','pecker','peeenus', + 'peeenusss','peenus','peinus','pen1s','penas','penis','penis-breath','penus', + 'penuus','Phuc','Phuck','Phuk','Phuker','Phukker','polac','polack','polak', + 'Poonani','pr1c','pr1ck','pr1k','pusse','pussee','pussy','puuke','puuker', + 'queer','queers','queerz','qweers','qweerz','qweir','recktum','rectum', + 'retard','sadist','scank','schlong','screwing','semen','sex','sexy', + 'Sh!t','sh1t','sh1ter','sh1ts','sh1tter','sh1tz','shit','shits','shitter', + 'Shitty','Shity','shitz','Shyt','Shyte','Shytty','Shyty','skanck','skank', + 'skankee','skankey','skanks','Skanky','slut','sluts','Slutty','slutz', + 'son-of-a-bitch','tit','turd','va1jina','vag1na','vagiina','vagina','vaj1na', + 'vajina','vullva','vulva','w0p','wh00r','wh0re','whore','xrated','xxx','b!\+ch', + 'bitch','blowjob','clit','arschloch','fuck','shit','ass','asshole','b!tch', + 'b17ch','b1tch','bastard','bi\+ch','boiolas','buceta','c0ck','cawk','chink', + 'cipa','clits','cock','cum','cunt','dildo','dirsa','ejakulate','fatass','fcuk', + 'fuk','fux0r','hoer','hore','jism','kawk','l3itch','l3i\+ch','lesbian','masturbate', + 'masterbat\*','masterbat3','motherfucker','s.o.b.','mofo','nazi','nigga','nigger', + 'nutsack','phuck','pimpis','pusse','pussy','scrotum','sh!t','shemale','shi\+','sh!\+', + 'slut','smut','teets','tits','boobs','b00bs','teez','testical','testicle','titt', + 'w00se','jackoff','wank','whoar','whore','\*damn','\*dyke','\*fuck\*','\*shit\*','@$$', + 'amcik','andskota','arse\*','assrammer','ayir','bi7ch','bitch\*','bollock\*','breasts', + 'butt-pirate','cabron','cazzo','chraa','chuj','Cock\*','cunt\*','d4mn','daygo', + 'dego','dick\*','dike\*','dupa','dziwka','ejackulate','Ekrem\*','Ekto','enculer', + 'faen','fag\*','fanculo','fanny','feces','feg','Felcher','ficken','fitt\*','Flikker', + 'foreskin','Fotze','Fu\(\*','fuk\*','futkretzn','gay','gook','guiena','h0r','h4x0r', + 'hell','helvete','hoer\*','honkey','Huevon','hui','injun','jizz','kanker\*','kike', + 'klootzak','kraut','knulle','kuk','kuksuger','Kurac','kurwa','kusi\*','kyrpa\*','lesbo', + 'mamhoon','masturbat\*','merd\*','mibun','monkleigh','mouliewop','muie','mulkku','muschi', + 'nazis','nepesaurio','nigger\*','orospu','paska\*','perse','picka','pierdol\*','pillu\*', + 'pimmel','piss\*','pizda','poontsee','poop','porn','p0rn','pr0n','preteen','pula', + 'pule','puta','puto','qahbeh','queef\*','rautenberg','schaffer','scheiss\*','schlampe', + 'schmuck','screw','sh!t\*','sharmuta','sharmute','shipal','shiz','skribz','skurwysyn', + 'sphencter','spic','spierdalaj','splooge','suka','b00b\*','testicle\*','titt\*','twat', + 'vittu','wank\*','wetback\*','wichser','wop\*','yed','zabourah' + ); + } + + + /** + * Takes a field name and makes it + * more readable. + */ + function pretty_names($name) + { + return ucwords(str_replace('_',' ',$name)); + } + + + function clean_errors() + { + if (! empty($this->plain_english_hold)) { + $this->plain_english = '
      '; + $this->plain_english .= $this->plain_english_hold; + $this->plain_english .= '
    '; + } + if (! empty($this->api_errors)) { + $this->api_errors = substr($this->api_errors,2); + } + } + +} diff --git a/admin/cp-classes/account.class.php b/admin/cp-classes/account.class.php new file mode 100644 index 0000000..03ae80d --- /dev/null +++ b/admin/cp-classes/account.class.php @@ -0,0 +1 @@ +. * * @author Castlamp * @link http://www.castlamp.com/ * @link http://www.zenbership.com/ * @copyright (c) 2013-2016 Castlamp * @license http://www.gnu.org/licenses/gpl-3.0.en.html * @project Zenbership Membership Software */ class account extends db { /** * Account functions */ function get_account($id, $recache = '0') { $cache = $this->get_cache($id); if ($cache['error'] != '1' && $recache != '1') { $q1 = $cache['data']; } else { if ($id == 'default') { $add_where = "ppSD_accounts.default='1'"; } else if ($id == 'campaign_default') { $add_where = "ppSD_accounts.default='4'"; } else if ($id == 'member_default') { $add_where = "ppSD_accounts.default='3'"; } else { $add_where = " ppSD_accounts.id='" . $this->mysql_clean($id) . "'"; } // Primary data $q1 = $this->get_array(" SELECT * FROM `ppSD_accounts` JOIN `ppSD_account_data` ON ppSD_accounts.id=ppSD_account_data.account_id WHERE " . $add_where); if (empty($q1)) { return array( 'error' => '1', 'error_message' => 'Member not found.', 'name' => '', 'id' => '', ); } foreach ($q1 as $key => $value) { if ($this->field_encryption($key)) { $q1[$key] = decode($value); } } // Profile Picture if (!empty($q1['facebook'])) { $fb = $q1['facebook']; } else { $fb = ''; } if (!empty($q1['twitter'])) { $twitter = $q1['twitter']; } else { $twitter = ''; } $q1['profile_pic'] = $this->get_profile_pic($q1['id'], $fb, $twitter, 'account'); /* // Notes $notes = new notes; $thenotes = $notes->get_notes($id); $q1['notes'] = $thenotes; */ // Cache the data $cache = $this->add_cache($id, $q1); } // ------------------------------------------- // Items cached elsewhere // Files $uploads = new uploads; $theups = $uploads->get_uploads($id); //$q1['profile_picture_id'] = $theups['profile_picture_id']; //$q1['profile_picture'] = $theups['profile_picture']; $q1['uploads'] = $theups['uploads']; // Source if (!empty($q1['source'])) { $st = new source; $source = $st->get_source($q1['source']); $q1['source'] = $source; } else { $q1['source'] = array('id' => '', 'source' => ''); } if (!empty($q1['owner'])) { $admin = new admin; $owner = $admin->get_employee('', $q1['owner']); $q1['owner'] = $owner; } else { $q1['owner'] = array( 'id' => '2', 'username' => 'system', ); } // Master user? if (!empty($q1['master_user'])) { $member = new user; $check_it = $member->get_username($q1['master_user']); $mem_data['id'] = $q1['master_user']; $mem_data['username'] = $check_it; } else { $mem_data['id'] = ''; $mem_data['username'] = ''; } $q1['master'] = $mem_data; // Stats $stats = array(); $qA1 = $this->get_array(" SELECT COUNT(*) FROM `ppSD_members` WHERE `account`='" . $this->mysql_clean($id) . "' "); $qA2 = $this->get_array(" SELECT COUNT(*) FROM `ppSD_contacts` WHERE `account`='" . $this->mysql_clean($id) . "' "); $stats['members'] = $qA1['0']; $stats['contacts'] = $qA2['0']; $q1['stats'] = $stats; /* // Owner $admin = new admin; $owner = $admin->get_employee('',$q1['owner']); $q1['owner'] = $owner; */ return $q1; } function members_in_account($id) { $q1 = $this->run_query(" SELECT `id`,`username`,`status` FROM `ppSD_members` WHERE `account`='" . $this->mysql_clean($id) . "' "); $members = array(); while ($row = $q1->fetch()) { $members[] = $row; } return $members; } function contacts_in_account($id) { $q1 = $this->run_query(" SELECT `id` FROM `ppSD_contacts` WHERE `account`='" . $this->mysql_clean($id) . "' "); $contacts = array(); while ($row = $q1->fetch()) { $contacts[] = $row; } return $contacts; } function reassign($id, $new_owner) { global $employee; if ($employee['permissions']['admin'] == '1') { $q1 = $this->update(" UPDATE `ppSD_accounts` SET `owner`='" . $this->mysql_clean($new_owner) . "' WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); $q1 = $this->update(" UPDATE `ppSD_contacts` SET `owner`='" . $this->mysql_clean($new_owner) . "' WHERE `account`='" . $this->mysql_clean($id) . "' "); $q1 = $this->update(" UPDATE `ppSD_members` SET `owner`='" . $this->mysql_clean($new_owner) . "' WHERE `account`='" . $this->mysql_clean($id) . "' "); } } function get_name($id) { $q1 = $this->get_array(" SELECT `name` FROM `ppSD_accounts` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); return $q1['name']; } /** * Create a contact */ function create($data, $id = '') { global $employee; if (empty($id)) { $id = strtoupper(generate_id('random', '10')); } $task_name = 'account_create'; $task_id = $this->start_task($task_name, 'user', '', $id); // Prepare stuff... $primary = array('source', 'owner', 'status', 'name'); $ignore = array('type', 'id', 'edit', 'created', 'last_updated', 'last_updated_by', 'last_action'); // Scope fields $final_data = array(); $scope_fields = $this->fields_in_scope('account'); foreach ($data as $item => $value) { if (in_array($item, $scope_fields)) { $final_data[$item] = $value; } } $admin = new admin; $query_form = $admin->query_from_fields($final_data, 'add', $ignore, $primary); $insert_fields2 = $query_form['if2']; $insert_values2 = $query_form['iv2']; $query_formA = $admin->query_from_fields($data, 'add', $ignore, $primary); $insert_fields1 = $query_formA['if1']; $insert_values1 = $query_formA['iv1']; // Potentially empty stuff if (empty($data['created'])) { $final_data['created'] = current_date(); } // Owner checks if (empty($data['owner'])) { if (!empty($employee['id'])) { $final_data['owner'] = $employee['id']; } else { $final_data['owner'] = '0'; // 2 } } if (empty($final_data['source'])) { $frequency = '000014000000'; } else { $frequency = $final_data['contact_frequency']; } $q = $this->insert(" INSERT INTO `ppSD_accounts` ( `id`, `contact_frequency`, `created`, `last_updated`, `last_updated_by`, `last_action`, `status` $insert_fields1 ) VALUES ( '" . $this->mysql_clean($id) . "', '" . $this->mysql_clean($frequency) . "', '" . current_date() . "', '" . current_date() . "', '2', '" . current_date() . "', '1' $insert_values1 ) "); $q1 = $this->insert(" INSERT INTO `ppSD_account_data` (`account_id`$insert_fields2) VALUES ('" . $this->mysql_clean($id) . "'$insert_values2) "); $put = 'accounts'; $this->put_stats($put); $indata = array( 'account_id' => $id, 'data' => $data, ); $task = $this->end_task($task_id, '1', '', $task_name, '', $indata); return array('error' => '', 'error_details' => '', 'id' => $id); } function find_account_by_name($name) { $q = $this->get_array(" SELECT `id` FROM `ppSD_accounts` WHERE `name`='" . $this->mysql_clean($name) . "' LIMIT 1 "); return $q; } function get_account_name($id) { $q = $this->get_array(" SELECT `name` FROM `ppSD_accounts` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); return $q['name']; } function check_account($id) { $q = $this->get_array(" SELECT COUNT(*) FROM `ppSD_accounts` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); return $q['0']; } /** * Get account data based on the * account that a contact belongs to. */ function get_account_from_contact($contact_id) { $q = $this->get_array(" SELECT ppSD_accounts.*, ppSD_contacts.type FROM ppSD_contacts JOIN ppSD_accounts ON ppSD_contacts.account=ppSD_accounts.id WHERE ppSD_contacts.id='" . $this->mysql_clean($contact_id) . "' LIMIT 1 "); return $q; } } \ No newline at end of file diff --git a/admin/cp-classes/admin.class.php b/admin/cp-classes/admin.class.php new file mode 100644 index 0000000..04d690b --- /dev/null +++ b/admin/cp-classes/admin.class.php @@ -0,0 +1 @@ +. * * @author Castlamp * @link http://www.castlamp.com/ * @link http://www.zenbership.com/ * @copyright (c) 2013-2016 Castlamp * @license http://www.gnu.org/licenses/gpl-3.0.en.html * @project Zenbership Membership Software */ class admin extends db { /** * Generate a pagination based on * the current page that a user is * viewing. */ /* function pagination($total_entries,$display = '50',$current_page = '1') { if (empty($display)) { $display = 50; } if (empty($current_page)) { $current_page = 1; } $total_pages = ceil($total_entries / $display); $start_page = $current_page - 4; if ($start_page < 0) { $start_page = 1; } $final_pages = ''; $cur_page = $start_page; $hold_total = 0; while ($hold_total < 8) { if ($cur_page == $total_pages) { $final_pages .= "$cur_page"; break; } else { if ($current_page == $cur_page) { $class = 'on'; } else { $class = ''; } $final_pages .= "$cur_page"; } $hold_total++; $cur_page++; } $low = $current_page * $display - $display; $returned = array( 'display' => $display, 'page' => $current_page, 'pagination' => $final_pages, 'total_pages' => $total_pages, 'low' => $low ); return $returned; } */ /** * Product List */ function product_list($selected = '', $subs_only = '0') { if ($subs_only == '1') { $where = " WHERE `type`!='1' AND `associated_id`='' AND `hide_in_admin`!='1'"; } else { $where = " WHERE `associated_id`='' AND `hide_in_admin`!='1'"; } $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_products` $where ORDER BY `name` ASC "); $list = ''; if (empty($selected)) { $list .= ""; } else { $list .= ""; } while ($row = $STH->fetch()) { if ($selected == $row['id']) { $list .= ""; } else { $list .= ""; } } return $list; } function get_plugins() { $q1 = $this->run_query(" SELECT `id`,`name` FROM `ppSD_widgets` WHERE `type`='plugin' ORDER BY `name` ASC "); $list = ''; $found = 0; while ($row = $q1->fetch()) { $found++; $list .= '
  • ' . $row['name'] . '
  • '; } if ($found <= 0) { $list = '
  • No plugins installed.
  • '; } return $list; } function get_favorites($employee) { $q1 = $this->run_query(" SELECT `id` FROM `ppSD_favorites` WHERE `owner`='" . $this->mysql_clean($employee) . "' ORDER BY `date` DESC "); $list = ''; $found = 0; while ($row = $q1->fetch()) { $found++; $list .= $this->render_favorite($row['id']); } if ($found <= 0) { $list = '
  • No favorites found.
  • '; } return $list; } function member_types($selected = '', $type = 'select') { $q1 = $this->run_query(" SELECT `id`,`name` FROM `ppSD_member_types` ORDER BY `order` ASC "); $list = ''; $found = 0; while ($row = $q1->fetch()) { $found++; if ($type == 'list') { $list .= '
  • ' . $row['name'] . '
  • '; } else { if ($selected == $row['id']) { $list .= ''; } else { $list .= ''; } } } return $list; } function check_favorite($employee, $type, $id) { $find = $this->get_array(" SELECT COUNT(*) FROM `ppSD_favorites` WHERE `owner`='" . $this->mysql_clean($employee) . "' AND `user_type`='" . $this->mysql_clean($type) . "' AND `user_id`='" . $this->mysql_clean($id) . "' "); return $find['0']; } function render_favorite($id) { $get = $this->get_favorite($id); if (!empty($get['id'])) { if ($get['user_type'] == 'member') { $member = new user; $name = $member->get_username($get['user_id']); $link = "" . $name . ""; } else if ($get['user_type'] == 'contact') { $contact = new contact; $name = $contact->get_name($get['user_id']); $link = "" . $name . ""; } else { $account = new account; $name = $account->get_account_name($get['user_id']); $link = "" . $name . ""; } return '
  • ' . $link . '
  • '; } } function get_favorite($id) { $q1 = $this->get_array(" SELECT * FROM `ppSD_favorites` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); return $q1; } function employee_notes($page = '1', $display = '10', $label = '') { global $employee; $low = $page * $display - $display; $exp = explode(' ', current_date()); $today = $exp['0']; $seven_days = strtotime(current_date()) + 604800; $q1 = $this->run_query(" SELECT `id`,`name`,`deadline`,`note`,`user_id`,`item_scope`,`label`,`added_by`,`date` FROM `ppSD_notes` WHERE `complete`!='1' AND `deadline`!='0000-00-00 00:00:00' AND `deadline`<='" . date('Y-m-d', $seven_days) . "' AND (`public`='2' OR `for`='" . $this->mysql_clean($employee['id']) . "' OR `added_by`='" . $this->mysql_clean($employee['id']) . "') ORDER BY `deadline` ASC LIMIT $low,$display "); // `deadline`>='" . $today . "' AND $list = ''; while ($row = $q1->fetch()) { $list .= $this->format_note($row); } if (empty($list)) { $list .= '
    No notes with a deadline today to display.
    '; } return $list; } function determine_note_link($act_id, $act_scope) { if ($act_scope == 'member') { $member = new user; $name = $member->get_username($act_id); } else if ($act_scope == 'account') { $account = new account; $name = $account->get_name($act_id); } else if ($act_scope == 'contact') { $contact = new contact; $name = $contact->get_name($act_id); } else { $name = 'View Item'; } return "" . $name . ""; } function format_note($row, $full = 0, $sm_icon = 0) { $attach = $this->get_note_attachments($row['id'], $sm_icon); $sp = new special_fields('misc'); $link = $this->determine_note_link($row['user_id'], $row['item_scope']); $note_plain = strip_tags($row['note']); if ($full == 1) { $fnote = $row['note']; } else { $length = strlen($note_plain); if ($length > 100) { $fnote = substr($note_plain, 0, 100) . '...'; } else { $fnote = $row['note']; } } $list = '
    '; //$list .= ''; if (!empty($row['label'])) { $label = $this->get_note_label($row['label']); $list .= '
    ' . $label['formatted'] . '
    '; } $list .= '

    Posted by ' . $sp->process('owner', $row['added_by']) . ' on ' . format_date($row['date']); if ($row['deadline'] != '0000-00-00 00:00:00') { $deaddif = date_difference($row['deadline']); $list .= '
    Deadline: ' . format_date($row['deadline']) . ' (' . $deaddif . ')'; } $list .= '
    Pertains to: ' . $link . '

    '; $list .= '

    '; $list .= '

    ' . $row['name'] . '

    ' . $fnote . '
    '; $list .= '
    '; $list .= '
    '; if ($attach['total'] > 0) { $list .= $attach['data']; } $list .= '
    '; return $list; } function get_note_attachments($id, $sm_icon = '0') { $q12 = $this->run_query(" SELECT `name`,`filename` FROM `ppSD_uploads` WHERE `note_id`='" . $this->mysql_clean($id) . "' ORDER BY `name` DESC "); $list = ''; $total = 0; while ($row = $q12->fetch()) { $total++; $list .= $this->format_download_box($row, $sm_icon); } if (empty($list)) { $list = '
    No attachments found.
    '; } return array('total' => $total, 'data' => $list); } function format_download_box($row, $sm_icon = '0') { if ($sm_icon == '1') { $imsize = '16'; } else { $imsize = '24'; } $ext = $this->get_ext($row['filename']); $size = $this->convert_file_size(filesize(PP_PATH . '/custom/uploads/' . $row['filename'])); return '
    ' . $ext . '' . $row['name'] . ' (' . $size . ')
    '; } /** * Datepicker field */ function datepicker($name, $value = '', $time = '0', $width = '250', $months = '1', $minute_step = '5', $req = '0', $force_id = '', $start_date = '') { if ($req == '1') { $class = 'req'; } else { $class = ''; } if (!empty($force_id)) { $id = $force_id; } else { $id = uniqid(); } if (!empty($start_date)) { $blow_it = explode(' ', $start_date); $cut_date = explode('-', $blow_it['0']); $cut_time = explode(':', $blow_it['1']); $cut_date['1'] -= 1; // maxDateTime // . ", " . $cut_time['0'] . ", " . $cut_time['1'] . ", " . $cut_time['2'] . " if ($time == '1') { $put_start_date = ",minDateTime: new Date(" . $cut_date['0'] . ", " . $cut_date['1'] . ", " . $cut_date['2'] . ", " . $cut_time['0'] . ", " . $cut_time['1'] . ", " . $cut_time['2'] . ")"; } else { $put_start_date = ",minDate: new Date(" . $cut_date['0'] . ", " . $cut_date['1'] . ", " . $cut_date['2'] . ")"; } } else { $put_start_date = ""; } $data = ""; if ($time == '1') { $data .= ""; // $minute_step } else { $data .= ""; } return $data; } function get_note_labels($selected = '', $type = 'select') { if ($type == 'select') { if (empty($selected)) { $labs = ""; } else { $labs = ""; } } else { $labs = array(); } $STH = $this->run_query("SELECT * FROM `ppSD_note_labels` ORDER BY `label` ASC "); while ($row = $STH->fetch()) { if ($type == 'select') { if ($selected == $row['id']) { $labs .= ""; } else { $labs .= ""; } } else { $labs[$row['id']] = $row['label']; } } return $labs; } /** * Timeframe field * Does not include special considerations * for 888 / 777 timeframes, which only apply * to subscription products. */ function timeframe_field($name, $timeframe = '000100000000', $req = '1', $advanced_options = '0') { $cutup = format_timeframe($timeframe); $id = md5(rand(100, 99999) . time()); $data = ''; if ($advanced_options == '1') { $data .= " Regular Interval
    "; $data .= " Same day every month
    "; $data .= " Same day every year"; $data .= "
    "; $data .= "Interval: "; $data .= " "; $data .= "
    "; $data .= "
    "; $data .= "Every of the month."; $data .= "
    "; $data .= "
    "; $data .= "Every year on "; $data .= " / (MM/DD)
    "; $data .= "Threshold Date: / (MM/DD)"; //$data .= "Threshold Date: " . $this->datepicker($name . '[threshold]','','0','250','1','',''); $data .= "

    More Information on Threshold Dates

    "; $data .= "
    "; } else { $data .= ""; $data .= " "; } return $data; } /** * For event timeline page in the slider. */ function timeline_entry($entry) { return "
  • \"Delete\"

    " . $entry['title'] . " (Starts: " . format_date($entry['starts'], '', '1') . " | Ends: " . format_date($entry['ends'], '', '1') . ")

    " . $entry['description'] . "

  • "; } function get_graph_array($data) { if (!empty($data['graph'])) { $gdata = $data['graph']; if (empty($gdata['unit'])) { $gdata['unit'] = 'day'; } if (empty($gdata['int'])) { $gdata['int'] = '7'; } } else { $gdata = array( 'unit' => 'day', 'int' => '7', ); } return $gdata; } function graph_form($data) { if (empty($data['int'])) { $data['int'] = '7'; } if (empty($data['unit'])) { $data['unit'] = 'day'; } $out = '
    '; $out .= ' Display last '; $out .= '
    '; return $out; } /** * Construct a timeframe from a timeframe_field() field. * These can then be used in the database. * * @param $unit int Length time time, example "2" * @param $frame string Unit for the length, example, "year" */ function construct_timeframe($unit, $frame) { if ($unit < 10) { $unit += 0; $unit = '0' . $unit; } if (empty($unit)) { $unit = '01'; } if ($frame == 'year') { $data = $unit . '0000000000'; } else if ($frame == 'month') { $data = '00' . $unit . '00000000'; } else if ($frame == 'day') { $data = '0000' . $unit . '000000'; } else { $data = '000000' . $unit . '0000'; } return $data; } /** * Content access granting for a product. */ function create_product_access_granting($product_id, $data) { foreach ($data as $anItem) { if (!empty($anItem['id'])) { $q1 = $this->insert(" INSERT INTO `ppSD_access_granters` (`item_id`,`type`,`grants_to`,`timeframe`) VALUES ( '" . $this->mysql_cleans($product_id) . "', 'content', '" . $this->mysql_cleans($anItem['id']) . "', '" . $this->construct_timeframe($anItem['time']['number'], $anItem['time']['unit']) . "' ) "); } } } /** * Create upsell products during product editing. * * @param $product_id * @param $data */ function create_product_upsell($product_id, $data) { $product_next = 0; foreach ($data as $anItem) { $product_next++; if (!empty($anItem['id'])) { $q1 = $this->insert(" INSERT INTO `ppSD_product_upsell` ( `product`, `upsell`, `type`, `order` ) VALUES ( '" . $this->mysql_clean($product_id) . "', '" . $this->mysql_clean($anItem['id']) . "', '" . $this->mysql_clean($anItem['type']) . "', '" . $product_next . "' ) "); } } } /** * Construct a timeframe from a timeframe_field() complex field. * These cann then be used in the database. */ function construct_complex_timeframe($data) { if ($data['type'] == 'standard' || empty($data['type'])) { return $this->construct_timeframe($data['number'], $data['unit']); } // So 1st of every month: 777010000000 else if ($data['type'] == 'day_of_month') { if ($data['month_day'] < 10) { $data['month_day'] += 0; $data['month_day'] = '0' . $data['month_day']; } return "777" . $data['month_day'] . "0000000"; } // So January 1st: 888010100000 else if ($data['type'] == 'day_of_year') { if ($data['month_day_year'] < 10) { $data['month_day_year'] += 0; $data['month_day_year'] = '0' . $data['month_day_year']; } if ($data['month_year'] < 10) { $data['month_year'] += 0; $data['month_year'] = '0' . $data['month_year']; } return "888" . $data['month_year'] . $data['month_day_year'] . "00000"; } } /** * Create queries from posted fields * for adding and editing content. */ function query_from_fields($posted, $type = 'add', $ignore = array(), $primary = array(), $permitted = array()) { $update_set1 = ""; $update_set2 = ""; $insert_fields1 = ""; $insert_values1 = ""; $insert_values2 = ""; $insert_fields2 = ""; foreach ($posted as $name => $value) { if (!empty($value) || $value == '0') { $last_four = substr($name, -4); if ($last_four == '_dud') { continue; } else if (in_array($name, $ignore)) { continue; } else { if ($this->field_encryption($name)) { $value = encode($value); } if ($type == 'edit') { if (in_array($name, $primary)) { $update_set1 .= ",`" . $this->mysql_cleans($name) . "`='" . $this->mysql_cleans($value) . "'"; } else { $update_set2 .= ",`" . $this->mysql_cleans($name) . "`='" . $this->mysql_cleans($value) . "'"; } } else { if (in_array($name, $primary)) { $insert_fields1 .= ",`" . $this->mysql_cleans($name) . "`"; $insert_values1 .= ",'" . $this->mysql_cleans($value) . "'"; } else { $insert_fields2 .= ",`" . $this->mysql_cleans($name) . "`"; $insert_values2 .= ",'" . $this->mysql_cleans($value) . "'"; } } } } } return array( 'u1' => $update_set1, 'u2' => $update_set2, 'if1' => $insert_fields1, 'if2' => $insert_fields2, 'iv1' => $insert_values1, 'iv2' => $insert_values2 ); } /** * Filter Field */ function filter_field($name, $value = '', $table = '', $equal_options = '1', $date = '0', $date_range = '0', $eq_selected = 'like') { $filterfl = ''; if ($equal_options == '1') { $filterfl .= ""; $filterfl .= ""; } } else { $field = new field; $this_field_data = $field->get_field($name); if (!empty($this_field_data['id'])) { $rendered = $field->render_field($name, '', '', '', '', '', 'width:200px;', 'filter[' . $name . ']'); $filterfl .= $rendered['3']; } else { $filterfl .= ""; } } $filterfl .= ""; return $filterfl; } /** * @param array $row_data Data being processed into quick view. * @param string $option * @param string $type */ function build_quick_view($row_data, $type = 'member', $option = 'member_quick_view') { $sf = new special_fields($type); $sf->update_row($row_data); $eav = $this->get_eav_value('options', $option); $list = '
    '; $opts = explode(',', $eav); foreach ($opts as $item) { $list .= '
    ' . $sf->clean_name($item) . '
    '; $list .= '
    ' . $sf->process($item, $row_data[$item]) . '
    '; } $list .= '
    '; return $list; } /** * Scope fields for criteria building * Field types = 'text','textarea','radio','select','checkbox','attachment','section','multiselect','multicheckbox','linkert','date' */ function get_scope_fields($type, $display_type = 'field') { if ($type == 'member') { $table = 'ppSD_member_data'; } else if ($type == 'contact') { $table = 'ppSD_contact_data'; } else if ($type == 'rsvp') { $table = 'ppSD_event_rsvp_data'; } else { $table = 'ppSD_account_data'; } $equal = '1'; if ($display_type == 'field') { $return = ''; } else { $return = array(); if ($type == 'member') { $return[] = array('id' => 'id', 'name' => 'Member No.'); $return[] = array('id' => 'username', 'name' => 'Username'); $return[] = array('id' => 'email', 'name' => 'E-Mail'); $return[] = array('id' => 'joined', 'name' => 'Joined'); $return[] = array('id' => 'last_login', 'name' => 'Last Login'); $return[] = array('id' => 'source', 'name' => 'Source'); $return[] = array('id' => 'account', 'name' => 'Account'); $return[] = array('id' => 'status', 'name' => 'Status'); $return[] = array('id' => 'last_updated', 'name' => 'Last Updated'); $return[] = array('id' => 'member_type', 'name' => 'Member Type'); } else { $return[] = array('id' => 'type', 'name' => 'Type'); $return[] = array('id' => 'email', 'name' => 'E-Mail'); $return[] = array('id' => 'created', 'name' => 'Created'); $return[] = array('id' => 'last_login', 'name' => 'Last Login'); $return[] = array('id' => 'source', 'name' => 'Source'); $return[] = array('id' => 'account', 'name' => 'Account'); $return[] = array('id' => 'status', 'name' => 'Status'); $return[] = array('id' => 'last_updated', 'name' => 'Last Updated'); $return[] = array('id' => 'expected_value', 'name' => 'Estimated Dollar Value'); $return[] = array('id' => 'actual_dollars', 'name' => 'Actual Dollar Value'); $return[] = array('id' => 'last_action', 'name' => 'Last Action Date'); $return[] = array('id' => 'next_action', 'name' => 'Next Action Date'); // $return[] = array('id' => 'converted','name' => 'Converted'); } } $STH = $this->run_query("SELECT * FROM `ppSD_fields` WHERE `scope_" . $this->mysql_cleans($type) . "`='1'"); while ($row = $STH->fetch()) { if ($row['type'] == 'date') { $date = '1'; $dater = '1'; $equal = '1'; } else if ($row['type'] == 'checkbox' || $row['type'] == 'select') { $equal = '0'; $date = '0'; $dater = '0'; } else { $equal = '1'; $date = '0'; $dater = '0'; } if ($display_type == 'field') { $return .= "
    "; $return .= $this->filter_field($row['id'], '', $table, $equal, $date, $dater); $return .= "
    "; } else { $return[] = array( 'id' => $row['id'], 'name' => $row['display_name'], ); } } return $return; } /** * Get Sources */ function get_sources($selected = '') { $last_type = 'custom'; $data = ''; $STH = $this->run_query("SELECT * FROM `ppSD_sources` ORDER BY `type` DESC, `source` ASC"); while ($row = $STH->fetch()) { if ($last_type != $row['type']) { $data .= ''; } if ($selected == $row['id']) { $data .= ''; } else { $data .= ''; } } $data .= ''; return $data; } function get_fields($selected = '') { $data = ''; $STH = $this->run_query("SELECT * FROM `ppSD_fields` ORDER BY `display_name` ASC"); $data .= ''; } else { $data .= ''; } } return $data; } function get_sections($selected = '') { $data = ''; $STH = $this->run_query(" SELECT * FROM `ppSD_content` WHERE `type`='section' ORDER BY `name` ASC "); while ($row = $STH->fetch()) { if (empty($selected) && $row['id'] == '1') { $data .= ''; } else if ($selected == $row['id']) { $data .= ''; } else { $data .= ''; } } return $data; } /** * Used for building filters for criteria. * Necessary since the same field can be used * multiple times in criteria. * * @param $data $_POST array of filter fields */ function build_criteria_filters($data, $type = 'member') { /* $filters = array(); $filter_tables = array(); $filter_types = array(); if (isset($data['filter'])) { foreach ($data['filter'] as $name => $value) { //$new_name = explode('-',$name); $filters[$name] = $value; } } if (isset($data['filter_type'])) { foreach ($data['filter_type'] as $name => $value) { //$new_name = explode('-',$name); $filter_types[$name] = $value; } } if (isset($data['filter_tables'])) { foreach ($data['filter_tables'] as $name => $value) { //$new_name = explode('-',$name); $filter_tables[$name] = $value; } } */ if ($type == 'contact') { $default_table = 'ppSD_contacts'; } else { $default_table = 'ppSD_members'; } $final_store_array = array(); if (isset($data['filter'])) { foreach ($data['filter'] as $name => $value) { $preserve_name = $name; $name = str_replace('_low','',$name); $name = str_replace('_high','',$name); if ($name == $preserve_name) { $date_range = '0'; } else { $date_range = '1'; } $table = ''; $eq = 'like'; $new_name = explode('-', $name); $use_name = $new_name['0']; // "created" bug if (array_key_exists($preserve_name, $data['filter_type'])) { $use_key = $preserve_name; } else { $use_key = $name; } if (! empty($data['filter_type'][$use_key])) { $eq = $data['filter_type'][$use_key]; } if (! empty($data['filter_tables'][$use_key])) { $table = $data['filter_tables'][$use_key]; } else { $table = $default_table; } $final_store_array[$use_name][] = array( 'table' => $table, 'eq' => $eq, 'value' => $value, 'range' => $date_range, ); } } return $final_store_array; } /** * @param array $existing Array of menus the page is currently in. * * @return string */ function get_menus($existing) { $data = ''; $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_widgets` WHERE `type`='menu' ORDER BY `name` ASC "); while ($row = $STH->fetch()) { $data .= ''; } return $data; } function get_fieldsets($existing) { $data = ''; $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_fieldsets` WHERE `static`!='0' ORDER BY `name` ASC "); while ($row = $STH->fetch()) { $data .= ''; } return $data; } /** * Used on the fieldset edit page to determine * where this fieldset appears. * * @param $fieldset_id */ function fieldset_scopes($fieldset_id) { $locations = array( 'member-add' => '0', 'member-edit' => '0', 'contact-add' => '0', 'contact-edit' => '0', 'account-add' => '0', 'account-edit' => '0', 'update-account' => '0', ); $STH = $this->run_query(" SELECT `location` FROM `ppSD_fieldsets_locations` WHERE `fieldset_id`='" . $this->mysql_clean($fieldset_id) . "' "); while ($row = $STH->fetch()) { $locations[$row['location']] = '1'; } return $locations; } /* * Takes standard filter fields * that have been applied to a table * page within a slider and builds * a standard criteria array that * can be used with history.class * $criteria field. * Example usage on event-view-attendees.php */ function build_subslider_criteria($filter, $filter_type = '', $filter_tables = '') { $criteria = array(); $fields = ''; if (!empty($filter)) { $fields .= ''; foreach ($filter as $item => $value) { $mod = ''; if (!empty($value)) { if (!empty($filter_tables[$item])) { $table = $filter_tables[$item]; } else { $table = ''; } $hold_item = $item; if (strpos($item, '_low') !== false) { $item = str_replace('_low', '', $item); $criteria[] = $value . '||' . $item . '||gt||' . $table; } else if (strpos($item, '_high') !== false) { $item = str_replace('_high', '', $item); $criteria[] = $value . '||' . $item . '||lt||' . $table; } else { if (!empty($filter_type[$item])) { $mod = $filter_type[$item]; } else { $mod = 'eq'; } $criteria[] = $value . '||' . $item . '||' . $mod . '||' . $table; } $fields .= ''; $fields .= ''; $fields .= ''; } } } return array( 'criteria' => $criteria, 'fields' => $fields ); } /* * Standard filter format: * 0 = value * 1 = key * 2 = modifier: like, like_start, gt, lt, gte, lte, noteq * 3 = table * Doe||last_name||eq||ppSD_members_data */ function build_filter_query($filters, $table, $eq = ' AND ') { $add_query = ''; if (!empty($filters)) { foreach ($filters as $aFilter) { if (! empty($aFilter)) { if (is_array($aFilter)) { $add_query .= ' ' . $eq . ' ('; $add_query .= substr($this->build_filter_query($aFilter, $table, ' OR '), 4); $add_query .= ' )'; } else { $break = explode('||', $aFilter); if (!empty($break['0'])) { if ($break['0'] == '-') { $break['0'] = ''; } elseif ($break['0'] == '--') { $break['0'] = '0'; } if (empty($break['3'])) { $break['3'] = $table; } $add_query .= " $eq " . $break['3'] . "." . $break['1']; if ($break['2'] == 'like') { $add_query .= " LIKE '%" . $this->mysql_cleans($break['0']) . "%'"; } else if ($break['2'] == 'like_start') { // For alpha sorting options if ($break['0'] == '0-9') { $add_query .= " NOT REGEXP '^[[:alpha:]]'"; } else { $add_query .= " LIKE '" . $this->mysql_cleans($break['0']) . "%'"; } } else if ($break['2'] == 'gt') { $add_query .= ">'" . $this->mysql_cleans($break['0']) . "'"; } else if ($break['2'] == 'lt') { $add_query .= "<'" . $this->mysql_cleans($break['0']) . "'"; } else if ($break['2'] == 'gte') { $add_query .= ">='" . $this->mysql_cleans($break['0']) . "'"; } else if ($break['2'] == 'lte') { $add_query .= "<='" . $this->mysql_cleans($break['0']) . "'"; } else if ($break['2'] == 'noteq' || $break['2'] == 'neq') { $add_query .= "!='" . $this->mysql_cleans($break['0']) . "'"; } else { $add_query .= "='" . $this->mysql_cleans($break['0']) . "'"; } } } } } } return $add_query; } /** * Takes filter arrays and converts them into a series * of query-string compatible filters. Used mainly for * criteria-based searches. * * @param $filters * @param $filter_types * @param $filter_tables * @param $primary_table * * @return string */ function build_filter_query_string($filters, $filter_types, $filter_tables, $primary_table) { $qs = ''; foreach ($filters as $name => $value) { if (!empty($filter_tables) && in_array($name, $filter_tables)) { $table = $filter_tables[$name]; } else { $table = $primary_table; } if (!empty($filter_types) && in_array($name, $filter_types)) { $eq = $filter_types[$name]; } else { $eq = 'like'; } $this_filter = 'filters[]=' . urlencode($value) . '||' . urlencode($name) . '||' . $eq . '||' . $table; $qs .= '&' . $this_filter; } return $qs; } /** * Preps a table for $this->get_table() * * @param $get $_GET data, or "forced" get data. * @param string $default_sort Default sort column. * @param string $default_order Default order DESC or ASC * @param array $default_filters Default filters if nothing is submitted. * @param array $force_filters Filters that are always applied. * * @return array */ function prep_table($get, $default_sort, $default_order, $default_page, $default_display, $default_filters, $force_filters) { if (empty($get['page'])) { $page = $default_page; } else { $page = $get['page']; } if (empty($get['display'])) { $display = $default_display; } else { $display = $get['display']; } if (!empty($get['order'])) { $order = $get['order']; } else { $order = $default_sort; } if (!empty($get['dir'])) { $dir_check = strtoupper($get['dir']); if ($dir_check == 'DESC') { $dir = 'DESC'; } else { $dir = 'ASC'; } } else { $dir = $default_order; } if (!empty($get['filters'])) { $filters = $get['filters']; } else { $filters = $default_filters; } if (!empty($force_filters)) { foreach ($force_filters as $afilter) { if ($afilter == 'query') continue; $filters[] = $afilter; } } return array( 'page' => $page, 'display' => $display, 'order' => $order, 'dir' => $dir, 'filters' => $filters, ); } // ,$menu,$filters = '',$order = '',$dir = '',$display = '50',$page = '1',$math_in = array(), $skip_delete = '0' /** * Works with table.class.php to render a * table on the admin CP. * * @param $table * @param $get * @param array $defaults * @param array $force_filters * * @return array */ function get_table($table, $get, $defaults = array(), $force_filters = array(), $criteria_id = '', $force_headings = null, $force_query = null, $use_query_string = null) { // Prepare the basics. $math = 0; $math1 = 0; $math2 = 0; $math3 = 0; $default_sort = $defaults['sort']; $default_order = $defaults['order']; $default_page = $defaults['page']; $default_display = $defaults['display']; $default_filters = $defaults['filters']; if (!empty($defaults['scope_page'])) { $scope_override = array( 'page' => $defaults['scope_page'], 'type' => $defaults['scope_page_type'], ); } else { $scope_override = ''; } $prep_data = $this->prep_table($get, $default_sort, $default_order, $default_page, $default_display, $default_filters, $force_filters); $order = $prep_data['order']; $dir = $prep_data['dir']; $display = $prep_data['display']; $filters = $prep_data['filters']; $page = $prep_data['page']; // Render the table. $low = $page * $display - $display; /** * Criteria-based searching */ if (!empty($criteria_id)) { $criteria = new criteria($criteria_id); if ($criteria->data['type'] == 'member') { $scope = 'member'; $scopetable = 'ppSD_members'; } else if ($criteria->data['type'] == 'contact') { $scope = 'contact'; $scopetable = 'ppSD_contacts'; } $query = $criteria->query; $query_totals = $criteria->query_count; } else { $add_query = $this->build_filter_query($filters, $table); /** * Build where */ global $employee; $math_field = ''; $the_tables = array(); $where = ''; $select_specific = ''; $join = ''; $join1 = ''; $join2 = ''; $scopetable = $table; if ($table == 'ppSD_members') { $the_tables = array('ppSD_members', 'ppSD_member_data'); $where = ""; if ($employee['permissions']['admin'] != '1') { $where .= "(ppSD_members.public='1' OR ppSD_members.owner='" . $employee['id'] . "')"; } $join = 'ppSD_members.id'; $join1 = 'ppSD_member_data.member_id'; $scopetable = 'ppSD_members'; $scope = 'member'; } else if ($table == 'ppSD_contacts') { $the_tables = array('ppSD_contacts', 'ppSD_contact_data'); $where = ""; if ($employee['permissions']['admin'] != '1') { $where .= "(ppSD_contacts.public='1' OR ppSD_contacts.owner='" . $employee['id'] . "')"; } $join = 'ppSD_contacts.id'; $join1 = 'ppSD_contact_data.contact_id'; $scopetable = 'ppSD_contacts'; $scope = 'contact'; } else if ($table == 'ppSD_accounts') { $the_tables = array('ppSD_accounts', 'ppSD_account_data'); $where = ""; if ($employee['permissions']['admin'] != '1') { $where .= "(ppSD_accounts.public='1' OR ppSD_accounts.owner='" . $employee['id'] . "')"; } $join = 'ppSD_accounts.id'; $join1 = 'ppSD_account_data.account_id'; $scopetable = 'ppSD_accounts'; $scope = 'account'; } else if ($table == 'ppSD_event_rsvps') { $the_tables = array('ppSD_event_rsvps', 'ppSD_event_rsvp_data'); $where = ""; $join = 'ppSD_event_rsvps.id'; $join1 = 'ppSD_event_rsvp_data.rsvp_id'; $scopetable = 'ppSD_event_rsvps'; $scope = 'rsvp'; } else if ($table == 'ppSD_cart_sessions' || $table == 'ppSD_cart_session_totals') { $the_tables = array('ppSD_cart_sessions', 'ppSD_cart_session_totals', 'ppSD_shipping', 'ppSD_cart_billing'); $where = ""; $join = 'ppSD_cart_sessions.id'; $join1 = 'ppSD_cart_session_totals.id'; $join2 = 'ppSD_shipping.cart_session'; $join3 = 'ppSD_cart_billing.id'; $scopetable = $table; $scope = 'transaction'; $math_field = 'total'; $math_field1 = 'tax'; $math_field2 = 'savings'; $math_field3 = 'gateway_fees'; $select_specific = 'ppSD_cart_sessions.*,ppSD_cart_session_totals.*,ppSD_shipping.shipped,ppSD_shipping.shipping_number,ppSD_shipping.shipping_provider,ppSD_shipping.trackable,ppSD_shipping.ship_date,ppSD_cart_billing.method,ppSD_cart_billing.state,ppSD_cart_billing.country,ppSD_cart_billing.card_type'; } else if ($table == 'ppSD_invoices') { $the_tables = array('ppSD_invoices', 'ppSD_invoice_totals', 'ppSD_invoice_data'); $where = ""; $join = 'ppSD_invoices.id'; $join1 = 'ppSD_invoice_totals.id'; $join2 = 'ppSD_invoice_data.id'; $scopetable = 'ppSD_invoices'; $scope = 'invoice'; $math_field = 'due'; } else if ($table == 'ppSD_staff') { $scope = 'employee'; } else if ($table == 'ppSD_subscriptions') { $scope = 'subscription'; $math_field = 'price'; } else if ($table == 'ppSD_products') { $scope = 'product'; } else if ($table == 'ppSD_events') { $scope = 'event'; } else if ($table == 'ppSD_campaigns') { $scope = 'campaign'; } else if ($table == 'ppSD_widgets') { $scope = 'widgets'; } else if ($table == 'ppSD_forms') { $scope = 'forms'; } else if ($table == 'ppSD_cart_terms') { $scope = 'shop_terms'; } else if ($table == 'ppSD_fields') { $scope = 'field'; } else if ($table == 'ppSD_email_scheduled') { $scope = ''; } else if ($table == 'ppSD_saved_emails') { $scope = ''; } else if ($table == 'ppSD_content') { $scope = 'content'; } else if ($table == 'ppSD_notes') { $scope = 'note'; $math_field = 'value'; } else if ($table == 'ppSD_logins') { $scope = 'session'; } else if ($table == 'ppSD_fieldsets') { $scope = 'fieldsets'; } else if ($table == 'ppSD_subscriptions') { $scope = 'subscription'; } else if ($table == 'ppSD_cart_categories') { $scope = 'category'; } else if ($table == 'ppSD_cart_coupon_codes') { $scope = 'promo_code'; } else if ($table == 'ppSD_tax_classes') { $scope = 'shop_tax'; } else if ($table == 'ppSD_shipping_rules') { $scope = 'shop_shipping'; } else if ($table == 'ppSD_error_codes') { $scope = 'error_code'; } else if ($table == 'ppSD_calendars') { $scope = 'calendar'; } else if ($table == 'ppSD_payment_gateways') { $scope = 'payment_gateway'; } else { $scope = ''; } // Clean add_query if required if (empty($where)) { $add_query = substr($add_query, 5); } if (!empty($where) || !empty($add_query)) { $where = "WHERE " . $where; } else { $where = ''; } // Get entries if (!empty($join)) { if (!empty($select_specific)) { $sel = $select_specific; } else { $sel = '*'; } if (!empty($the_tables['3'])) { $query = " SELECT $sel FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 LEFT JOIN `" . $the_tables['2'] . "` ON $join=$join2 LEFT JOIN `" . $the_tables['3'] . "` ON $join=$join3 $where $add_query ORDER BY $order $dir LIMIT $low,$display "; $query_totals = " SELECT COUNT(*) FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 LEFT JOIN `" . $the_tables['2'] . "` ON $join=$join2 LEFT JOIN `" . $the_tables['3'] . "` ON $join=$join3 $where $add_query "; } else if (!empty($the_tables['2'])) { $query = " SELECT $sel FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 LEFT JOIN `" . $the_tables['2'] . "` ON $join=$join2 $where $add_query ORDER BY $order $dir LIMIT $low,$display "; $query_totals = " SELECT COUNT(*) FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 LEFT JOIN `" . $the_tables['2'] . "` ON $join=$join2 $where $add_query "; } else { $query = " SELECT $sel FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 $where $add_query ORDER BY $order $dir LIMIT $low,$display "; $query_totals = " SELECT COUNT(*) FROM `" . $the_tables['0'] . "` LEFT JOIN `" . $the_tables['1'] . "` ON $join=$join1 $where $add_query "; } } else { $query = " SELECT * FROM `$table` $where $add_query ORDER BY $order $dir LIMIT $low,$display "; $query_totals = " SELECT COUNT(*) FROM `$table` $where $add_query "; } } if (! empty($force_query)) { $query = $force_query; $query_totals = str_replace('*', 'COUNT(*)', $query); } // Totals $totals = $this->get_array($query_totals); if ($display > 0) { $pages = ceil($totals['0'] / $display); } else { $pages = '1'; } $table = new table($scope, $scopetable, $scope_override, $force_headings); $cur_row = 0; $all_cells = ''; $STH = $this->run_query($query); while ($rowF = $STH->fetch()) { if (!empty($math_field)) { $math += $rowF[$math_field]; } if (!empty($math_field1)) { $math1 += $rowF[$math_field1]; } if (!empty($math_field2)) { $math2 += $rowF[$math_field2]; } if (!empty($math_field3)) { $math3 += $rowF[$math_field3]; } $all_cells .= $table->render_cell($rowF); $cur_row++; } if (empty($all_cells)) { $final_cells = ' No results. '; } else { $final_cells = '' . $all_cells . ''; } if ($totals['0'] < $display) { $display = $totals['0']; } $show_next = true; $show_prev = true; $next_page = $page + 1; if ($next_page > $pages) { $next_page = $pages; $show_next = false; } $prev_page = $page - 1; if ($prev_page <= 0) { $prev_page = 1; $show_prev = false; } if (! empty($use_query_string)) { $qs = $use_query_string; } else { $qs = $_SERVER['QUERY_STRING']; } parse_str($qs, $output); $next_link = $output; $next_link['page'] = $next_page; $next_link = http_build_query($next_link); $prev_link = $output; $prev_link['page'] = $prev_page; $prev_link = http_build_query($prev_link); if ($pages == 0) { $pages = 1; } return array( 'results' => $cur_row, 'th' => $table->heading_row, 'td' => $final_cells, 'total' => $totals['0'], 'show_next' => $show_next, 'show_prev' => $show_prev, 'next_link' => $next_link, 'prev_link' => $prev_link, 'pages' => $pages, 'prev_page' => $prev_page, 'next_page' => $next_page, 'menu' => htmlentities(serialize($table->headings)), 'order' => $order, 'dir' => $dir, 'display' => $display, 'filters' => $filters, 'page' => $page, 'query' => $query, 'math' => place_currency($math), 'math1' => place_currency($math1), 'math2' => place_currency($math2), 'math3' => place_currency($math3), ); } /** * SELECT list of cart categories. * used in filters. */ function cart_category_select($selected = '') { $go = ''; $STH = $this->run_query("SELECT `id`,`name` FROM `ppSD_cart_categories` ORDER BY `name` ASC"); while ($row = $STH->fetch()) { if ($selected == $row['id']) { $go .= ""; } else { if ($row['id'] == '1' && empty($selected)) { $go .= ""; } else { $go .= ""; } } } return $go; } /** * */ function saved_criteria_list($type, $selected = '') { $go = ''; global $employee; $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_criteria_cache` WHERE `type`='" . $this->mysql_clean($type) . "' AND `save`='1' AND (`owner`='" . $this->mysql_clean($employee['id']) . "' OR `public`='1') ORDER BY `name` ASC "); if (empty($selected)) { $go .= ""; } else { $go .= ""; } while ($row = $STH->fetch()) { if ($selected == $row['id']) { $go .= ""; } else { $go .= ""; } } return $go; } function get_forms($type = '', $selected = '') { $q1 = $this->run_query(" SELECT `id`,`name` FROM `ppSD_forms` WHERE `type`='" . $this->mysql_clean($type) . "' ORDER BY `name` ASC "); $lit = ''; while ($row = $q1->fetch()) { if ($row['id'] == $selected) { $lit .= "'; } else { $lit .= "'; } } return $lit; } /** * Alpha list for letters */ function alpha_list($page, $field, $table) { $list = ''; $lets = array('All', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0-9'); foreach ($lets as $aLet) { if ($aLet == 'All') { $list .= "$aLet"; } else { $list .= "$aLet"; } } return $list; } // 'ppSD_notes.date','DESC','50','1' function build_ordering($default_order, $default_dir = 'DESC', $default_display = '50', $default_page = '1') { if (!empty($_GET['order'])) { $order = filter_var($_GET['order'], FILTER_SANITIZE_STRING); } else { $order = $default_order; } if (!empty($_GET['dir'])) { if (strtoupper($_GET['dir']) == 'DESC' || strtoupper($_GET['dir']) == 'ASC') { $dir = $_GET['dir']; } else { $dir = $default_dir; } } else { $dir = $default_dir; } if (!empty($_GET['display'])) { if (filter_var($default_display, FILTER_VALIDATE_INT)) { $display = $_GET['display']; } else { $display = $default_display; } } else { $display = $default_display; } if (!empty($_GET['page'])) { if (filter_var($default_page, FILTER_VALIDATE_INT)) { $page = $_GET['page']; } else { $page = $default_page; } } else { $page = $default_page; } return array( 'order' => $order, 'dir' => $dir, 'display' => $display, 'page' => $page, ); } /** * Check if an employee's session is valid * and return an array with the employee's * information and permissions. */ function check_employee($permission_check = '', $ajax = '1', $simple = '0') { if (! empty($_COOKIE['zen_admin_ses'])) { $session_comps = explode('-', $_COOKIE['zen_admin_ses']); $ses_id = $session_comps['0']; if (!empty($session_comps['1'])) { $ses_user = $session_comps['1']; } else { $ses_user = ''; } if (!empty($session_comps['2'])) { $ses_salt = $session_comps['2']; } else { $ses_salt = ''; } $session = $this->get_session($ses_id); // Check username if (md5(sha1($session['username'])) != $ses_user) { $end = $this->end_session($_COOKIE['zen_admin_ses'], $session['username']); $dets = array( 'error' => '1', 'ecode' => 'eas1', 'error_details' => 'Invalid session credentials (Code A1).' ); } // Check SALT else if (md5(sha1($session['salt'])) != $ses_salt) { $end = $this->end_session($_COOKIE['zen_admin_ses'], $session['username']); $dets = array( 'error' => '1', 'ecode' => 'eas2', 'error_details' => 'Invalid session credentials (Code A2).' ); } // Check Expiration else if (time() >= strtotime($session['expires'])) { $end = $this->end_session($_COOKIE['zen_admin_ses']); $dets = array( 'error' => '1', 'ecode' => 'eas3', 'error_details' => 'Session has expired (' . date('Y-m-d H:i:s') . ' >= ' . $session['expires'] . ')' ); } // Check Expiration else if ($session['complete'] != '0000-00-00 00:00:00') { $end = $this->end_session($_COOKIE['zen_admin_ses']); $dets = array( 'error' => '1', 'ecode' => 'eas4', 'error_details' => 'Session is no longer active.' ); } // Everything is good in the world... else { $final = array('error' => '0', 'error_details' => 'Success'); $dets = $this->get_employee($session['username']); } } else { $dets = array('error' => '1', 'ecode' => 'eas4', 'error_details' => 'Session not found.'); } // pa($dets); if ($dets['error'] == '1') { $this->end_session(); if ($simple == '1') { return '0'; } else { if ($ajax == '1') { echo "0+++redirect"; exit; } else { header('Location: ' . PP_ADMIN . '/login.php?n=' . $dets['ecode']); exit; } } } else { if (! empty($permission_check)) { $permission = $this->check_permissions($permission_check, $dets); if ($permission == '1') { $this->update_session($session['remember']); if ($simple == '1') { return $dets['id']; } else { return $dets; } } else { if ($simple == '1') { return '0'; } else if ($ajax == '1') { echo "0+++You do not have permission to perform this task."; exit; } else { return '0'; } } } else { return $dets; } } } /** * Update a session */ function update_session($remember = '0') { $masterlog = time(); if ($remember == '1') { $expires = $masterlog + 604800; } else { $expires = $masterlog + 7200; } $q = $this->update(" UPDATE `ppSD_staff_in` SET `expires`='" . date('Y-m-d H:i:s', $expires) . "' WHERE `id`='" . $this->mysql_clean($_COOKIE['zen_admin_ses']) . "' LIMIT 1 "); } /** * Get employee email from ID * Designed for email.class.php */ function get_email_from_id($employee_id) { $q = $this->get_array(" SELECT `email` FROM `ppSD_staff` WHERE `id`='" . $this->mysql_clean($employee_id) . "' LIMIT 1 "); return $q['email']; } /** * Get employee email from ID * Designed for email.class.php */ function get_id_from_username($username) { $q = $this->get_array(" SELECT `id` FROM `ppSD_staff` WHERE `username`='" . $this->mysql_clean($username) . "' LIMIT 1 "); return $q['id']; } function find_employee($id) { $q = $this->get_array(" SELECT `id` FROM `ppSD_staff` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); if (! empty($q['id'])) { return true; } else { return false; } } /** * Here we take input for a potential * owner of a record, and determine if * that input is correct. In other words, * we are making sure the employee selected * exists. The input can be either a ID (numeric) * or a username (string). * * @param $input_data * * @return int|string */ function determine_owner($input_data) { if (empty($input_data)) { return '2'; } else { if (is_numeric($input_data)) { $emp_id = $this->find_employee($input_data); if ($emp_id) { return $input_data; } else { return '2'; } } else { $emp_id = $this->get_id_from_username($input_data); if (! empty($emp_id)) { return $emp_id; } else { return $input_data; } } } } /** * Create an employee session. */ function create_session($username, $remember = '0') { $id_rand = md5(uniqid(rand(), true)); $session_salt = $this->generate_salt(); $masterlog = time(); if ($remember == '1') { $expires = $masterlog + 604800; $this->create_cookie('zen_admin_ses', $id_rand . "-" . md5(sha1($username)) . "-" . md5(sha1($session_salt)), $expires); } else { $this->create_cookie('zen_admin_ses', $id_rand . "-" . md5(sha1($username)) . "-" . md5(sha1($session_salt))); $sestime = $this->get_option('session_admin_inactivity'); if (empty($sestime) || $sestime <= 0) { $sestime = '3600'; } $expires = $masterlog + $sestime; } $q1 = $this->insert(" INSERT INTO `ppSD_staff_in` ( `id`, `username`, `salt`, `masterlog`, `expires`, `ip`, `remember` ) VALUES ( '" . $id_rand . "', '" . $this->mysql_clean($username) . "', '" . $this->mysql_clean($session_salt) . "', '" . current_date() . "', '" . date('Y-m-d H:i:s', $expires) . "', '" . $this->mysql_clean(get_ip()) . "', '" . $this->mysql_clean($remember) . "' ) "); $remove_lock = $this->remove_lock($username, 'staff'); return $id_rand; } /** * Get a staff's session */ function get_session($id = '') { if (isset($_COOKIE['zen_admin_ses'])) { if (empty($id)) { $session_comps = explode('-', $_COOKIE['zen_admin_ses']); $id = $session_comps['0']; } $session = $this->get_array(" SELECT * FROM `ppSD_staff_in` WHERE `id`='" . $this->mysql_clean($id) . "' LIMIT 1 "); return $session; } else { return '0'; } } /** * List terms */ function list_terms($selected = '') { $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_cart_terms` ORDER BY `name` "); $list = ''; while ($row = $STH->fetch()) { if (! empty($selected)) { if ($selected == $row['id']) { $list .= ""; } else { $list .= ""; } } else { $list .= ""; } } return $list; } function list_direct_forms($update = '1') { $add_where = "(`type`='dependency'"; if ($update == '1') { $add_where .= " OR `type`='update'"; } $add_where .= ")"; $STH = $this->run_query(" SELECT `id`,`name` FROM `ppSD_forms` WHERE $add_where AND `disabled`!='1' ORDER BY `name` "); $list = ''; while ($row = $STH->fetch()) { $list .= ""; } return $list; } /** * End a staff's session */ function end_session($id = '', $username = '') { if (!empty($_COOKIE['zen_admin_ses'])) { if (empty($id)) { $id = $_COOKIE['zen_admin_ses']; } if (!empty($id)) { $session_comps = explode('-', $_COOKIE['zen_admin_ses']); $id = $session_comps['0']; if (!empty($username)) { $add_where = " OR `username`='" . $this->mysql_clean($username) . "'"; } else { $add_where = ''; } $session = $this->update(" UPDATE `ppSD_staff_in` SET `complete`='" . current_date() . "' WHERE `id`='" . $this->mysql_clean($id) . "' $add_where "); } } $this->delete_cookie('zen_admin_ses'); return '1'; } /** * Get a staff's account details. */ function get_employee($username = '', $id = '') { if (empty($username) && empty($id) && !empty($_COOKIE['zen_admin_ses'])) { $session_comps = explode('-', $_COOKIE['zen_admin_ses']); $ses_id = $session_comps['0']; $session = $this->get_session($ses_id); if (!empty($session['username'])) { $username = $session['username']; } else { $array = array( 'error' => '1', 'error_details' => 'Employee not found.' ); return $array; } } if (!empty($id)) { $where = "`id`='" . $this->mysql_clean($id) . "'"; } else { $where = "`username`='" . $this->mysql_clean($username) . "'"; } $staff = $this->get_array(" SELECT * FROM `ppSD_staff` WHERE $where LIMIT 1 "); if (empty($staff['username'])) { $array = array( 'error' => '1', 'error_details' => 'Staff member not found.' ); return $array; } if ($staff['locked'] != '0000-00-00 00:00:00') { $now = strtotime(current_date()); $difference = $now - strtotime($staff['locked']); if ($difference >= 300) { $unlock = $this->unlock_account($username); } else { $array = array( 'error' => '1', 'error_details' => 'Account locked. Try again in 10 minutes.' ); return $array; } } // Permissions Group $permissions = $this->permission_group($staff['permission_group']); // Session $session = $this->get_session(); // Unseralize options if (!empty($employee['options'])) { $eoptions = unserialize($employee['options']); } else { $eoptions = array(); } // Profile Picture $q8 = $this->get_array(" SELECT * FROM `ppSD_uploads` WHERE `item_id`='" . $this->mysql_clean($staff['id']) . "' AND `type`='employee' LIMIT 1 "); if (!empty($q8['filename'])) { $staff['profile_picture'] = $q8['filename']; } else { $staff['profile_picture'] = ''; } $staff['error'] = '0'; $staff['error_details'] = ''; $staff['permissions'] = $permissions; $staff['session'] = $session; $staff['options'] = $eoptions; return $staff; } function contacts_by_day($id, $check_date) { global $employee; if ($employee['permissions']['admin'] != '1') { $add_where = "AND (`owner`='" . $id . "' OR `public`='1')"; } else { $add_where = ''; } $q = $this->get_array(" SELECT COUNT(*) FROM `ppSD_contacts` WHERE `status`='1' AND `next_action` LIKE '" . $check_date . "%' $add_where "); return $q['0']; } function overdue_contacts($id) { global $employee; if ($employee['permissions']['admin'] != '1') { $add_where = "AND (`owner`='" . $id . "' OR `public`='1')"; } else { $add_where = ''; } $q = $this->get_array(" SELECT COUNT(*) FROM `ppSD_contacts` WHERE `status`='1' AND `next_action`<='" . current_date() . "' $add_where "); return $q['0']; } function opportunity_contacts($id) { global $employee; if ($employee['permissions']['admin'] != '1') { $add_where = "AND (`owner`='" . $id . "' OR `public`='1')"; } else { $add_where = ''; } $q = $this->get_array(" SELECT COUNT(*) FROM `ppSD_contacts` WHERE `status`='1' AND `type`='Opportunity' $add_where "); return $q['0']; } function get_employees($type = 'array') { $STH = $this->run_query(" SELECT `id`,`username` FROM `ppSD_staff` WHERE `id`!='2' ORDER BY `id` ASC "); $list = ''; $emps = array(); while ($row = $STH->fetch()) { if ($type == 'select') { $list .= ''; } else { $emps[] = $row['id']; } } if ($type == 'select') { return $list; } else { return $emps; } } /** * Permission Group */ function permission_group($id) { $return = array(); $q1 = $this->get_array(" SELECT * FROM `ppSD_permission_groups` WHERE `id`='$id' LIMIT 1 "); if ($q1['admin'] == '1') { $return['admin'] = '1'; $return['name'] = $q1['name']; $return['scopes'] = array(); } else { $permissions = array(); $scopes = array(); $STH = $this->run_query(" SELECT `scope`,`action`,`allowed` FROM `ppSD_permission_group_settings` WHERE `group_id`='$id' "); $scope_list = array(); while ($row = $STH->fetch()) { $scopes[$row['scope']] = $row['allowed']; $scope_list[$row['scope']][] = $row['action']; // $scopes[$row['scope']]['list'][] = $row['action']; } $return['admin'] = '0'; $return['name'] = $q1['name']; $return['scopes'] = $scopes; $return['scope_list'] = $scope_list; $return['start_page'] = $q1['start_page']; } return $return; } /** * Color picker */ function color_picker($name, $color = '') { $id = rand(100, 99999999); $html = ""; $html .= ''; return $html; } /** * Get a list of permission groups. */ function list_permission_groups($selected = '') { $list = ''; $STH = $this->run_query("SELECT `id`,`name` FROM `ppSD_permission_groups`"); while ($row = $STH->fetch()) { if ($selected == $row['id']) { $list .= ""; } else { $list .= ""; } } return $list; } /** * Get a list of departments. */ function list_departments($selected = '') { $list = ''; $depts = $this->get_option('departments'); $blow_depts = explode(',', $depts); foreach ($blow_depts as $anOpt) { if ($selected == $anOpt) { $list .= ''; } else { $list .= ''; } } return $list; } /** * @param string $selected Selected provider, if any * * @return string Select list of providers */ function shipping_providers($selected = '') { $providers = array( 'USPS', 'FedEx', 'UPS', 'DHL', 'OnTrac', 'LaserShip', 'Canada Post', 'Australia Post', 'New Zealand Post', 'Royal Mail', 'Other' ); $list = ''; $list .= ''; foreach ($providers as $name) { if ($selected == $name) { $checked = "selected=\"selected\""; } else { $checked = ""; } $list .= ''; } return $list; } /** * When an employee accesses a * primary page location without * permissions, this will appear. */ function show_no_permissions($msg = 'permissions', $custom_msg = '', $slider_error = '0') { if ($slider_error != '1') { echo "
     
    Permission Denied
    "; } echo "
    "; if ($msg == 'custom' || empty($msg)) { echo "

    Error!

    $custom_msg

    "; } else if ($msg == 'permissions') { echo "

    Error!

    You do not have permission to use this feature.

    If you believe that this is an error, please contact an administrator to ensure that your employee permissions are properly established.

    "; } else if ($msg == 'noexists') { echo "

    Error!

    The item that you are trying to view does not exist.

    "; } else { echo "

    Error!

    An error has occurred, although the source of this error is unknown. Please consider creating a ticket with Castlamp support to solve this issue if it persists.

    "; } if ($slider_error != '1') { echo "
    "; } } function show_beta_error() { echo "
    Feature Unavailable

    Feature Unavailable

    This feature is currently in development and will be available in the next version of the program.

    "; } /** * Error for popup windows. */ function show_popup_error($error) { echo "

    Error!

    $error

    "; } /** * Get an employee's permissions * $task = specific task * $type = read, write, edit, admin, etc. */ function check_permissions($task, $employee_array) { if (!is_array($employee_array)) { $employee_array = $this->check_employee(); } // Admin? if ($employee_array['permissions']['admin'] == '1') { return '1'; } else { $break_task = explode('-',$task); if ( ! empty($employee_array['permissions']['scope_list'][$task]) && $employee_array['permissions']['scopes'][$task] == 'all' ) { return '1'; } else if ( ! empty($employee_array['permissions']['scopes'][$break_task['0']]) && $employee_array['permissions']['scopes'][$break_task['0']] == 'all' ) { return '1'; } else { return '0'; } } } /** * Lock a staff member's account. */ function lock_account($username) { $q1 = $this->update(" UPDATE `ppSD_staff` SET `locked`='" . current_date() . "',`locked_ip`='" . $this->mysql_clean(get_ip()) . "' WHERE `username`='" . $this->mysql_clean($username) . "' LIMIT 1 "); return '1'; } /** * Unlock a staff member's account. */ function unlock_account($username) { $q1 = $this->update(" UPDATE `ppSD_staff` SET `locked`='0000-00-00 00:00:00',`locked_ip`='',`login_attempts`='0' WHERE `username`='" . $this->mysql_clean($username) . "' LIMIT 1 "); return '1'; } /** * Create a rich text editor instance. */ function richtext($width = '100%', $height = '250px', $id = '', $numb = '0', $simple = '0') { if (empty($id)) { // $id = '.richtext'; } else { $id = '#' . $id; } $random = rand(100, 999999); $item = ''; if ($numb <= 0) { // $item = " "; /* $item = " "; */ } /* var editor = $(\"" . $id . "\").cleditor({ width:\"$width\", height:\"$height\", fonts: \"Arial,Courier New,Georgia,Tahoma,Trebuchet MS,Verdana\", */ if (empty($id)) { $item .= " "; } return $item; } /** * Get a note label. */ function get_note_label($id) { $q = $this->get_array("SELECT * FROM `ppSD_note_labels` WHERE `id`='" . $this->mysql_clean($id) . "'"); $format = "
    " . $q['label'] . "
    "; $q['formatted'] = $format; return $q; } /** * Get a note uploads. */ function get_note_uploads($note_id) { $attachments = ''; $STH = $this->run_query("SELECT * FROM `ppSD_uploads` WHERE `note_id`='" . $this->mysql_clean($note_id) . "'"); while ($row = $STH->fetch()) { if (empty($row['name'])) { $row['name'] = $row['filename']; } if (strlen($row['name']) > 15) { $row['name'] = substr($row['name'], 0, 15) . "..."; } $attachments .= "
  • " . $row['name'] . "\"Delete\"
  • "; } if (!empty($attachments)) { $attachments = "
      " . $attachments . "
    "; } return $attachments; } /** * Get a default template */ function get_default_template($type) { global $employee; $final_content = ''; if (!empty($employee['options']['email_template'])) { $q1 = $this->template_info($employee['options']['email_template']); if (!empty($q1['content'])) { $final_content = $q1['content']; } } if (empty($final_content)) { $q2 = $this->get_array(" SELECT `content` FROM `ppSD_templates_email` WHERE `default_for`='$type' LIMIT 1 "); if (!empty($q2['content'])) { $final_content = $q2['content']; } } return $this->basic_email_changes($final_content); } /** * Get a list of email headers */ function get_email_templates_type($type, $selected = '', $custom = '0') { global $employee; $STH = $this->run_query(" SELECT `template`,`title` FROM `ppSD_templates_email` WHERE `type`='" . $this->mysql_clean($type) . "' AND `custom`='" . $this->mysql_clean($custom) . "' AND (`owner`='" . $employee['id'] . "' OR `public`='1') ORDER BY `title` ASC "); $list = ''; while ($row = $STH->fetch()) { if ($selected == $row['template']) { $list .= ''; } else { $list .= ''; } } return $list; } /** * @param $perm contact, member, account, etc. * @param $employee Employee array. * * @return array */ function get_headings($perm, $employee) { $check1 = $perm . '_headings_' . $employee['id']; $headings = $this->get_option($check1); if (!empty($headings)) { return explode(',', $headings); } else { if ($employee['permissions']['admin'] == '1') { $check2 = $perm . '_headings_admin'; $array = explode(',', $this->get_option($check2)); return $array; } else { $check3 = $perm . '_headings'; $array = explode(',', $this->get_option($check3)); return $array; } } } function cell_upsell($product_id = '', $type = 'checkout') { if (!empty($product_id)) { $cart = new cart; $product = $cart->get_product($product_id); $value = $product['data']['name']; $value_id = $product['data']['id']; } else { $value = ''; $value_id = ''; } $rand = md5(rand(1000, 99999) . time()); $list = ''; $list .= ''; $list .= ''; $list .= 'Select from list'; $list .= ''; $list .= ''; $list .= 'Select from list'; $list .= ''; $list .= ''; $list .= $this->timeframe_field('content[' . $number . '][time]', $timeframe, '0'); $list .= ''; $list .= 'Remove'; $list .= ''; return $list; } function cell_product_option($number, $id = '') { if (!empty($id) && $id != 'undefined') { $cart = new cart; $prod_opt = $cart->get_product_option($id); $name = $prod_opt['option_value']; } else { $name = ''; } $list = '
    '; $list .= 'Option ' . $number . ''; $list .= '
    '; $list .= '
    Remove
    '; $list .= '
    '; $list .= '
    '; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; if (!empty($id)) { $up = 0; $something = explode(',', $prod_opt['options']); foreach ($something as $entry) { $up++; $list .= $this->cell_product_option_inner($number, $up, $prod_opt['product_id'], $entry); } } $list .= '
    Option NameAdjust PriceAdjust WeightIn StockSync ID
    '; $list .= 'Add Option Value'; $list .= '
    '; $list .= '
    '; return $list; } function cell_product_option_inner($main_option, $number, $id = '', $option_name = '') { if (!empty($id) && $id != 'undefined') { $cart = new cart; $prod_opt = $cart->get_product_option_details($id, $option_name); $name = $prod_opt['option1']; $price_change = $prod_opt['price_adjust']; $weight_change = $prod_opt['weight_adjust']; $stock = $prod_opt['qty']; //qty price_adjust weight_adjust } else { $name = ''; $price_change = ''; $weight_change = ''; $stock = ''; } $list = ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= ''; $list .= 'Remove'; $list .= ''; return $list; } function cell_product_tier($number, $id = '') { if (!empty($id) && $id != 'undefined') { $cart = new cart; $iter = $cart->get_tier($id); $low = $iter['low']; $high = $iter['high']; $discount = $iter['discount']; } else { $low = ''; $high = ''; $discount = ''; } $list = ''; $list .= ''; $list .= ''; $list .= '%'; $list .= 'Remove'; $list .= ''; return $list; } function cell_form_product($current, $id = '') { $rand = rand(10, 9999); if (!empty($id) && $id != 'undefined') { $form = new form; $item = $form->get_form_product($id); $qty_control = $item['qty_control']; $type = $item['type']; $id = 'product-' . $current; $prod_id = $item['product_id']; $prod_name = $item['product']['data']['name']; } else { $qty_control = '1'; $type = '1'; $prod_id = ''; $prod_name = ''; $id = 'product-' . $current; } $list = ''; $list .= ' '; $list .= 'Select from list'; $list .= ' '; $list .= ''; $list .= ''; $list .= '