3 files deleted
1 files renamed
10 files modified
2 files added
| File was renamed from alegacy.php |
| | |
| | | <?php |
| | | /* |
| | | Plugin Name: Legacy Extension |
| | | Plugin URI: https://legacytattooremoval.ca/ |
| | | Description: An Extension of JakeVan Base, for Legacy Tattoo Removal. |
| | | Plugin Name: Tatty Soap Extension |
| | | Plugin URI: https://tattysoap.ca/ |
| | | Description: An Extension of JakeVan Base, for Tatty Soap. |
| | | Author: Jake Vanderwerf |
| | | Version: 1.0.0 |
| | | Author URI: https://jakevan.ca/ |
| | | Textdomain: altr |
| | | Textdomain: atat |
| | | */ |
| | | |
| | | //PLUGIN STRUCTURE |
| | | // /content/ |
| | | // art.php |
| | | // design.php |
| | | // development.php |
| | | // _setup.php |
| | | // strategy.php |
| | | // writing.php |
| | | // /dashboard/ |
| | | // _setup.php |
| | | // /files/ |
| | | // fileManagement.php |
| | | // /forms/ |
| | | // _setup.php |
| | | // /login/ |
| | | // _setup.php |
| | | // /taxonomies/ |
| | | // city.php |
| | | // form.php |
| | | // media.php |
| | | // progress.php |
| | | // _setup.php |
| | | // style.php |
| | | // target.php |
| | | // theme.php |
| | | // /users/ |
| | | // client.php |
| | | // _setup.php |
| | | // ajakevan.php <-- main plugin file |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | |
| | | use JVBase\managers\CacheManager; |
| | | |
| | | add_filter('jvb_base', function () { |
| | | return 'altr_'; |
| | | return 'atat_'; |
| | | }); |
| | | |
| | | |
| | | const AJV_DIR = WP_PLUGIN_DIR . '/alegacy'; |
| | | define('AJV_URL', plugin_dir_url(__FILE__)); |
| | | const ATAT_DIR = WP_PLUGIN_DIR . '/atatty'; |
| | | define('ATAT_URL', plugin_dir_url(__FILE__)); |
| | | |
| | | require(AJV_DIR . '/content/_setup.php'); |
| | | require(AJV_DIR . '/dashboard/_setup.php'); |
| | | require(AJV_DIR . '/email/_setup.php'); |
| | | require(AJV_DIR . '/forms/_setup.php'); |
| | | require(AJV_DIR . '/login/_setup.php'); |
| | | require(AJV_DIR . '/taxonomies/_setup.php'); |
| | | require(AJV_DIR . '/users/_setup.php'); |
| | | //require(AJV_DIR . '/files/fileManagement.php'); |
| | | require(ATAT_DIR . '/content/_setup.php'); |
| | | require(ATAT_DIR . '/dashboard/_setup.php'); |
| | | require(ATAT_DIR . '/email/_setup.php'); |
| | | require(ATAT_DIR . '/forms/_setup.php'); |
| | | require(ATAT_DIR . '/login/_setup.php'); |
| | | require(ATAT_DIR . '/taxonomies/_setup.php'); |
| | | require(ATAT_DIR . '/users/_setup.php'); |
| | | //require(ATAT_DIR . '/files/fileManagement.php'); |
| | | |
| | | |
| | | /** |
| | |
| | | * - rewrite rules |
| | | * - archive title |
| | | */ |
| | | add_filter('jvb_site', 'altr_setup_site'); |
| | | function altr_setup_site():array |
| | | add_filter('jvb_site', 'atat_setup_site'); |
| | | function atat_setup_site():array |
| | | { |
| | | return [ |
| | | 'icons' => 'light', |
| | | 'is_directory' => true, //as in, a membership directory |
| | | 'is_directory' => false, //as in, a membership directory |
| | | 'has_membership' => false, |
| | | 'has_map' => true, |
| | | 'dashboard' => true, |
| | | 'referrals' => true, |
| | | 'magicLink' => true, |
| | | 'support' => false, |
| | | 'feed_block' => true, |
| | | 'feed_block' => false, |
| | | 'email_notifications' => false, |
| | | 'integrations' => [ |
| | | 'bluesky' => true, |
| | | 'bluesky' => false, |
| | | 'cloudflare' => true, |
| | | 'facebook' => true, |
| | | 'maps' => true, |
| | |
| | | * - term_approval = (bool) verified users can create new terms, but needs approval |
| | | * - member_only = (array) if empty, open to any registered user. otherwise an array of registered user roles |
| | | */ |
| | | //add_filter('jvb_membership', 'altr_setup_membership'); |
| | | //function altr_setup_membership():array |
| | | //add_filter('jvb_membership', 'atat_setup_membership'); |
| | | //function atat_setup_membership():array |
| | | //{ |
| | | // return [ |
| | | // 'member_content' => true, |
| | |
| | | // ]; |
| | | //} |
| | | // |
| | | //add_filter('jvbLoadingQuips', 'altr_loading_quips'); |
| | | //function altr_loading_quips(array $quips):array |
| | | //add_filter('jvbLoadingQuips', 'atat_loading_quips'); |
| | | //function atat_loading_quips(array $quips):array |
| | | //{ |
| | | // return []; |
| | | //} |
| | | |
| | | |
| | | add_filter('jvbAboveHeader', 'altr_legacy_header'); |
| | | function altr_legacy_header(string $header):string |
| | | //add_filter('jvbAboveHeader', 'atat_header'); |
| | | function atat_legacy_header(string $header):string |
| | | { |
| | | return '<p><b>WED - SUN</b> <span class="hide-small"> </span>10<span class="hide-small">:00</span>AM - 6<span class="hide-small">:00</span>PM</p><p>By Appointment<span class="hide-small"> Only</span></p>'; |
| | | } |
| | | |
| | | |
| | | |
| | | add_filter('jvbMenuExtra', 'altr_contact_nav', 10, 3); |
| | | function altr_contact_nav(string $nav, string $menuName, array $block):string |
| | | add_filter('jvbMenuExtra', 'atat_contact_nav', 10, 3); |
| | | function atat_contact_nav(string $nav, string $menuName, array $block):string |
| | | { |
| | | if (array_key_exists('attrs', $block) |
| | | && array_key_exists('className', $block['attrs']) |
| | |
| | | ) { |
| | | return $nav.'<li><ul class="socials"> |
| | | <li> |
| | | <a href="https://www.facebook.com/LegacyTattooRemoval/" target="_blank" rel="nofollow" title="Find us on Facebook"> |
| | | <a href="https://www.facebook.com/tatty.soap/" target="_blank" rel="nofollow" title="Find us on Facebook"> |
| | | '.jvbIcon('facebook-logo').' |
| | | <span class="screen-reader-text"> |
| | | Find us on Facebook |
| | |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="https://www.instagram.com/LegacyTattooRemoval/" target="_blank" rel="nofollow" title="Find us on Instagram"> |
| | | <a href="https://www.instagram.com/tatty.soap" target="_blank" rel="nofollow" title="Find us on Instagram"> |
| | | '.jvbIcon('instagram-logo').' |
| | | <span class="screen-reader-text"> |
| | | Find us on Instagram |
| | | </span> |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="https://bsky.app/profile/legacyrebrand.test" target="_blank" rel="nofollow" title="Find us on Bluesky"> |
| | | '.jvbIcon('butterfly').' |
| | | <span class="screen-reader-text"> |
| | | Find us on Bluesky |
| | | </span> |
| | | </a> |
| | | </li> |
| | | </ul></li>'; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | add_action('jvbBlockStyles', 'altr_blockStyles'); |
| | | function altr_blockStyles() |
| | | add_action('jvbBlockStyles', 'atat_blockStyles'); |
| | | function atat_blockStyles() |
| | | { |
| | | register_block_style( |
| | | 'core/list', |
| | | [ |
| | | 'name'=>'blocky', |
| | | 'label' => __('Blocky', 'altr') |
| | | 'label' => __('Blocky', 'atat') |
| | | ] |
| | | ); |
| | | register_block_style( |
| | | 'core/group', |
| | | [ |
| | | 'name'=>'triangle', |
| | | 'label' => __('Triangle', 'altr') |
| | | 'label' => __('Triangle', 'atat') |
| | | ] |
| | | ); |
| | | } |
| | | |
| | | |
| | | |
| | | function altr_render_core_post_excerpt(array $block, string $content) |
| | | { |
| | | |
| | | global $post; |
| | | if (!has_excerpt($post)) { |
| | | return ''; |
| | | } |
| | | $excerpt = $post->post_excerpt; |
| | | |
| | | $before = is_singular() ? '<span class="tldr" title="Too Long, Didn\'t Read">TLDR:</span>' : ''; |
| | | $excerpt = $before.$excerpt; |
| | | return '<div class="excerpt">'.apply_filters('the_content', $excerpt).'</div>'; |
| | | } |
| | | |
| | | add_action( 'init', 'altr_add_excerpts_to_pages' ); |
| | | function altr_add_excerpts_to_pages() { |
| | | add_post_type_support( 'page', 'excerpt' ); |
| | | } |
| | |
| | | */ |
| | | |
| | | |
| | | require(AJV_DIR . '/content/sample.php'); |
| | | require(ATAT_DIR . '/content/soap.php'); |
| | | |
| | | add_filter('jvb_content', 'altr_content'); |
| | | function altr_content($content):array |
| | | add_filter('jvb_content', 'atat_content'); |
| | | function atat_content($content):array |
| | | { |
| | | return [ |
| | | 'sample' => altr_sample(), |
| | | 'soap' => atat_soap(), |
| | | ]; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /content/soap.php |
| | | function atat_soap():array |
| | | { |
| | | return [ |
| | | 'singular' => 'Soap', |
| | | 'plural' => 'Soaps', |
| | | 'dash_title' => 'Soap', |
| | | 'dash_description' => 'Manage your soap', |
| | | 'breadcrumb' => 'Soap', |
| | | 'icon' => 'sparkle', |
| | | 'integrations' => [ |
| | | 'helcim' => [ |
| | | 'initial' => true, |
| | | 'update' => true, |
| | | ], |
| | | ], |
| | | 'rewrite' => [ |
| | | 'slug' => 'soap', |
| | | 'with_front' => false, |
| | | ], |
| | | 'fields' => [ |
| | | 'post_title' => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Name', |
| | | ], |
| | | 'post_status' => [ |
| | | 'type' => 'radio', |
| | | 'label' => 'Status', |
| | | 'hidden' => true, |
| | | 'options' => [ |
| | | 'publish' => 'Show', |
| | | 'draft' => 'Hide', |
| | | 'trash' => 'Scrap', |
| | | 'delete' => 'Permanently Delete' |
| | | ] |
| | | ], |
| | | 'post_slug' => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Slug', |
| | | 'hidden' => true, |
| | | ], |
| | | 'post_content' => [ |
| | | 'type' => 'textarea', |
| | | 'label' => 'Description', |
| | | 'quill' => true, |
| | | ], |
| | | 'ingredients' => [ |
| | | 'type' => 'textarea', |
| | | 'label' => 'Ingredients', |
| | | 'quill' => true, |
| | | ], |
| | | 'extra_info' => [ |
| | | 'type' => 'textarea', |
| | | 'label' => 'Extra Info', |
| | | 'quill' => true, |
| | | ], |
| | | 'flags' => [ |
| | | 'type' => 'taxonomy', |
| | | 'taxonomy' => 'flags', |
| | | 'term' => 'flags', |
| | | 'label' => 'Flags', |
| | | ] |
| | | ], |
| | | 'single_image' => true, |
| | | 'upload_title' => 'Upload Soaps', |
| | | ]; |
| | | } |
| | | |
| | |
| | | <?php |
| | | |
| | | $jvbEmail = add_filter('jvb_email', 'altr_email'); |
| | | $jvbEmail = add_filter('jvb_email', 'atat_email'); |
| | | |
| | | function altr_email(array $defaults):array |
| | | function atat_email(array $defaults):array |
| | | { |
| | | return [ |
| | | 'colours' => [ |
| | | 'action-0' => '#ff0080', |
| | | 'action-50' => '#ff2492', |
| | | 'action-100' => '#ff47a4', |
| | | 'action-200' => '#ff6bb5', |
| | | 'secondary-0' => '#D69121', |
| | | 'secondary-50' => '#ffc421', |
| | | 'secondary-100' => '#ffcd44', |
| | | 'secondary-200' => '#ffd768', |
| | | 'light' => '#efefef', |
| | | 'light-50' => '#e2e2e2', |
| | | 'light-100' => '#d5d5d5', |
| | | 'light-200' => '#c9c9c9', |
| | | 'dark' => '#151515', |
| | | 'dark-50' => '#222222', |
| | | 'dark-100' => '#2e2e2e', |
| | | 'dark-200' => '#3b3b3b', |
| | | 'action-0' => '#AD5B4B', |
| | | 'action-50' => '#b7695a', |
| | | 'action-100' => '#bf796c', |
| | | 'action-200' => '#c78a7e', |
| | | 'secondary-0' => '#DA993F', |
| | | 'secondary-50' => '#dea454', |
| | | 'secondary-100' => '#e2b06a', |
| | | 'secondary-200' => '#e6bb7f', |
| | | 'light' => '#fdfcfc', |
| | | 'light-50' => '#f7f4f3', |
| | | 'light-100' => '#f0ebea', |
| | | 'light-200' => '#eae3e2', |
| | | 'dark' => '#503d3a', |
| | | 'dark-50' => '#594440', |
| | | 'dark-100' => '#624b47', |
| | | 'dark-200' => '#6b514d', |
| | | 'action-contrast'=> '', |
| | | 'secondary-contrast'=> '', |
| | | ], |
| | | 'content' => [ |
| | | 'title' => get_bloginfo('name'), |
| | | 'subjectPrefix' => '['.get_bloginfo('name').']', |
| | | 'signature' => '<p>  — ♡ the edmonton.ink crew</p>', |
| | | 'signature' => '<p>  — ♡ Madi Mori</p>', |
| | | 'footer' => [ |
| | | '<p>© ' . date('Y') . ' edmonton.ink — Your tattoo scene on your screen.</p>', |
| | | '<p><a href="' . get_home_url() . '" class="text-link">edmonton.ink</a></p>' |
| | | '<p>© ' . date('Y') . ' Tatty Soap</p>', |
| | | '<p><a href="' . get_home_url() . '" class="text-link">Tatty Soap</a></p>' |
| | | ] |
| | | ], |
| | | 'types' => [ |
| | | 'newUser' => [ |
| | | 'subject' => 'Welcome to Legacy! Finish creating your account.', |
| | | 'subject' => 'Welcome to Tatty Soap! Finish creating your account.', |
| | | 'showPrefix' => true, |
| | | ], |
| | | 'resetPass' => [ |
| | |
| | | * |
| | | */ |
| | | |
| | | add_filter('jvbNewUserEmail', 'altr_new_user_email', 10, 2); |
| | | function altr_new_user_email(string $message, WP_User $user):string |
| | | add_filter('jvbNewUserEmail', 'atat_new_user_email', 10, 2); |
| | | function atat_new_user_email(string $message, WP_User $user):string |
| | | { |
| | | |
| | | $user_login = $user->user_login; |
| | |
| | | |
| | | $message = sprintf( |
| | | '<p>Hey %s!</p> |
| | | <p>Thanks for signing up for our referral program at Legacy.</p> |
| | | <p>Thanks for signing up for a Tatty Soap account.</p> |
| | | <p><b>Login with your email: </b> %s</p> |
| | | <p>To set your password and access your account, click the button below:</p>%s |
| | | <p>Or copy and paste this link into your browser: %s</p> |
| | |
| | | * Custom upload directory structure for edmonton.ink |
| | | * Recreates the original directory logic with shops, artists, partners, etc. |
| | | */ |
| | | add_filter('jvb_upload_directory', 'altr_upload_directory', 10, 4); |
| | | function altr_upload_directory($path, $post_type, $user_id, $term_id) |
| | | add_filter('jvb_upload_directory', 'atat_upload_directory', 10, 4); |
| | | function atat_upload_directory($path, $post_type, $user_id, $term_id) |
| | | { |
| | | switch ($post_type) { |
| | | case 'shop': |
| | |
| | | * Custom filename generation for edmonton.ink |
| | | * Recreates the original SEO-friendly filename logic |
| | | */ |
| | | add_filter('jvb_upload_filename', 'altr_filename', 10, 6); |
| | | function altr_filename($filename, $original_name, $user_data, $post_type, $user_id, $term_id) |
| | | add_filter('jvb_upload_filename', 'atat_filename', 10, 6); |
| | | function atat_filename($filename, $original_name, $user_data, $post_type, $user_id, $term_id) |
| | | { |
| | | // Get artist/shop/partner details |
| | | $post = (int)get_user_meta($user_id, BASE . 'link', true); |
| | |
| | | '%s-best-tattoo-shop-%s-%s', |
| | | sanitize_title($city), |
| | | sanitize_title($shop_term->name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | case 'artist': |
| | | // Profile images: {city}-best-{type}-{specialties}-{name} |
| | | $type = jvbArtistType($post); |
| | | $specialties = altr_get_artist_top_styles($post); |
| | | $specialties = atat_get_artist_top_styles($post); |
| | | |
| | | return sprintf( |
| | | '%s-best-%s-%s-%s-%s', |
| | |
| | | sanitize_title($type), |
| | | sanitize_title($specialties), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | case 'partner': |
| | |
| | | sanitize_title($city), |
| | | sanitize_title($service_type), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | case 'tattoo': |
| | | // Get style and subject if available |
| | | $style = altr_get_primary_taxonomy($post, BASE . 'style'); |
| | | $subject = altr_get_primary_taxonomy($post, BASE . 'theme'); |
| | | $style = atat_get_primary_taxonomy($post, BASE . 'style'); |
| | | $subject = atat_get_primary_taxonomy($post, BASE . 'theme'); |
| | | |
| | | return sprintf( |
| | | '%s-%s-%s-tattoo-by-%s-%s', |
| | |
| | | sanitize_title($style), |
| | | sanitize_title($subject), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | case 'artwork': |
| | | // Get style and subject if available |
| | | $style = altr_get_primary_taxonomy($post, BASE . 'artstyle'); |
| | | $subject = altr_get_primary_taxonomy($post, BASE . 'arttheme'); |
| | | $style = atat_get_primary_taxonomy($post, BASE . 'artstyle'); |
| | | $subject = atat_get_primary_taxonomy($post, BASE . 'arttheme'); |
| | | |
| | | return sprintf( |
| | | '%s-%s-%s-artwork-by-%s-%s', |
| | |
| | | sanitize_title($style), |
| | | sanitize_title($subject), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | case 'piercing': |
| | | // Get style if available |
| | | $style = altr_get_primary_taxonomy($post, BASE . 'pstyle'); |
| | | $style = atat_get_primary_taxonomy($post, BASE . 'pstyle'); |
| | | |
| | | return sprintf( |
| | | '%s-%s-piercing-by-%s-%s', |
| | | sanitize_title($city), |
| | | sanitize_title($style), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | |
| | | default: |
| | |
| | | sanitize_title($city), |
| | | sanitize_title($content_type), |
| | | sanitize_title($user_data->display_name), |
| | | altr_get_counter($user_id, $post_type) |
| | | atat_get_counter($user_id, $post_type) |
| | | ); |
| | | } |
| | | } |
| | |
| | | * Custom alt text generation for edmonton.ink |
| | | * Recreates the original detailed alt text logic |
| | | */ |
| | | add_filter('jvb_upload_alt_text', 'altr_alt_text', 10, 7); |
| | | function altr_alt_text($alt_text, $file, $user_data, $post_id, $post_type, $user_id, $term_id) |
| | | add_filter('jvb_upload_alt_text', 'atat_alt_text', 10, 7); |
| | | function atat_alt_text($alt_text, $file, $user_data, $post_id, $post_type, $user_id, $term_id) |
| | | { |
| | | $post = get_user_meta($user_id, BASE . 'link', true); |
| | | |
| | |
| | | ); |
| | | |
| | | case 'artist': |
| | | $specialties = altr_get_artist_top_styles($post); |
| | | $specialties = atat_get_artist_top_styles($post); |
| | | |
| | | return sprintf( |
| | | 'A photo of %s %s %s, specializing in %s tattoos', |
| | |
| | | * Custom image title generation for edmonton.ink |
| | | * Recreates the original SEO-friendly title logic |
| | | */ |
| | | add_filter('jvb_upload_image_title', 'altr_image_title', 10, 7); |
| | | function altr_image_title($title, $file, $user_data, $post_id, $post_type, $user_id, $term_id) |
| | | add_filter('jvb_upload_image_title', 'atat_image_title', 10, 7); |
| | | function atat_image_title($title, $file, $user_data, $post_id, $post_type, $user_id, $term_id) |
| | | { |
| | | $post = get_user_meta($user_id, BASE . 'link', true); |
| | | |
| | |
| | | /** |
| | | * Get the next file counter for edmonton.ink style counters |
| | | */ |
| | | function altr_get_counter($user_id, $post_type) |
| | | function atat_get_counter($user_id, $post_type) |
| | | { |
| | | // Get counter key for this post type |
| | | $counter_key = BASE . str_replace(BASE, '', $post_type) . '_counter'; |
| | |
| | | /** |
| | | * Get artist's top styles for filename generation |
| | | */ |
| | | function altr_get_artist_top_styles($post_id) |
| | | function atat_get_artist_top_styles($post_id) |
| | | { |
| | | if (!function_exists('JVBase\\meta\\MetaManager')) { |
| | | // Fallback if MetaManager not available |
| | |
| | | /** |
| | | * Get primary taxonomy term for content |
| | | */ |
| | | function altr_get_primary_taxonomy($post_id, $taxonomy) |
| | | function atat_get_primary_taxonomy($post_id, $taxonomy) |
| | | { |
| | | $terms = wp_get_post_terms($post_id, $taxonomy, array('fields' => 'names')); |
| | | if (is_wp_error($terms) || empty($terms)) { |
| | |
| | | * Get partner type (placeholder - implement based on your edmonton.ink logic) |
| | | * This function was referenced in the original but not provided |
| | | */ |
| | | function altr_partner_type($post_id) |
| | | function atat_partner_type($post_id) |
| | | { |
| | | // Implement based on your edmonton.ink logic |
| | | // This might look at a taxonomy or meta field |
| | |
| | | * |
| | | ************************************************************/ |
| | | |
| | | require(AJV_DIR . '/forms/contact.php'); |
| | | require(ATAT_DIR . '/forms/contact.php'); |
| | | |
| | | add_filter('jvb_register_forms', 'altr_register_forms'); |
| | | add_filter('jvb_register_forms', 'atat_register_forms'); |
| | | |
| | | function altr_register_forms($forms) { |
| | | $forms['contact'] = altr_contact(); |
| | | function atat_register_forms($forms) { |
| | | $forms['contact'] = atat_contact(); |
| | | return $forms; |
| | | } |
| | |
| | | <?php |
| | | |
| | | function altr_contact():array |
| | | function atat_contact():array |
| | | { |
| | | return [ |
| | | 'title' => 'Contact', |
| | | 'description' => [ |
| | | 'You can always text, call, or email.', |
| | | 'Or you can fill out this form and we\'ll get back to you as soon as we can.', |
| | | ], |
| | | 'title' => '', |
| | | 'description' => [], |
| | | 'submit' => 'Contact', |
| | | 'success_title' => 'Success!', |
| | | 'success_description' => [ |
| | | 'We got it.', |
| | | 'We\'ll get back to you as soon as we can - usually pretty quick (unless it\'s a Monday or a Tuesday)' |
| | | 'We\'ll get back to you as soon as we can' |
| | | ], |
| | | 'email_subject' => '[CONTACT]', |
| | | 'fields' => [ |
| | |
| | | <?php |
| | | // /login/setup.php |
| | | add_filter('jvb_login', 'altr_setup_login'); |
| | | function altr_setup_login():array |
| | | add_filter('jvb_login', 'atat_setup_login'); |
| | | function atat_setup_login():array |
| | | { |
| | | return [ |
| | | 'login' => [ |
| | | 'title' => 'Log in', |
| | | 'description' => ['Log in to your account to see your referral balance and get your unique code!'], |
| | | 'description' => ['Log in to your account to create new orders or see your order history!'], |
| | | 'submit' => 'Log in', |
| | | ], |
| | | 'favourites' => [ |
| | |
| | | 'title' => 'Create your Account', |
| | | 'submit' => 'Create Account', |
| | | 'email' => [ |
| | | 'subject' => '[Legacy] Finish Creating Your Account' |
| | | 'subject' => '[TATTYSOAP] Finish Creating Your Account' |
| | | ], |
| | | 'success' => [ |
| | | 'title' => 'Success!', |
| | |
| | | * -> add use_in_stats (bool) to use the field in user statistics |
| | | */ |
| | | |
| | | require(AJV_DIR . '/taxonomies/age.php'); |
| | | require(AJV_DIR . '/taxonomies/body-part.php'); |
| | | require(AJV_DIR . '/taxonomies/goal.php'); |
| | | require(AJV_DIR . '/taxonomies/person.php'); |
| | | require(AJV_DIR . '/taxonomies/section.php'); |
| | | require(AJV_DIR . '/taxonomies/skin-type.php'); |
| | | require(AJV_DIR . '/taxonomies/style.php'); |
| | | require(AJV_DIR . '/taxonomies/theme.php'); |
| | | require(AJV_DIR . '/taxonomies/timeline.php'); |
| | | require(ATAT_DIR . '/taxonomies/flags.php'); |
| | | |
| | | add_filter('jvb_taxonomy', 'altr_taxonomy'); |
| | | function altr_taxonomy():array |
| | | add_filter('jvb_taxonomy', 'atat_taxonomy'); |
| | | function atat_taxonomy():array |
| | | { |
| | | return [ |
| | | 'age' => altr_age(), |
| | | 'body-part' => altr_body_part(), |
| | | 'goal' => altr_goal(), |
| | | 'person' => altr_person(), |
| | | 'skin-type' => altr_skin_type(), |
| | | 'timeline' => altr_timeline(), |
| | | 'style' => altr_style(), |
| | | 'theme' => altr_theme(), |
| | | 'section' => altr_section(), |
| | | 'flags' => atat_flags(), |
| | | ]; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/flags.php |
| | | function atat_flags():array |
| | | { |
| | | return [ |
| | | 'singular' => 'Flag', |
| | | 'plural' => 'Flags', |
| | | 'icon' => 'warning-diamond', |
| | | 'rewrite' => [ |
| | | 'slug' => 'flagged', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'hierarchical' => true, |
| | | 'for_content' => [ |
| | | 'soap', |
| | | ], |
| | | 'fields' => [ |
| | | 'term_name' => [ |
| | | 'label' => 'Name', |
| | | 'type' => 'text', |
| | | 'quickEdit' => true, |
| | | ], |
| | | 'common' => [ 'wiki', 'alternate_name', 'keywords' ] |
| | | ] |
| | | ]; |
| | | } |
| | |
| | | use JVBase\managers\CacheManager; |
| | | |
| | | add_filter('jvb_base', function () { |
| | | return 'altr_'; |
| | | return 'atat_'; |
| | | }); |
| | | |
| | | |
| | | const AJV_DIR = WP_PLUGIN_DIR . '/ajakevan'; |
| | | define('AJV_URL', plugin_dir_url(__FILE__)); |
| | | const ATAT_DIR = WP_PLUGIN_DIR . '/ajakevan'; |
| | | define('ATAT_URL', plugin_dir_url(__FILE__)); |
| | | |
| | | require(AJV_DIR . '/content/setup.php'); |
| | | //require(AJV_DIR . '/dashboard/setup.php'); |
| | | //require(AJV_DIR . '/forms/setup.php'); |
| | | require(AJV_DIR . '/login/setup.php'); |
| | | require(AJV_DIR . '/taxonomies/setup.php'); |
| | | //require(AJV_DIR . '/users/setup.php'); |
| | | //require(AJV_DIR . '/files/fileManagement.php'); |
| | | require(ATAT_DIR . '/content/setup.php'); |
| | | //require(ATAT_DIR . '/dashboard/setup.php'); |
| | | //require(ATAT_DIR . '/forms/setup.php'); |
| | | require(ATAT_DIR . '/login/setup.php'); |
| | | require(ATAT_DIR . '/taxonomies/setup.php'); |
| | | //require(ATAT_DIR . '/users/setup.php'); |
| | | //require(ATAT_DIR . '/files/fileManagement.php'); |
| | | |
| | | |
| | | /** |
| | |
| | | * - rewrite rules |
| | | * - archive title |
| | | */ |
| | | add_filter('jvb_site', 'altr_setup_site'); |
| | | function altr_setup_site(): array |
| | | add_filter('jvb_site', 'atat_setup_site'); |
| | | function atat_setup_site(): array |
| | | { |
| | | return [ |
| | | 'icons' => 'light', |
| | |
| | | * - term_approval = (bool) verified users can create new terms, but needs approval |
| | | * - member_only = (array) if empty, open to any registered user. otherwise an array of registered user roles |
| | | */ |
| | | //add_filter('jvb_membership', 'altr_setup_membership'); |
| | | //function altr_setup_membership():array |
| | | //add_filter('jvb_membership', 'atat_setup_membership'); |
| | | //function atat_setup_membership():array |
| | | //{ |
| | | // return [ |
| | | // 'member_content' => true, |
| | |
| | | // ]; |
| | | //} |
| | | |
| | | add_filter('jvbLoadingQuips', 'altr_loading_quips'); |
| | | function altr_loading_quips(array $quips): array |
| | | add_filter('jvbLoadingQuips', 'atat_loading_quips'); |
| | | function atat_loading_quips(array $quips): array |
| | | { |
| | | return []; |
| | | } |
| | | |
| | | |
| | | // /content/art.php |
| | | function altr_art(): array |
| | | function atat_art(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Art', |
| | |
| | | |
| | | |
| | | // /content/design.php |
| | | function altr_design(): array |
| | | function atat_design(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Graphic Design', |
| | |
| | | |
| | | |
| | | // /content/development.php |
| | | function altr_development(): array |
| | | function atat_development(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Development', |
| | |
| | | * - 'section' => (string) the slug of the section, as defined above |
| | | */ |
| | | |
| | | require(AJV_DIR . '/content/art.php'); |
| | | require(AJV_DIR . '/content/design.php'); |
| | | require(AJV_DIR . '/content/development.php'); |
| | | require(AJV_DIR . '/content/strategy.php'); |
| | | require(AJV_DIR . '/content/support.php'); |
| | | require(AJV_DIR . '/content/writing.php'); |
| | | require(ATAT_DIR . '/content/art.php'); |
| | | require(ATAT_DIR . '/content/design.php'); |
| | | require(ATAT_DIR . '/content/development.php'); |
| | | require(ATAT_DIR . '/content/strategy.php'); |
| | | require(ATAT_DIR . '/content/support.php'); |
| | | require(ATAT_DIR . '/content/writing.php'); |
| | | |
| | | add_filter('jvb_content', 'altr_content'); |
| | | function altr_content($content): array |
| | | add_filter('jvb_content', 'atat_content'); |
| | | function atat_content($content): array |
| | | { |
| | | return [ |
| | | 'design' => altr_design(), |
| | | 'development' => altr_development(), |
| | | 'strategy' => altr_strategy(), |
| | | 'art' => altr_art(), |
| | | 'writing' => altr_writing(), |
| | | 'support' => altr_support(), |
| | | 'design' => atat_design(), |
| | | 'development' => atat_development(), |
| | | 'strategy' => atat_strategy(), |
| | | 'art' => atat_art(), |
| | | 'writing' => atat_writing(), |
| | | 'support' => atat_support(), |
| | | ]; |
| | | } |
| | | |
| | | |
| | | // /content/strategy.php |
| | | function altr_strategy(): array |
| | | function atat_strategy(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Strategy', |
| | |
| | | |
| | | |
| | | // /content/support.php |
| | | function altr_support(): array |
| | | function atat_support(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Support', |
| | |
| | | |
| | | |
| | | // /content/writing.php |
| | | function altr_writing(): array |
| | | function atat_writing(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Writing', |
| | |
| | | |
| | | |
| | | // /login/setup.php |
| | | add_filter('jvb_login', 'altr_setup_login'); |
| | | function altr_setup_login(): array |
| | | add_filter('jvb_login', 'atat_setup_login'); |
| | | function atat_setup_login(): array |
| | | { |
| | | return [ |
| | | 'login_from_favourite_header' => 'Join the scene; <small>keep your collection.</small>', |
| | |
| | | |
| | | |
| | | // /taxonomies/city.php |
| | | function altr_city(): array |
| | | function atat_city(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'City', |
| | |
| | | } |
| | | |
| | | // /taxonomies/form.php |
| | | function altr_form(): array |
| | | function atat_form(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Form', |
| | |
| | | } |
| | | |
| | | // /taxonomies/media.php |
| | | function altr_media(): array |
| | | function atat_media(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Medium', |
| | |
| | | } |
| | | |
| | | // /taxonomies/progress.php |
| | | function altr_progress(): array |
| | | function atat_progress(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Progress', |
| | |
| | | * -> add use_in_stats (bool) to use the field in user statistics |
| | | */ |
| | | |
| | | require(AJV_DIR . '/taxonomies/city.php'); |
| | | require(AJV_DIR . '/taxonomies/form.php'); |
| | | require(AJV_DIR . '/taxonomies/media.php'); |
| | | require(AJV_DIR . '/taxonomies/progress.php'); |
| | | require(AJV_DIR . '/taxonomies/style.php'); |
| | | require(AJV_DIR . '/taxonomies/target.php'); |
| | | require(AJV_DIR . '/taxonomies/theme.php'); |
| | | require(ATAT_DIR . '/taxonomies/city.php'); |
| | | require(ATAT_DIR . '/taxonomies/form.php'); |
| | | require(ATAT_DIR . '/taxonomies/media.php'); |
| | | require(ATAT_DIR . '/taxonomies/progress.php'); |
| | | require(ATAT_DIR . '/taxonomies/style.php'); |
| | | require(ATAT_DIR . '/taxonomies/target.php'); |
| | | require(ATAT_DIR . '/taxonomies/theme.php'); |
| | | |
| | | add_filter('jvb_taxonomy', 'altr_taxonomy'); |
| | | function altr_taxonomy(): array |
| | | add_filter('jvb_taxonomy', 'atat_taxonomy'); |
| | | function atat_taxonomy(): array |
| | | { |
| | | return [ |
| | | 'city' => altr_city(), |
| | | 'style' => altr_style(), |
| | | 'theme' => altr_theme(), |
| | | 'form' => altr_form(), |
| | | 'medium' => altr_media(), |
| | | 'target' => altr_target(), |
| | | 'progress' => altr_progress(), |
| | | 'city' => atat_city(), |
| | | 'style' => atat_style(), |
| | | 'theme' => atat_theme(), |
| | | 'form' => atat_form(), |
| | | 'medium' => atat_media(), |
| | | 'target' => atat_target(), |
| | | 'progress' => atat_progress(), |
| | | ]; |
| | | } |
| | | |
| | | // /taxonomies/style.php |
| | | function altr_style(): array |
| | | function atat_style(): array |
| | | { |
| | | return [ |
| | | 'directory' => 'Styles', |
| | |
| | | } |
| | | |
| | | // /taxonomies/target.php |
| | | function altr_target(): array |
| | | function atat_target(): array |
| | | { |
| | | return [ |
| | | 'singular' => 'Target Audience', |
| | |
| | | } |
| | | |
| | | // /taxonomies/theme.php |
| | | function altr_theme(): array |
| | | function atat_theme(): array |
| | | { |
| | | return [ |
| | | 'directory' => 'Themes', |
| | |
| | | |
| | | |
| | | // /users/client.php |
| | | function altr_user_client(): array |
| | | function atat_user_client(): array |
| | | { |
| | | return [ |
| | | 'label' => 'Client', |
| | |
| | | } |
| | | |
| | | // /users/enthusiast.php |
| | | function altr_user_enthusiast(): array |
| | | function atat_user_enthusiast(): array |
| | | { |
| | | return [ |
| | | 'label' => 'Enthusiast', |
| | |
| | | * -> description of the user role. Used in the registration page |
| | | */ |
| | | |
| | | require(AJV_DIR . '/users/client.php'); |
| | | require(AJV_DIR . '/users/enthusiast.php'); |
| | | require(ATAT_DIR . '/users/client.php'); |
| | | require(ATAT_DIR . '/users/enthusiast.php'); |
| | | |
| | | add_filter('jvb_user', 'altr_user'); |
| | | add_filter('jvb_user', 'atat_user'); |
| | | |
| | | function altr_user():array |
| | | function atat_user():array |
| | | { |
| | | return [ |
| | | 'enthusiast' => altr_user_enthusiast(), |
| | | 'client' => altr_user_client(), |
| | | 'enthusiast' => atat_user_enthusiast(), |
| | | 'client' => atat_user_client(), |
| | | ]; |
| | | } |
| | |
| | | * -> description of the user role. Used in the registration page |
| | | */ |
| | | |
| | | require(AJV_DIR . '/users/client.php'); |
| | | //require(AJV_DIR . '/users/enthusiast.php'); |
| | | require(ATAT_DIR . '/users/client.php'); |
| | | //require(ATAT_DIR . '/users/enthusiast.php'); |
| | | |
| | | add_filter('jvb_user', 'altr_user'); |
| | | function altr_user():array |
| | | add_filter('jvb_user', 'atat_user'); |
| | | function atat_user():array |
| | | { |
| | | return [ |
| | | // 'enthusiast' => altr_user_enthusiast(), |
| | | 'client' => altr_user_client(), |
| | | // 'enthusiast' => atat_user_enthusiast(), |
| | | 'client' => atat_user_client(), |
| | | ]; |
| | | } |
| | | |
| | |
| | | <?php |
| | | // /users/client.php |
| | | function altr_user_client():array |
| | | function atat_user_client():array |
| | | { |
| | | return [ |
| | | 'label' => 'Client', |
| | | 'has_dashboard' => true, |
| | | 'can_create' => ['support'], |
| | | 'can_create' => [''], |
| | | 'can_register' => true, |
| | | 'keep_stats' => false, |
| | | 'icon' => 'user', |