Make WordPress Themes

Changeset 311637


Ignore:
Timestamp:
02/03/2026 07:14:40 AM (9 months ago)
Author:
themedropbox
Message:

New version of Building Architect - 1.2.1

Location:
building-architect/1.2.1
Files:
1 added
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • building-architect/1.2.1/inc/get-started/get-started.css

    r299821 r311637  
    374374    color: #fff !important;
    375375}
     376/* Add css activation notice  button*/
     377.dash-notice p {
     378    margin-bottom: 6px !important;
     379}
     380.dash-notice a.button {
     381    margin: 1px !important;
     382    display: inline-flex;
     383    align-items: center;
     384}
     385.dash-notice {
     386    padding-bottom: 10px !important;
     387}
  • building-architect/1.2.1/inc/tgm/class-tgm-plugin-activation.php

    r286184 r311637  
    99 *
    1010 * @package   TGM-Plugin-Activation
    11  * @version   2.6.1 for parent theme Building Architect for publication on WordPress.org
     11 * @version   2.6.1
    1212 * @link      http://tgmpluginactivation.com/
    1313 * @author    Thomas Griffin, Gary Jones, Juliette Reinders Folmer
    … …  
    3232        Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    3333*/
     34
     35// Exit if accessed directly.
     36if ( ! defined( 'ABSPATH' ) ) {
     37        return;
     38}
    3439
    3540if ( ! class_exists( 'TGM_Plugin_Activation' ) ) {
    … …  
    260265                        do_action_ref_array( 'tgmpa_init', array( $this ) );
    261266
    262 
     267                        /*
     268                         * Load our text domain and allow for overloading the fall-back file.
     269                         *
     270                         * {@internal IMPORTANT! If this code changes, review the regex in the custom TGMPA
     271                         * generator on the website.}}
     272                         */
     273                        add_action( 'init', array( $this, 'load_textdomain' ), 5 );
     274                        add_filter( 'load_textdomain_mofile', array( $this, 'overload_textdomain_mofile' ), 10, 2 );
    263275
    264276                        // When the rest of WP has loaded, kick-start the rest of the class.
    … …  
    283295                 */
    284296                public function __set( $name, $value ) {
     297                        // phpcs:ignore Squiz.PHP.NonExecutableCode.ReturnNotRequired -- See explanation above.
    285298                        return;
    286299                }
    … …  
    332345                                'updating'                        => __( 'Updating Plugin: %s', 'building-architect' ),
    333346                                'oops'                            => __( 'Something went wrong with the plugin API.', 'building-architect' ),
     347                                /* translators: 1: plugin name(s). */
    334348                                'notice_can_install_required'     => _n_noop(
    335                                         /* translators: 1: plugin name(s). */
    336349                                        'This theme requires the following plugin: %1$s.',
    337350                                        'This theme requires the following plugins: %1$s.',
    338351                                        'building-architect'
    339352                                ),
     353                                /* translators: 1: plugin name(s). */
    340354                                'notice_can_install_recommended'  => _n_noop(
    341                                         /* translators: 1: plugin name(s). */
    342355                                        'This theme recommends the following plugin: %1$s.',
    343356                                        'This theme recommends the following plugins: %1$s.',
    344357                                        'building-architect'
    345358                                ),
     359                                /* translators: 1: plugin name(s). */
    346360                                'notice_ask_to_update'            => _n_noop(
    347                                         /* translators: 1: plugin name(s). */
    348361                                        'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.',
    349362                                        'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.',
    350363                                        'building-architect'
    351364                                ),
     365                                /* translators: 1: plugin name(s). */
    352366                                'notice_ask_to_update_maybe'      => _n_noop(
    353                                         /* translators: 1: plugin name(s). */
    354367                                        'There is an update available for: %1$s.',
    355368                                        'There are updates available for the following plugins: %1$s.',
    356369                                        'building-architect'
    357370                                ),
     371                                /* translators: 1: plugin name(s). */
    358372                                'notice_can_activate_required'    => _n_noop(
    359                                         /* translators: 1: plugin name(s). */
    360373                                        'The following required plugin is currently inactive: %1$s.',
    361374                                        'The following required plugins are currently inactive: %1$s.',
    362375                                        'building-architect'
    363376                                ),
     377                                /* translators: 1: plugin name(s). */
    364378                                'notice_can_activate_recommended' => _n_noop(
    365                                         /* translators: 1: plugin name(s). */
    366379                                        'The following recommended plugin is currently inactive: %1$s.',
    367380                                        'The following recommended plugins are currently inactive: %1$s.',
    … …  
    445458                                add_action( 'switch_theme', array( $this, 'force_deactivation' ) );
    446459                        }
    447                 }
    448 
    449 
    450 
    451 
    452 
    453 
     460
     461                        // Add CSS for the TGMPA admin page.
     462                        add_action( 'admin_head', array( $this, 'admin_css' ) );
     463                }
     464
     465                /**
     466                 * Load translations.
     467                 *
     468                 * @since 2.6.0
     469                 *
     470                 * (@internal Uses `load_theme_textdomain()` rather than `load_plugin_textdomain()` to
     471                 * get round the different ways of handling the path and deprecated notices being thrown
     472                 * and such. For plugins, the actual file name will be corrected by a filter.}}
     473                 *
     474                 * {@internal IMPORTANT! If this function changes, review the regex in the custom TGMPA
     475                 * generator on the website.}}
     476                 */
     477                public function load_textdomain() {
     478                        if ( is_textdomain_loaded( 'building-architect' ) ) {
     479                                return;
     480                        }
     481
     482                        if ( false !== strpos( __FILE__, WP_PLUGIN_DIR ) || false !== strpos( __FILE__, WPMU_PLUGIN_DIR ) ) {
     483                                // Plugin, we'll need to adjust the file name.
     484                                add_action( 'load_textdomain_mofile', array( $this, 'correct_plugin_mofile' ), 10, 2 );
     485                                load_theme_textdomain( 'building-architect', dirname( __FILE__ ) . '/languages' );
     486                                remove_action( 'load_textdomain_mofile', array( $this, 'correct_plugin_mofile' ), 10 );
     487                        } else {
     488                                load_theme_textdomain( 'building-architect', dirname( __FILE__ ) . '/languages' );
     489                        }
     490                }
     491
     492                /**
     493                 * Correct the .mo file name for (must-use) plugins.
     494                 *
     495                 * Themese use `/path/{locale}.mo` while plugins use `/path/{text-domain}-{locale}.mo`.
     496                 *
     497                 * {@internal IMPORTANT! If this function changes, review the regex in the custom TGMPA
     498                 * generator on the website.}}
     499                 *
     500                 * @since 2.6.0
     501                 *
     502                 * @param string $mofile Full path to the target mofile.
     503                 * @param string $domain The domain for which a language file is being loaded.
     504                 * @return string $mofile
     505                 */
     506                public function correct_plugin_mofile( $mofile, $domain ) {
     507                        // Exit early if not our domain (just in case).
     508                        if ( 'building-architect' !== $domain ) {
     509                                return $mofile;
     510                        }
     511                        return preg_replace( '`/([a-z]{2}_[A-Z]{2}.mo)$`', '/tgmpa-$1', $mofile );
     512                }
     513
     514                /**
     515                 * Potentially overload the fall-back translation file for the current language.
     516                 *
     517                 * WP, by default since WP 3.7, will load a local translation first and if none
     518                 * can be found, will try and find a translation in the /wp-content/languages/ directory.
     519                 * As this library is theme/plugin agnostic, translation files for TGMPA can exist both
     520                 * in the WP_LANG_DIR /plugins/ subdirectory as well as in the /themes/ subdirectory.
     521                 *
     522                 * This method makes sure both directories are checked.
     523                 *
     524                 * {@internal IMPORTANT! If this function changes, review the regex in the custom TGMPA
     525                 * generator on the website.}}
     526                 *
     527                 * @since 2.6.0
     528                 *
     529                 * @param string $mofile Full path to the target mofile.
     530                 * @param string $domain The domain for which a language file is being loaded.
     531                 * @return string $mofile
     532                 */
     533                public function overload_textdomain_mofile( $mofile, $domain ) {
     534                        // Exit early if not our domain, not a WP_LANG_DIR load or if the file exists and is readable.
     535                        if ( 'building-architect' !== $domain || false === strpos( $mofile, WP_LANG_DIR ) || @is_readable( $mofile ) ) {
     536                                return $mofile;
     537                        }
     538
     539                        // Current fallback file is not valid, let's try the alternative option.
     540                        if ( false !== strpos( $mofile, '/themes/' ) ) {
     541                                return str_replace( '/themes/', '/plugins/', $mofile );
     542                        } elseif ( false !== strpos( $mofile, '/plugins/' ) ) {
     543                                return str_replace( '/plugins/', '/themes/', $mofile );
     544                        } else {
     545                                return $mofile;
     546                        }
     547                }
    454548
    455549                /**
    … …  
    562656
    563657                                global $tab, $body_id;
     658                                // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- WP requirement.
    564659                                $body_id = 'plugin-information';
    565                                 // @codingStandardsIgnoreStart
    566                                 $tab     = 'plugin-information';
    567                                 // @codingStandardsIgnoreEnd
     660
     661                                // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Overriding the WP global is the point.
     662                                $tab = 'plugin-information';
    568663
    569664                                install_plugin_information();
    … …  
    637732                 */
    638733                protected function add_admin_menu( array $args ) {
    639                         $this->page_hook = add_theme_page( $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'] );
     734                        if ( has_filter( 'tgmpa_admin_menu_use_add_theme_page' ) ) {
     735                                _deprecated_function( 'The "tgmpa_admin_menu_use_add_theme_page" filter', '2.5.0', esc_html__( 'Set the parent_slug config variable instead.', 'building-architect' ) );
     736                        }
     737
     738                        if ( 'themes.php' === $this->parent_slug ) {
     739                                $this->page_hook = call_user_func( 'add_theme_page', $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'] );
     740                        } else {
     741                                $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'] );
     742                        }
    640743                }
    641744
    … …  
    653756                public function install_plugins_page() {
    654757                        // Store new instance of plugin table in object.
    655                         $plugin_table = new TGMPA_List_Table;
     758                        $plugin_table = new TGMPA_List_Table();
    656759
    657760                        // Return early if processing a plugin installation action.
    … …  
    741844                                $method = ''; // Leave blank so WP_Filesystem can populate it as necessary.
    742845
    743                                 if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, array() ) ) ) {
     846                                $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, array() );
     847                                if ( false === $creds ) {
    744848                                        return true;
    745849                                }
    … …  
    798902                                if ( 'update' === $install_type ) {
    799903                                        // Inject our info into the update transient.
    800                                         $to_inject                    = array( $slug => $this->plugins[ $slug ] );
     904                                        $to_inject                    = array(
     905                                                $slug => $this->plugins[ $slug ],
     906                                        );
    801907                                        $to_inject[ $slug ]['source'] = $source;
    802908                                        $this->inject_update_info( $to_inject );
    … …  
    825931                                // Display message based on if all plugins are now active or not.
    826932                                if ( $this->is_tgmpa_complete() ) {
    827                                         echo '<p>', sprintf( esc_html( $this->strings['complete'] ), '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html__( 'Return to the Dashboard', 'building-architect' ) . '</a>' ), '</p>';
     933                                        echo '<p>', sprintf( esc_html( $this->strings['complete'] ), '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html( $this->strings['dashboard'] ) . '</a>' ), '</p>';
    828934                                        echo '<style type="text/css">#adminmenu .wp-submenu li.current { display: none !important; }</style>';
    829935                                } else {
    … …  
    855961
    856962                        if ( ! is_object( $repo_updates ) ) {
    857                                 $repo_updates = new stdClass;
     963                                $repo_updates = new stdClass();
    858964                        }
    859965
    … …  
    862968
    863969                                if ( empty( $repo_updates->response[ $file_path ] ) ) {
    864                                         $repo_updates->response[ $file_path ] = new stdClass;
     970                                        $repo_updates->response[ $file_path ] = new stdClass();
    865971                                }
    866972
    … …  
    9321038                                                return trailingslashit( $to_path );
    9331039                                        } else {
    934                                                 return new WP_Error( 'rename_failed', esc_html__( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'building-architect' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'building-architect' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) );
     1040                                                return new WP_Error(
     1041                                                        'rename_failed',
     1042                                                        esc_html__( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'building-architect' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'building-architect' ),
     1043                                                        array(
     1044                                                                'found'    => $subdir_name,
     1045                                                                'expected' => $desired_slug,
     1046                                                        )
     1047                                                );
    9351048                                        }
    9361049                                } elseif ( empty( $subdir_name ) ) {
    937                                         return new WP_Error( 'packaged_wrong', esc_html__( 'The remote plugin package consists of more than one file, but the files are not packaged in a folder.', 'building-architect' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'building-architect' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) );
     1050                                        return new WP_Error(
     1051                                                'packaged_wrong',
     1052                                                esc_html__( 'The remote plugin package consists of more than one file, but the files are not packaged in a folder.', 'building-architect' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'building-architect' ),
     1053                                                array(
     1054                                                        'found'    => $subdir_name,
     1055                                                        'expected' => $desired_slug,
     1056                                                )
     1057                                        );
    9381058                                }
    9391059                        }
    … …  
    9661086                                                // Make sure message doesn't display again if bulk activation is performed
    9671087                                                // immediately after a single activation.
    968                                                 if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK.
     1088                                                // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Not using the superglobal.
     1089                                                if ( ! isset( $_POST['action'] ) ) {
    9691090                                                        echo '<div id="message" class="updated"><p>', esc_html( $this->strings['activated_successfully'] ), ' <strong>', esc_html( $this->plugins[ $slug ]['name'] ), '.</strong></p></div>';
    9701091                                                }
    … …  
    9871108                                        // Make sure message doesn't display again if bulk activation is performed
    9881109                                        // immediately after a single activation.
    989                                         if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK.
     1110                                        // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Not using the superglobal.
     1111                                        if ( ! isset( $_POST['action'] ) ) {
    9901112                                                echo '<div id="message" class="error"><p>',
    9911113                                                        sprintf(
    … …  
    11161238                                                unset( $plugin_slug );
    11171239
    1118                                                 $building_architect_count          = count( $plugin_group );
     1240                                                $count          = count( $plugin_group );
    11191241                                                $linked_plugins = array_map( array( 'TGMPA_Utils', 'wrap_in_em' ), $linked_plugins );
    11201242                                                $last_plugin    = array_pop( $linked_plugins ); // Pop off last name to prep for readability.
    … …  
    11241246                                                        $line_template,
    11251247                                                        sprintf(
    1126                                                                 translate_nooped_plural( $this->strings[ $type ], $building_architect_count, 'building-architect' ),
     1248                                                                translate_nooped_plural( $this->strings[ $type ], $count, 'building-architect' ),
    11271249                                                                $imploded,
    1128                                                                 $building_architect_count
     1250                                                                $count
    11291251                                                        )
    11301252                                                );
    11311253
    11321254                                        }
    1133                                         unset( $type, $plugin_group, $linked_plugins, $building_architect_count, $last_plugin, $imploded );
     1255                                        unset( $type, $plugin_group, $linked_plugins, $count, $last_plugin, $imploded );
    11341256
    11351257                                        $rendered .= $this->create_user_action_links_for_notice( $install_link_count, $update_link_count, $activate_link_count, $line_template );
    … …  
    11371259
    11381260                                // Register the nag messages and prepare them to be processed.
    1139                                 add_settings_error( 'tgmpa', 'tgmpa', $rendered, $this->get_admin_notice_class() );
     1261                                add_settings_error( 'building-architect', 'building-architect', $rendered, $this->get_admin_notice_class() );
    11401262                        }
    11411263
    … …  
    12371359                        global $wp_settings_errors;
    12381360
    1239                         settings_errors( 'tgmpa' );
     1361                        settings_errors( 'building-architect' );
    12401362
    12411363                        foreach ( (array) $wp_settings_errors as $key => $details ) {
    1242                                 if ( 'tgmpa' === $details['setting'] ) {
     1364                                if ( 'building-architect' === $details['setting'] ) {
    12431365                                        unset( $wp_settings_errors[ $key ] );
    12441366                                        break;
    … …  
    12821404
    12831405                        $defaults = array(
    1284                                 'name'               => '',      // String
    1285                                 'slug'               => '',      // String
    1286                                 'source'             => 'repo',  // String
    1287                                 'required'           => false,   // Boolean
    1288                                 'version'            => '',      // String
    1289                                 'force_activation'   => false,   // Boolean
    1290                                 'force_deactivation' => false,   // Boolean
    1291                                 'external_url'       => '',      // String
    1292                                 'is_callable'        => '',      // String|Array.
     1406                                'name'               => '',      // String.
     1407                                'slug'               => '',      // String.
     1408                                'source'             => 'repo',  // String.
     1409                                'required'           => false,   // Boolean.
     1410                                'version'            => '',      // String.
     1411                                'force_activation'   => false,   // Boolean.
     1412                                'force_deactivation' => false,   // Boolean.
     1413                                'external_url'       => '',      // String.
     1414                                'is_callable'        => '',      // String or array.
    12931415                        );
    12941416
    … …  
    15561678                                }
    15571679
    1558                                 $response = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) );
     1680                                $response = plugins_api(
     1681                                        'plugin_information',
     1682                                        array(
     1683                                                'slug'   => $slug,
     1684                                                'fields' => array(
     1685                                                        'sections' => false,
     1686                                                ),
     1687                                        )
     1688                                );
    15591689
    15601690                                $api[ $slug ] = false;
    … …  
    16391769                                // Core update screen.
    16401770                                return true;
    1641                         } elseif ( 'plugins' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok.
     1771                        } elseif ( 'plugins' === $screen->base && ! empty( $_POST['action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
    16421772                                // Plugins bulk update screen.
    16431773                                return true;
    1644                         } elseif ( 'update' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok.
     1774                        } elseif ( 'update' === $screen->base && ! empty( $_POST['action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
    16451775                                // Individual updates (ajax call).
    16461776                                return true;
    … …  
    19852115                                ),
    19862116                                '</small></strong></p>';
     2117                }
     2118
     2119                /**
     2120                 * Adds CSS to admin head.
     2121                 *
     2122                 * @since 2.6.2
     2123                 */
     2124                public function admin_css() {
     2125                        if ( ! $this->is_tgmpa_page() ) {
     2126                                return;
     2127                        }
     2128
     2129                        echo '
     2130                        <style>
     2131                        #tgmpa-plugins .tgmpa-type-required > th {
     2132                                border-left: 3px solid #dc3232;
     2133                        }
     2134                        </style>';
    19872135                }
    19882136
    … …  
    23782526                        $status_links = array();
    23792527
    2380                         foreach ( $this->view_totals as $type => $building_architect_count ) {
    2381                                 if ( $building_architect_count < 1 ) {
     2528                        foreach ( $this->view_totals as $type => $count ) {
     2529                                if ( $count < 1 ) {
    23822530                                        continue;
    23832531                                }
    … …  
    23862534                                        case 'all':
    23872535                                                /* translators: 1: number of plugins. */
    2388                                                 $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $building_architect_count, 'plugins', 'building-architect' );
     2536                                                $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'plugins', 'building-architect' );
    23892537                                                break;
    23902538                                        case 'install':
    23912539                                                /* translators: 1: number of plugins. */
    2392                                                 $text = _n( 'To Install <span class="count">(%s)</span>', 'To Install <span class="count">(%s)</span>', $building_architect_count, 'building-architect' );
     2540                                                $text = _n( 'To Install <span class="count">(%s)</span>', 'To Install <span class="count">(%s)</span>', $count, 'building-architect' );
    23932541                                                break;
    23942542                                        case 'update':
    23952543                                                /* translators: 1: number of plugins. */
    2396                                                 $text = _n( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $building_architect_count, 'building-architect' );
     2544                                                $text = _n( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $count, 'building-architect' );
    23972545                                                break;
    23982546                                        case 'activate':
    23992547                                                /* translators: 1: number of plugins. */
    2400                                                 $text = _n( 'To Activate <span class="count">(%s)</span>', 'To Activate <span class="count">(%s)</span>', $building_architect_count, 'building-architect' );
     2548                                                $text = _n( 'To Activate <span class="count">(%s)</span>', 'To Activate <span class="count">(%s)</span>', $count, 'building-architect' );
    24012549                                                break;
    24022550                                        default:
    … …  
    24112559                                                esc_url( $this->tgmpa->get_tgmpa_status_url( $type ) ),
    24122560                                                ( $type === $this->view_context ) ? ' class="current"' : '',
    2413                                                 sprintf( $text, number_format_i18n( $building_architect_count ) )
     2561                                                sprintf( $text, number_format_i18n( $count ) )
    24142562                                        );
    24152563                                }
    … …  
    25312679                 */
    25322680                public function no_items() {
    2533                         echo esc_html__( 'No plugins to install, update or activate.', 'building-architect' ) . ' <a href="' . esc_url( self_admin_url() ) . '"> ' . esc_html__( 'Return to the Dashboard', 'building-architect' ) . '</a>';
     2681                        echo esc_html__( 'No plugins to install, update or activate.', 'building-architect' ) . ' <a href="' . esc_url( self_admin_url() ) . '"> ' . esc_html( $this->tgmpa->strings['dashboard'] ) . '</a>';
    25342682                        echo '<style type="text/css">#adminmenu .wp-submenu li.current { display: none !important; }</style>';
    25352683                }
    … …  
    26492797                 */
    26502798                public function single_row( $item ) {
    2651                         parent::single_row( $item );
     2799                        echo '<tr class="' . esc_attr( 'tgmpa-type-' . strtolower( $item['type'] ) ) . '">';
     2800                        $this->single_row_columns( $item );
     2801                        echo '</tr>';
    26522802
    26532803                        /**
    … …  
    26942844                 * @since 2.5.0
    26952845                 *
    2696                  * @param string $which 'top' or 'bottom' table navigation.
     2846                 * @param string $which Either 'top' or 'bottom' table navigation.
    26972847                 */
    26982848                public function extra_tablenav( $which ) {
    … …  
    28202970                                $fields = array_keys( $_POST ); // Extra fields to pass to WP_Filesystem.
    28212971
    2822                                 if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) {
     2972                                $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields );
     2973                                if ( false === $creds ) {
    28232974                                        return true; // Stop the normal page form from displaying, credential request form will be shown.
    28242975                                }
    … …  
    29433094                                        echo '<div id="message" class="error"><p>', wp_kses_post( $activate->get_error_message() ), '</p></div>';
    29443095                                } else {
    2945                                         $building_architect_count        = count( $plugin_names ); // Count so we can use _n function.
     3096                                        $count        = count( $plugin_names ); // Count so we can use _n function.
    29463097                                        $plugin_names = array_map( array( 'TGMPA_Utils', 'wrap_in_strong' ), $plugin_names );
    29473098                                        $last_plugin  = array_pop( $plugin_names ); // Pop off last name to prep for readability.
    29483099                                        $imploded     = empty( $plugin_names ) ? $last_plugin : ( implode( ', ', $plugin_names ) . ' ' . esc_html_x( 'and', 'plugin A *and* plugin B', 'building-architect' ) . ' ' . $last_plugin );
    29493100
    2950                                         printf( // WPCS: xss ok.
     3101                                        printf(
    29513102                                                '<div id="message" class="updated"><p>%1$s %2$s.</p></div>',
    2952                                                 esc_html( _n( 'The following plugin was activated successfully:', 'The following plugins were activated successfully:', $building_architect_count, 'building-architect' ) ),
     3103                                                esc_html( _n( 'The following plugin was activated successfully:', 'The following plugins were activated successfully:', $count, 'building-architect' ) ),
     3104                                                // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Pre-escaped via wrap_in_strong() method above.
    29533105                                                $imploded
    29543106                                        );
    … …  
    32953447                                                                break;
    32963448                                                        }
    3297                                                 } //end foreach $plugins
     3449                                                }
    32983450
    32993451                                                $this->maintenance_mode( false );
    … …  
    33153467                                                 * }
    33163468                                                 */
    3317                                                 do_action( 'upgrader_process_complete', $this, array(
    3318                                                         'action'  => 'install', // [TGMPA + ] adjusted.
    3319                                                         'type'    => 'plugin',
    3320                                                         'bulk'    => true,
    3321                                                         'plugins' => $plugins,
    3322                                                 ) );
     3469                                                do_action(
     3470                                                        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- Using WP core hook.
     3471                                                        'upgrader_process_complete',
     3472                                                        $this,
     3473                                                        array(
     3474                                                                'action'  => 'install', // [TGMPA + ] adjusted.
     3475                                                                'type'    => 'plugin',
     3476                                                                'bulk'    => true,
     3477                                                                'plugins' => $plugins,
     3478                                                        )
     3479                                                );
    33233480
    33243481                                                $this->skin->bulk_footer();
    … …  
    35073664                                                                $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'building-architect' );
    35083665                                                                /* translators: 1: plugin name. */
    3509                                                                 $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'building-architect' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'building-architect' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'building-architect' ) . '</span>.</a>';
     3666                                                                $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'building-architect' );
    35103667                                                                $this->upgrader->strings['skin_upgrade_end']       = __( 'All installations and activations have been completed.', 'building-architect' );
    35113668                                                                /* translators: 1: plugin name, 2: action number 3: total number of actions. */
    … …  
    35153672                                                                $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'building-architect' );
    35163673                                                                /* translators: 1: plugin name. */
    3517                                                                 $this->upgrader->strings['skin_update_successful'] = esc_html__( '%1$s installed successfully.', 'building-architect' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'building-architect' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'building-architect' ) . '</span>.</a>';
     3674                                                                $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed successfully.', 'building-architect' );
    35183675                                                                $this->upgrader->strings['skin_upgrade_end']       = __( 'All installations have been completed.', 'building-architect' );
    35193676                                                                /* translators: 1: plugin name, 2: action number 3: total number of actions. */
    35203677                                                                $this->upgrader->strings['skin_before_update_header'] = __( 'Installing Plugin %1$s (%2$d/%3$d)', 'building-architect' );
     3678                                                        }
     3679
     3680                                                        // Add "read more" link only for WP < 4.8.
     3681                                                        if ( version_compare( $this->tgmpa->wp_version, '4.8', '<' ) ) {
     3682                                                                $this->upgrader->strings['skin_update_successful'] .= ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'building-architect' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'building-architect' ) . '</span>.</a>';
    35213683                                                        }
    35223684                                                }
    … …  
    35783740                                                        $update_actions['dashboard'] = sprintf(
    35793741                                                                esc_html( $this->tgmpa->strings['complete'] ),
    3580                                                                 '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html__( 'Return to the Dashboard', 'building-architect' ) . '</a>'
     3742                                                                '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html( $this->tgmpa->strings['dashboard'] ) . '</a>'
    35813743                                                        );
    35823744                                                } else {
    … …  
    37213883                 */
    37223884                protected static function emulate_filter_bool( $value ) {
    3723                         // @codingStandardsIgnoreStart
     3885                        // phpcs:disable WordPress.Arrays.ArrayDeclarationSpacing.ArrayItemNoNewLine
    37243886                        static $true  = array(
    37253887                                '1',
    … …  
    37363898                                'off', 'Off', 'OFF',
    37373899                        );
    3738                         // @codingStandardsIgnoreEnd
     3900                        // phpcs:enable
    37393901
    37403902                        if ( is_bool( $value ) ) {
    … …  
    37583920                }
    37593921        } // End of class TGMPA_Utils
    3760 } // End of class_exists wrapper
     3922}
  • building-architect/1.2.1/patterns/footer-columns.php

    r299821 r311637  
    105105<!-- wp:group {"className":"rights-box","style":{"border":{"top":{"color":"#ffffff73","width":"1px"}},"spacing":{"padding":{"top":"var:preset|spacing|40"},"blockGap":"var:preset|spacing|20"}},"layout":{"type":"flex","flexWrap":"nowrap","verticalAlignment":"center","justifyContent":"space-between"}} -->
    106106<div class="wp-block-group rights-box wow bounceInUp" style="border-top-color:#ffffff73;border-top-width:1px;padding-top:var(--wp--preset--spacing--40)"><!-- wp:paragraph {"align":"left","style":{"typography":{"fontSize":"14px"},"spacing":{"margin":{"top":"0px","right":"0px","bottom":"0px","left":"0px"},"padding":{"top":"0","right":"0","bottom":"0","left":"0"}},"elements":{"link":{"color":{"text":"var:preset|color|white"}}}},"textColor":"white"} -->
    107 <p class="has-text-align-left has-white-color has-text-color has-link-color" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:14px"><a rel="noreferrer noopener" href="https://www.cretathemes.com/products/free-architect-wordpress-theme"><?php esc_html_e('Building Architect','building-architect'); ?></a>. <?php esc_html_e('All Rights Reserved.','building-architect'); ?></p>
     107<p class="has-text-align-left has-white-color has-text-color has-link-color" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:14px"><a class="copyright-text" target="_blank" rel="noreferrer noopener" href="https://www.cretathemes.com/products/free-architect-wordpress-theme"><?php esc_html_e('Building Architect','building-architect'); ?></a>. <?php esc_html_e('All Rights Reserved.','building-architect'); ?></p>
    108108<!-- /wp:paragraph -->
    109109
  • building-architect/1.2.1/readme.txt

    r307656 r311637  
    1414== Changelog ==
    1515
    16 = 1.2.0 (Released: January, 2025) =
     16= 1.2.1 (Released: January, 2026) =
     17* Added blog listing template.
     18* Added animation on woocommerce pages.
     19* Added css on shop page.
     20* Remove padding in activation notice all buttons.
     21* Added animation on single post.
     22* Resolved plugin tgm error.
     23
     24= 1.2.0 (Released: January, 2026) =
    1725* Fixed minor bugs.
    1826
  • building-architect/1.2.1/style.css

    r307656 r311637  
    88Tested up to: 6.9
    99Requires PHP: 5.6
    10 Version: 1.2.0
     10Version: 1.2.1
    1111License: GNU General Public License v2 or later
    1212License URI: http://www.gnu.org/licenses/gpl-2.0.html
    … …  
    41164116}
    41174117/*homepage slider css end*/
    4118 
    41194118/* post page btn css */
    41204119.taxonomy-category a {
    … …  
    41414140  align-items: center;
    41424141  gap: 6px;
    4143   background: #32373c;
    4144   color: #fff;
     4142  background: var(--wp--preset--color--primary) !important;
     4143  color: #fff !important;
    41454144  height: auto;
    4146   padding: 0.5em 0.5em 0.5em 2em;
     4145  padding: 0.5em 1em 0.5em 2em;
    41474146}
    41484147.wc-block-components-checkout-return-to-cart-button svg {
    4149   left: 4px !important;
    4150 }
    4151 .wc-block-checkout__actions .wc-block-checkout__actions_row :hover {
    4152   color: #ffffff !important;
    4153   padding-left: 25px;
     4148  left: 6px !important;
     4149}
     4150.wc-block-checkout__actions .wc-block-checkout__actions_row {
     4151    font-size: inherit !important;
     4152}
     4153.wc-block-components-checkout-return-to-cart-button:hover {
     4154    background-color: var(--wp--preset--color--secondary) !important; 
     4155    color: #ffffff !important;           
     4156}
     4157.wc-block-components-checkout-place-order-button {
     4158   background: var(--wp--preset--color--primary) !important;
     4159}
     4160.wc-block-components-checkout-place-order-button:hover {
     4161    background-color: var(--wp--preset--color--secondary) !important;
     4162    color: #ffffff !important;             
     4163}
     4164.woocommerce-cart .button.wp-element-button:hover,.woocommerce button.button:not(:disabled):hover {
     4165    background-color: var(--wp--preset--color--secondary) !important;
     4166    color: #ffffff !important;               
     4167}
     4168a.button.add_to_cart_button:hover,
     4169a.wp-element-button.add_to_cart_button:hover {
     4170    background-color: var(--wp--preset--color--secondary) !important; 
     4171    color: #ffffff !important;                 
     4172    border: none !important;       
    41544173}
    41554174.wc-block-grid__product {
    … …  
    42374256/* shop page css */
    42384257.woocommerce-shop .woocommerce-notices-wrapper.woocommerce .products ul,.woocommerce ul.products {
    4239   max-width: 80% !important;
     4258  max-width: 90% !important;
    42404259  align-items: center !important;
    42414260  margin: auto;
    … …  
    44164435        text-align: center;
    44174436        margin: initial;
    4418   width: fit-content;
     4437  width: max-content;
    44194438}
    44204439.wc-proceed-to-checkout .checkout-button {
    … …  
    44494468}
    44504469}
     4470.woocommerce ul.products li.first, .woocommerce-page ul.products li {
     4471    border: 1px solid #b3aaaa !important;
     4472    padding: 10px !important;
     4473}
     4474@media (max-width: 1200px) and (min-width: 991px) {
     4475 ul.products li.product .add_to_cart_button {
     4476  padding: 12px 10px !important;
     4477 }
     4478 .woocommerce .added_to_cart.wc-forward {
     4479    margin-top: 5px;
     4480    font-size: 16px;
     4481    padding: 12px 15px !important;
     4482}
     4483}
     4484.woocommerce button.button:disabled[disabled] {
     4485  opacity: 1 !important;
     4486}
     4487/* animation woocommerce pages */
     4488.woocommerce ul.products li.product{
     4489  animation: zoomInUp 0.6s ease-out both;
     4490  overflow: hidden;
     4491  animation-delay: 0.8s;
     4492}
     4493@keyframes zoomInUp {
     4494  0% {
     4495    opacity: 0;
     4496    transform: scale(0.5) translateY(100px);
     4497  }
     4498  60% {
     4499    opacity: 1;
     4500    transform: scale(1.05) translateY(-10px);
     4501  }
     4502  100% {
     4503    transform: scale(1) translateY(0);
     4504  }
     4505}
     4506/* single post page animation */
     4507.entry-content,.wp-block-comments,.single-post-meta,.taxonomy-category {
     4508  animation: zoomInUp 0.6s ease-out both;
     4509  overflow: hidden;
     4510  animation-delay: 0.8s;
     4511}
     4512@keyframes zoomInUp {
     4513  0% {
     4514    opacity: 0;
     4515    transform: scale(0.5) translateY(100px);
     4516  }
     4517  60% {
     4518    opacity: 1;
     4519    transform: scale(1.05) translateY(-10px);
     4520  }
     4521  100% {
     4522    transform: scale(1) translateY(0);
     4523  }
     4524}
     4525/* Added css */
     4526.woocommerce .woocommerce-breadcrumb {
     4527  padding-left: 85px !important;
     4528  width: 90% !important;
     4529}
     4530.woocommerce-products-header__title.page-title {
     4531  padding-left: 80px !important;
     4532  width: 90% !important;
     4533}
     4534.woocommerce .woocommerce-result-count {
     4535  padding-left: 80px;
     4536  width: 90% !important;
     4537}
     4538.woocommerce .woocommerce-ordering {
     4539  padding-right: 89px;
     4540}
     4541@media (max-width: 1400px) and (min-width: 991px) {
     4542   .woocommerce .woocommerce-breadcrumb,
     4543  .woocommerce-products-header__title.page-title,
     4544  .woocommerce .woocommerce-result-count {
     4545    padding-left: 60px !important;
     4546    width: 100% !important;
     4547  }
     4548  .woocommerce .woocommerce-ordering {
     4549    padding-right: 70px;
     4550  }
     4551}
     4552@media (max-width: 990px) and (min-width: 768px) {
     4553  .woocommerce .woocommerce-breadcrumb,
     4554  .woocommerce-products-header__title.page-title,
     4555  .woocommerce .woocommerce-result-count {
     4556    padding-left: 40px !important;
     4557    width: 100% !important;
     4558  }
     4559  .woocommerce .woocommerce-ordering {
     4560    padding-right: 55px;
     4561  }
     4562}
     4563@media (max-width: 767px){
     4564  .woocommerce .woocommerce-breadcrumb,
     4565  .woocommerce-products-header__title.page-title,
     4566  .woocommerce .woocommerce-result-count {
     4567    padding-left: 50px !important;
     4568    width: 100% !important;
     4569  }
     4570  .woocommerce .woocommerce-ordering {
     4571    padding-right: 70px;
     4572  }
     4573}
     4574@media (max-width: 425px) and (min-width: 320px){
     4575 .woocommerce .woocommerce-ordering {
     4576    padding-right: 30px !important;
     4577  }
     4578}
     4579@media (max-width: 768px) and (min-width: 320px) {
     4580   .single-product.woocommerce .woocommerce-breadcrumb{
     4581   padding-left: 20px !important;
     4582   font-size: 14px;
     4583}
     4584}
     4585/* my account page css */
     4586.woocommerce-account .wp-site-blocks main .woocommerce {
     4587  max-width: 90% !important;
     4588  margin: 0 auto;
     4589}
     4590
     4591
     4592
Note: See TracChangeset for help on using the changeset viewer.