2017-06-04 18:01:39 +02:00
< ? php
/*
Plugin Name : Profile Builder
Plugin URI : https :// www . cozmoslabs . com / wordpress - profile - builder /
Description : Login , registration and edit profile shortcodes for the front - end . Also you can chose what fields should be displayed or add new ( custom ) ones both in the front - end and in the dashboard .
2017-06-09 14:13:44 +02:00
Version : 2.6 . 4
2017-06-04 18:01:39 +02:00
Author : Cozmoslabs , Madalin Ungureanu , Antohe Cristian , Barina Gabriel , Mihai Iova
Author URI : https :// www . cozmoslabs . com /
License : GPL2
== Copyright ==
Copyright 2014 Cozmoslabs ( www . cozmoslabs . com )
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA
*/
/* Check if another version of Profile Builder is activated, to prevent fatal errors*/
function wppb_free_plugin_init () {
if ( function_exists ( 'wppb_return_bytes' )) {
function wppb_admin_notice ()
{
?>
< div class = " error " >
< p >< ? php _e ( PROFILE_BUILDER . ' is also activated. You need to deactivate it before activating this version of the plugin.' , 'profile-builder' ); ?> </p>
</ div >
< ? php
}
function wppb_plugin_deactivate () {
deactivate_plugins ( plugin_basename ( __FILE__ ) );
unset ( $_GET [ 'activate' ]);
}
add_action ( 'admin_notices' , 'wppb_admin_notice' );
add_action ( 'admin_init' , 'wppb_plugin_deactivate' );
} else {
/**
* Convert memory value from ini file to a readable form
*
* @ since v . 1.0
*
* @ return integer
*/
function wppb_return_bytes ( $val )
{
$val = trim ( $val );
switch ( strtolower ( $val [ strlen ( $val ) - 1 ])) {
// The 'G' modifier is available since PHP 5.1.0
case 'g' :
$val = intval ( $val ) * 1024 ;
case 'm' :
$val = intval ( $val ) * 1024 ;
case 'k' :
$val = intval ( $val ) * 1024 ;
}
return $val ;
}
/**
* Definitions
*
*
*/
2017-06-09 14:13:44 +02:00
define ( 'PROFILE_BUILDER_VERSION' , '2.6.4' );
2017-06-04 18:01:39 +02:00
define ( 'WPPB_PLUGIN_DIR' , plugin_dir_path ( __FILE__ ));
define ( 'WPPB_PLUGIN_URL' , plugin_dir_url ( __FILE__ ));
define ( 'WPPB_SERVER_MAX_UPLOAD_SIZE_BYTE' , apply_filters ( 'wppb_server_max_upload_size_byte_constant' , wppb_return_bytes ( ini_get ( 'upload_max_filesize' ))));
define ( 'WPPB_SERVER_MAX_UPLOAD_SIZE_MEGA' , apply_filters ( 'wppb_server_max_upload_size_mega_constant' , ini_get ( 'upload_max_filesize' )));
define ( 'WPPB_SERVER_MAX_POST_SIZE_BYTE' , apply_filters ( 'wppb_server_max_post_size_byte_constant' , wppb_return_bytes ( ini_get ( 'post_max_size' ))));
define ( 'WPPB_SERVER_MAX_POST_SIZE_MEGA' , apply_filters ( 'wppb_server_max_post_size_mega_constant' , ini_get ( 'post_max_size' )));
define ( 'WPPB_TRANSLATE_DIR' , WPPB_PLUGIN_DIR . '/translation' );
define ( 'WPPB_TRANSLATE_DOMAIN' , 'profile-builder' );
/* include notices class */
if ( file_exists ( WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php' ))
include_once ( WPPB_PLUGIN_DIR . '/assets/lib/class_notices.php' );
if ( file_exists ( WPPB_PLUGIN_DIR . '/modules/modules.php' ))
define ( 'PROFILE_BUILDER' , 'Profile Builder Pro' );
elseif ( file_exists ( WPPB_PLUGIN_DIR . '/front-end/extra-fields/extra-fields.php' ))
define ( 'PROFILE_BUILDER' , 'Profile Builder Hobbyist' );
else
define ( 'PROFILE_BUILDER' , 'Profile Builder Free' );
/**
* Initialize the translation for the Plugin .
*
* @ since v . 1.0
*
* @ return null
*/
function wppb_init_translation ()
{
$current_theme = wp_get_theme ();
if ( ! empty ( $current_theme -> stylesheet ) && file_exists ( get_theme_root () . '/' . $current_theme -> stylesheet . '/local_pb_lang' ) )
load_plugin_textdomain ( 'profile-builder' , false , basename ( dirname ( __FILE__ ) ) . '/../../themes/' . $current_theme -> stylesheet . '/local_pb_lang' );
else
load_plugin_textdomain ( 'profile-builder' , false , basename ( dirname ( __FILE__ )) . '/translation/' );
}
add_action ( 'init' , 'wppb_init_translation' , 8 );
/**
* Required files
*
*
*/
include_once ( WPPB_PLUGIN_DIR . '/assets/lib/wck-api/wordpress-creation-kit.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/upgrades/upgrades.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/functions.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/admin-functions.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/basic-info.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/general-settings.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/admin-bar.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/manage-fields.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/pms-cross-promotion.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/email-confirmation/email-confirmation.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/email-confirmation/class-email-confirmation.php' );
if ( file_exists ( WPPB_PLUGIN_DIR . '/features/admin-approval/admin-approval.php' )) {
include_once ( WPPB_PLUGIN_DIR . '/features/admin-approval/admin-approval.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/admin-approval/class-admin-approval.php' );
}
if ( file_exists ( WPPB_PLUGIN_DIR . '/features/conditional-fields/conditional-fields.php' )) {
include_once ( WPPB_PLUGIN_DIR . '/features/conditional-fields/conditional-fields.php' );
}
include_once ( WPPB_PLUGIN_DIR . '/features/login-widget/login-widget.php' );
include_once ( WPPB_PLUGIN_DIR . '/features/roles-editor/roles-editor.php' );
if ( file_exists ( WPPB_PLUGIN_DIR . '/update/update-checker.php' )) {
include_once ( WPPB_PLUGIN_DIR . '/update/update-checker.php' );
include_once ( WPPB_PLUGIN_DIR . '/admin/register-version.php' );
}
if ( file_exists ( WPPB_PLUGIN_DIR . '/modules/modules.php' )) {
include_once ( WPPB_PLUGIN_DIR . '/modules/modules.php' );
include_once ( WPPB_PLUGIN_DIR . '/modules/repeater-field/repeater-module.php' );
include_once ( WPPB_PLUGIN_DIR . '/modules/custom-redirects/custom-redirects.php' );
include_once ( WPPB_PLUGIN_DIR . '/modules/email-customizer/email-customizer.php' );
include_once ( WPPB_PLUGIN_DIR . '/modules/multiple-forms/multiple-forms.php' );
include_once ( WPPB_PLUGIN_DIR . '/modules/user-listing/userlisting.php' );
$wppb_module_settings = get_option ( 'wppb_module_settings' );
if ( isset ( $wppb_module_settings [ 'wppb_userListing' ]) && ( $wppb_module_settings [ 'wppb_userListing' ] == 'show' )) {
add_shortcode ( 'wppb-list-users' , 'wppb_user_listing_shortcode' );
} else
add_shortcode ( 'wppb-list-users' , 'wppb_list_all_users_display_error' );
if ( isset ( $wppb_module_settings [ 'wppb_emailCustomizerAdmin' ]) && ( $wppb_module_settings [ 'wppb_emailCustomizerAdmin' ] == 'show' ))
include_once ( WPPB_PLUGIN_DIR . '/modules/email-customizer/admin-email-customizer.php' );
if ( isset ( $wppb_module_settings [ 'wppb_emailCustomizer' ]) && ( $wppb_module_settings [ 'wppb_emailCustomizer' ] == 'show' ))
include_once ( WPPB_PLUGIN_DIR . '/modules/email-customizer/user-email-customizer.php' );
}
include_once ( WPPB_PLUGIN_DIR . '/admin/add-ons.php' );
include_once ( WPPB_PLUGIN_DIR . '/assets/misc/plugin-compatibilities.php' );
/* added recaptcha and user role field since version 2.6.2 */
include_once ( WPPB_PLUGIN_DIR . '/front-end/default-fields/recaptcha/recaptcha.php' ); //need to load this here for displaying reCAPTCHA on Login and Recover Password forms
/**
* Check for updates
*
*
*/
if ( file_exists ( WPPB_PLUGIN_DIR . '/update/update-checker.php' )) {
if ( file_exists ( WPPB_PLUGIN_DIR . '/modules/modules.php' )) {
$localSerial = get_option ( 'wppb_profile_builder_pro_serial' );
$wppb_update = new wppb_PluginUpdateChecker ( 'http://updatemetadata.cozmoslabs.com/?localSerialNumber=' . $localSerial . '&uniqueproduct=CLPBP' , __FILE__ , 'profile-builder-pro-update' );
} else {
$localSerial = get_option ( 'wppb_profile_builder_hobbyist_serial' );
$wppb_update = new wppb_PluginUpdateChecker ( 'http://updatemetadata.cozmoslabs.com/?localSerialNumber=' . $localSerial . '&uniqueproduct=CLPBH' , __FILE__ , 'profile-builder-hobbyist-update' );
}
}
// these settings are important, so besides running them on page load, we also need to do a check on plugin activation
add_action ( 'init' , 'wppb_generate_default_settings_defaults' ); //prepoulate general settings
add_action ( 'init' , 'wppb_prepopulate_fields' ); //prepopulate manage fields list
}
} //end wppb_free_plugin_init
add_action ( 'plugins_loaded' , 'wppb_free_plugin_init' );
if ( file_exists ( plugin_dir_path ( __FILE__ ) . '/front-end/extra-fields/upload/upload_helper_functions.php' ))
include_once ( plugin_dir_path ( __FILE__ ) . '/front-end/extra-fields/upload/upload_helper_functions.php' );