0
Validation results

Themify Basic

Free WordPress 4.9 theme

Themify Basic

Free WordPress 4.9 theme
0
Error 8 : Undefined variable: cms
In /home/www/themecheck/themecheck/controllers/controller_results.php line 818
Critical alerts
  1. Security breaches : Modification of PHP server settings Found ini_set in file class-themify-customizer.php.
    Line 810: ini_set( 'zlib.output_compression', 'Off' );
    Found ini_set in file class-themify-builder-import-export.php.
    Line 133: ini_set( 'zlib.output_compression', 'Off' );
    Found ini_set in file themify-wpajax.php.
    Line 465: ini_set( 'zlib.output_compression', 'Off' );
  2. Security breaches : Use of base64_encode() Found base64_encode in file class-customcss-control.php.
     <textarea <?php $this->link(); ?> data-value='<?php echo esc_attr(base64_encode($css)) ?>' class='customcss <?php echo esc_attr($this->type);
    Found base64_encode in file template-map.php.
     <div data-map='<?php echo esc_attr(base64_encode(json_encode($data))) ?>' class='themify_map map-container'  s
    Found base64_encode in file themify-shortcodes.php.
     <div data-map=''.esc_attr(base64_encode(json_encode($data))).'' id='themify_map_canvas_' . esc_attr( 
     <ul data-slider=''.esc_attr(base64_encode( json_encode( $js_data ) ) ). '' class='slides'>' . $content 
     <ul class='slides' data-slider=''.esc_attr(base64_encode(json_encode($js_data))).''>';
    Found base64_encode in file themify-widgets.php.
     <div data-map='<?php echo esc_attr(base64_encode(json_encode($data))) ?>' class='themify_map map-container'  s
    Found base64_encode in file class-wp-twitter-api.php.
     $bearer_token_credentials_64 = base64_encode( $bearer_token_credentials );
    Found base64_encode in file css.php.
     $importContent = base64_encode($importContent);
  3. Malware : Operations on file system file_get_contents was found in the file parsers.php
    Line 66: $success = $dom->loadXML( file_get_contents( $file ) );
    Line 296: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
    file_get_contents was found in the file parsers.php
    Line 66: $success = $dom->loadXML( file_get_contents( $file ) );
    Line 296: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
    fopen was found in the file parsers.php
    Line 442: $fp = $this->fopen( $file, 'r' );
    Line 668: function fopen( $filename, $mode = 'r' ) {
    Line 671: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 491: $this->fclose($fp);
    Line 686: function fclose( $fp ) {
    Line 689: return fclose( $fp );
    fopen was found in the file parsers.php
    Line 442: $fp = $this->fopen( $file, 'r' );
    Line 668: function fopen( $filename, $mode = 'r' ) {
    Line 671: return fopen( $filename, $mode );
    fopen was found in the file parsers.php
    Line 442: $fp = $this->fopen( $file, 'r' );
    Line 668: function fopen( $filename, $mode = 'r' ) {
    Line 671: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 491: $this->fclose($fp);
    Line 686: function fclose( $fp ) {
    Line 689: return fclose( $fp );
    fclose was found in the file parsers.php
    Line 491: $this->fclose($fp);
    Line 686: function fclose( $fp ) {
    Line 689: return fclose( $fp );
  4. Admin menu : Themes should use add_theme_page() for adding admin pages. File class-tgm-plugin-activation.php :
    Line 737: $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_t
    File themify-admin.php :
    Line 17: add_menu_page( 'themify', $theme->display('Name') , 'manage_options', 'them
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
    File themify-admin.php :
    Line 22: add_submenu_page( 'themify', $theme->display('Name'), __('Themify Settings'
    Line 28: add_submenu_page ( 'themify', __( 'Builder Layouts', 'themify' ), __( 'Buil
    Line 33: add_submenu_page( 'themify', __( 'Builder Layout Parts', 'themify' ), __( '
    Line 39: add_submenu_page( 'themify', 'themify_customize', __( 'Customize', 'themify
    Line 44: add_submenu_page( 'themify', $theme->display('Name'), __('Documentation', '
    Line 81: call_user_func( 'add_submenu_page', 'themify', $theme->display('Name'), __('More Themes', 't
  5. Hidden admin bar : Hidden admin Bar Themes should not hide admin bar. Detected in file : class-themify-builder-preview.php.
  6. Deprecated functions : screen_icon screen_icon found in file demo-importer.php. Deprecated since version 3.8.
    Line 1127: screen_icon();
  7. Deprecated functions : wp_get_http wp_get_http found in file demo-importer.php. Deprecated since version 4.4. Use WP_Http instead.
    Line 1000: $headers = wp_get_http( $url, $upload['file'] );
  8. Deprecated functions : get_currentuserinfo get_currentuserinfo found in file class-builder-duplicate-page.php. Deprecated since version 4.5. Use wp_get_current_user instead.
    Line 235: } else if ( function_exists( 'get_currentuserinfo' ) ) {
    Line 237: get_currentuserinfo();
  9. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was sample-content.zip.
Warning
  1. Text domain : Incorrect use of translation functions.Wrong installation directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is themify-basic.
  2. Text domain : Incorrect use of translation functions.More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are themify, wordpress-importer, tgmpa.
  3. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  4. Hidden admin bar : Hidden admin Bar in CSSThemes should not hide admin bar. Detected in file themify-builder-admin-ui.min.css.
  5. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  6. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  7. Deprecated functions : screen_iconscreen_icon found in file demo-importer.php. Deprecated since version 3.8.
    Line 1127: screen_icon();
  8. I18N implementation : Proper use of ___all(Possible variable $this found in translation function in class-themify-builder-module.php. Translation function calls should not contain PHP variables.
    Line 622: 'name'	  => esc_html__( sprintf( __( '%s Options', 'themify' ), $this->cpt_args['singular'] ) )
  9. I18N implementation : Proper use of esc_html___all(Possible variable $this found in translation function in class-themify-builder-module.php. Translation function calls should not contain PHP variables.
    Line 622: 'name'	  => esc_html__( sprintf( __( '%s Options', 'themify' ), $this->cpt_args['singul
  10. Screenshot : Screenshot fileScreenshot size is 300x225px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file theme-modules.php.
    Line 135: $output = '<div class='themify-info-link'>' . __( 'Here you can set the <a href='https://themify.me/docs/default-layouts'>Default Layouts</a> for WordPress 
    Possible hard-coded links were found in the file page.php.
    Line 24: <p><?php _e( '@admin Learn how to create a <a href='https://themify.me/docs/custom-404' target='_blank'>custom 404 page</a>.', 
    Possible hard-coded links were found in the file module-video.php.
    Line 47: 'help' => __( 'YouTube, Vimeo, etc. video <a href='https://themify.me/docs/video-embeds' target='_blank'>embed link</a>', 'the
    Possible hard-coded links were found in the file themify-updater.php.
    Line 274: $fw_notifications = sprintf( __( '<p class='update %s'>Framework version %s is now available. <a href='%s' class='%s' target='%s'>Update Now</a> or view the <a href='https://themify.me/changelogs/themify.txt' target='_blank' data-changelog='
    Possible hard-coded links were found in the file themify-utils.php.
    Line 209: 'invalid_login' => __('Invalid username or password.<br/>Contact <a href='https://themify.me/contact'>Themify</a> for login issues.', 'themify'),
    Line 210: 'unsuscribed' => __('Your membership might be expired. Login to <a href='https://themify.me/member'>Themify</a> to check.', 'themify'),
    Line 1339: 'description' => __('Link Featured Image and Post Title to lightbox image, video or iframe URL <br/>(<a href='https://themify.me/docs/lightbox'>learn more</a>)', 'themify'),
    Possible hard-coded links were found in the file themify-fontello-icon-picker.php.
    Line 4: * @link http://fontello.com/
    Line 69: <?php printf( __( 'To add icons here: go to <a href='http://fontello.com' target='_blank'>fontello.com</a> and create a package.
    Possible hard-coded links were found in the file shortcodes.php.
    Line 308: 'tooltip' => sprintf( __( 'Example: 52839779@N02. Use %s to find your user ID', 'themify' ), '<a href='http://idgettr.com/' target='_blank'>idGettr.com</a>' )
    Possible hard-coded links were found in the file themify-admin.php.
    Line 616: $output .= '<p>' . sprintf( __( 'If you have an active Themify membership, download the missing addons from the <a href='https://themify.me/member' target='_blank'>Member Area</a>. Then install an
    Possible hard-coded links were found in the file theme-functions.php.
    Line 131: 'description' => __('Image sizes can be set at <a href='options-media.php'>Media Settings</a> and <a href='https://wordpress.org/pl
    Line 419: 'description' => __('Image sizes can be set at <a href='options-media.php'>Media Settings</a> and <a href='https://wordpress.org/pl
    Line 233: 'description' => __('Video embed URL such as YouTube or Vimeo video url (<a href='https://themify.me/docs/video-embeds'>details</a>).', 'themify'),
    Line 131: 'description' => __('Image sizes can be set at <a href='options-media.php'>Media Settings</a> and <a href='https://wordpress.org/pl
    Line 419: 'description' => __('Image sizes can be set at <a href='options-media.php'>Media Settings</a> and <a href='https://wordpress.org/pl
  2. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  3. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  4. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  5. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  6. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  7. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  8. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  9. Optional files : Presence of archive template file archive.phpThis theme does not contain optional file archive.php.
  10. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  11. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  12. Use of includes : Use of include or requireThe theme appears to use include or require : themify-pageoptions.php
    Line 52: include_once( sprintf('%s/themify-pageoptions-popup.php', dirname( __FILE__
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-builder-components-manager.php
    Line 15: include_once( THEMIFY_BUILDER_INCLUDES_DIR . '/components/base.php' );
    Line 16: include_once( THEMIFY_BUILDER_INCLUDES_DIR . '/components/row.php' );
    Line 17: include_once( THEMIFY_BUILDER_INCLUDES_DIR . '/components/subrow.php' );
    Line 18: include_once( THEMIFY_BUILDER_INCLUDES_DIR . '/components/column.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-builder-import-export.php
    Line 88: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    Line 220: require_once( ABSPATH . 'wp-admin/includes/image.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-builder.php
    Line 687: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-form.ph
    Line 688: require_once( THEMIFY_BUILDER_INCLUDES_DIR . '/themify-builder-options.php'
    Line 689: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-import-
    Line 690: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-plugin-
    Line 798: require_once( $path );
    Line 1956: include_once( sprintf('%s/themify-builder-js-tmpl-common.php', THEMIFY_BUIL
    Line 1957: include_once( sprintf('%s/themify-builder-js-tmpl-front.php', THEMIFY_BUILD
    Line 1958: include_once( sprintf('%s/themify-builder-module-panel.php', THEMIFY_BUILDE
    Line 1968: include_once( sprintf('%s/themify-builder-js-tmpl-common.php', THEMIFY_BUIL
    Line 1969: include_once( sprintf('%s/themify-builder-js-tmpl-admin.php', THEMIFY_BUILD
    Line 2103: require_once( ABSPATH . 'wp-admin' . '/includes/image.php' );
    Line 2329: include( $located );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-builder-layouts.php
    Line 730: foreach( include( $path ) as $layout ) {
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-builder-include.php
    Line 32: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/premium/class-themify-builder
    Line 1158: $data = include( THEMIFY_BUILDER_INCLUDES_DIR . '/data/layouts.php' );
    Line 1171: $theme_layouts = include( get_template_directory() . '/builder-layouts/layouts.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : module-portfolio.php
    Line 24: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-builder.php
    Line 28: require_once( THEMIFY_BUILDER_DIR . '/themify-builder-functions.php' );
    Line 36: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-model.p
    Line 37: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/premium/class-themify-builder
    Line 38: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/premium/class-themify-builder
    Line 39: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-module.
    Line 40: require_once( THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-builder-updater.php
    Line 356: require_once(THEMIFY_BUILDER_CLASSES_DIR . '/class-themify-builder-upgrader
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-demo-import.php
    Line 213: require_once( $demo_settings );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-utils.php
    Line 1612: require_once 'class-themify-mobile-detect.php';
    Line 1733: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-shortcodes.php
    Line 861: require 'twitteroauth/class-wp-twitter-api.php';
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : shortcodes.php
    Line 504: 'label' => __( 'Categories to include', 'themify' ),
    Line 686: 'label' => __( 'Categories to include', 'themify' ),
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-themify-tinymce.php
    Line 61: $shortcodes = apply_filters( 'themify_shortcodes', include( dirname( __FILE__ ) . '/shortcodes.php' ) );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-fontello.php
    Line 10: include_once( trailingslashit( THEMIFY_DIR ) . 'themify-fontello-icon-picke
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class-mega-menu.php
    Line 452: require_once( ABSPATH . 'wp-admin/includes/widgets.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-wpajax.php
    Line 167: require_once(ABSPATH . 'wp-admin' . '/includes/image.php');
    Line 553: require_once( THEMIFY_DIR . '/themify-demo-import.php' );
    Line 565: require_once( THEMIFY_DIR . '/themify-demo-import.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-microdata.php
    Line 31: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-config.php
    Line 43: include_once( trailingslashit( THEMIFY_DIR ) . 'themify-builder/first-run.p
    Line 97: require_once( THEME_DIR . '/themify/themify-icon-picker/themify-icon-picker
    Line 101: include( THEMIFY_DIR . '/themify-fontello.php' );
    Line 109: require_once( THEME_DIR . '/themify/class-themify-filesystem.php' );
    Line 114: require_once(THEME_DIR . '/themify/class-themify-cache.php');
    Line 120: require_once( THEMIFY_DIR . '/themify-builder/themify-builder.php' );
    Line 193: require_once(THEMIFY_DIR . '/themify-hooks.php' );
    Line 194: require_once(THEMIFY_DIR . '/class-hook-contents.php' );
    Line 200: require_once( THEMIFY_DIR . '/class-themify-access-role.php' );
    Line 204: require_once( THEMIFY_DIR . '/themify-metabox/themify-metabox.php' );
    Line 212: require_once( THEMIFY_DIR . '/google-fonts/functions.php' );
    Line 215: // require_once( THEMIFY_DIR . '/page-options/themify-pageoptions.php' );
    Line 263: require_once(THEMIFY_DIR . '/themify-wpajax.php');
    Line 294: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    Line 411: include( trailingslashit( get_template_directory() ) . 'themeforest-functio
    Line 517: include( THEMIFY_DIR . '/megamenu/class-mega-menu.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-field-types.php
    Line 1045: require_once(ABSPATH . 'wp-admin' . '/includes/image.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-metabox-core.php
    Line 23: require_once( THEMIFY_METABOX_DIR . 'includes/themify-field-types.php' );
    Line 24: require_once( THEMIFY_METABOX_DIR . 'includes/themify-metabox-utils.php' );
    Line 25: require_once( THEMIFY_METABOX_DIR . 'includes/themify-user-fields.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : themify-metabox.php
    Line 29: require_once( THEMIFY_METABOX_DIR . 'includes/themify-metabox-core.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
Other checked themes