| 
<?php
/**
 * Obfuscate Code.
 * Executable file.
 *
 */
 
 // Tell NabiBust which classes and functions are system classes and functions and therefore can not
 // be obfuscated.
 // All classes defined before these lines will be excluded from obfucation.
 // Copy these three lines to a place where they are called before any
 // user class or function definition.
 require_once(realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR.
 "class_system_classes.php");
 system_classes::init();
 
 // USER SETTING: set maximum execution time
 ini_set("max_execution_time",-1);
 
 // init framework
 require_once(realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR."obfuscator.php");
 $settings = new ObfuscatorSettings();
 
 //USER SETTING: set the source directory
 $settings->set_source_directory(realpath(dirname(__FILE__)."/testfiles"));
 
 // USER SETTING: set the target directory
 $settings->set_target_directory(realpath(dirname(__FILE__)."/release"));
 
 // USER SETTING: set file extensions to include
 $settings->set_include_filenames(array("*.php"));
 
 // USER SETTING: exclude from step 0 (copy files from source to target) folders that are not relevant for the project,
 // like the subversion folders ".svn" or the temp folders or files from Apple systems ".DS_*"
 // and any files not needed.
 // Theses folders and files will not show up in the result directory!
 $settings->set_exclude_in_first_copy(array(    "*.svn*",
 "*.DS_*".
 "installation/test_and_build/test_installation",
 "lib/obfuscate/release",
 "lib/tar/install/install.gz"));
 
 // USER SETTING: exclude directories that contain code which is supposed to be viewed or
 // changed by the user or contain foreign (unknown) code.
 // These folders will show up in the result directory, but their contents will not be
 // obfuscated.
 $settings->set_exclude_directories(array("modules", "lib","not_to_obfuscate"));
 
 // USER SETTING: exclude files that contain code which is supposed to be viewed or changed by
 // the user or contain foreign (unknown) code.
 $settings->set_exclude_filenames(array("configuration.php","install_from_eclipse.php"));
 
 // USER SETTING: set classes to be excluded, e.g. classes which are used in callbacks or in eval.
 $settings->set_exclude_classes(array(
 "receive_system_setting",
 "will_be_checked",
 "test_asset_static",
 "color_editor",
 "css_editor",
 "font",
 "link_editor",
 "picture_editor",
 "upload",
 "del_warn",
 "site_manager",
 "change_permissions",
 "secure_page_builder",
 "show_page",
 "save_position",
 "save_size",
 "set_virtual_group",
 "template_copy_file",
 "template_delete_file",
 "template_editor",
 "upload_tool",
 "webdav",
 "admin_frontend",
 "group_assign",
 "group_bean",
 "nabidoo_example_bean",
 "user_bean",
 "requesting_user_bean",
 "my_number_server",
 "xhtml_converter",
 "show_page",
 "test_asset_dynamic",
 "test_asset_static",
 "input_checks",
 "error_messages",
 "group_to_group_assignment",
 "single_site_manager",
 "module_manager"));
 
 
 // USER SETTING: set variables to be excluded, e.g. variables which are used in callbacks or in eval.
 $settings->set_exclude_variables(array(    'content',
 'template_call',
 'user_email',
 'user_first_name',
 'user_last_name',
 'group_name',
 'source_group',
 'target_group',
 'user_password',
 'userid',
 'useremail',
 'userfirstname',
 'userlastname',
 'group_name',
 'page'));
 
 // USER SETTING: set functions to be excluded, e.g. functions which are used in callbacks or in eval.
 $settings->set_exclude_functions(array(    'run',
 'run_unprotected',
 'integer',
 'html_hex_color_with_selection',
 'real_integer',
 'get_table_def',
 'get_table',
 'ucd',
 'postprocess_delete',
 'postprocess_ne',
 'postprocess_edit',
 'image_file_name_with_selection',
 'secure_render_template',
 'close_singleton_callback',
 'add_hyphens_callback',
 'filter_dangerous_code',
 'is_unknown_modifier',
 'strtolower',
 'add_key',
 'style_key_sort',
 'integer',
 'check_field',
 'input_error_functions'));
 
 // USER SETTING: set the required obfuscation steps
 $settings->set_steps(array(    ObfuscatorSettings::STEP_1_COPY,
 ObfuscatorSettings::STEP_2_CLASSES,
 ObfuscatorSettings::STEP_3_CONSTANTS,
 ObfuscatorSettings::STEP_4_COMMENTS,
 ObfuscatorSettings::STEP_5_VARIABLES,
 ObfuscatorSettings::STEP_6_FUNCTIONS,
 ObfuscatorSettings::STEP_7_WHITESPACES,
 ObfuscatorSettings::STEP_8
 ));
 
 
 // NO MORE USER SETTINGS AFTER THIS LINE
 // use this two lines to call the obfuscator
 
 $obfuscator = new Obfuscator($settings);
 // start obfuscation process
 $obfuscator->bust_files();
 ?>
 |