LICENSE: AGPLv2 # # this screen manages the optional soundboard tables in ViciDial # # changes: # 140707-1955 - First Build # 141007-1147 - Finalized adding QXZ translation to all admin files # 141111-0609 - Changes to comply with admin changes # 141126-0906 - Pass through DB variable to example iframe # 150808-2046 - Added compatibility for custom fields data option # 160121-1716 - Filter out period from audio filenames, don't allow duplicate level-1 audiofiles # 160330-1549 - navigation changes and fixes # 160404-0937 - design changes # 160429-1122 - Added admin_row_click option # 161103-1605 - Updated code for new admin links # 161111-1646 - Added HIDENUMBERS display option, Font size, button type and layout options # $admin_version = '2.12-11'; $build = '161111-1646'; require("dbconnect_mysqli.php"); require("functions.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["stage"])) {$stage=$_GET["stage"];} elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["action"])) {$action=$_GET["action"];} elseif (isset($_POST["action"])) {$action=$_POST["action"];} if (isset($_GET["soundboard_id"])) {$soundboard_id=$_GET["soundboard_id"];} elseif (isset($_POST["soundboard_id"])) {$soundboard_id=$_POST["soundboard_id"];} if (isset($_GET["avatar_name"])) {$avatar_name=$_GET["avatar_name"];} elseif (isset($_POST["avatar_name"])) {$avatar_name=$_POST["avatar_name"];} if (isset($_GET["avatar_notes"])) {$avatar_notes=$_GET["avatar_notes"];} elseif (isset($_POST["avatar_notes"])) {$avatar_notes=$_POST["avatar_notes"];} if (isset($_GET["avatar_api_user"])) {$avatar_api_user=$_GET["avatar_api_user"];} elseif (isset($_POST["avatar_api_user"])) {$avatar_api_user=$_POST["avatar_api_user"];} if (isset($_GET["avatar_api_pass"])) {$avatar_api_pass=$_GET["avatar_api_pass"];} elseif (isset($_POST["avatar_api_pass"])) {$avatar_api_pass=$_POST["avatar_api_pass"];} if (isset($_GET["active"])) {$active=$_GET["active"];} elseif (isset($_POST["active"])) {$active=$_POST["active"];} if (isset($_GET["audio_functions"])) {$audio_functions=$_GET["audio_functions"];} elseif (isset($_POST["audio_functions"])) {$audio_functions=$_POST["audio_functions"];} if (isset($_GET["audio_display"])) {$audio_display=$_GET["audio_display"];} elseif (isset($_POST["audio_display"])) {$audio_display=$_POST["audio_display"];} if (isset($_GET["audio_filename"])) {$audio_filename=$_GET["audio_filename"];} elseif (isset($_POST["audio_filename"])) {$audio_filename=$_POST["audio_filename"];} if (isset($_GET["audio_name"])) {$audio_name=$_GET["audio_name"];} elseif (isset($_POST["audio_name"])) {$audio_name=$_POST["audio_name"];} if (isset($_GET["rank"])) {$rank=$_GET["rank"];} elseif (isset($_POST["rank"])) {$rank=$_POST["rank"];} if (isset($_GET["level"])) {$level=$_GET["level"];} elseif (isset($_POST["level"])) {$level=$_POST["level"];} if (isset($_GET["parent_audio_filename"])) {$parent_audio_filename=$_GET["parent_audio_filename"];} elseif (isset($_POST["parent_audio_filename"])) {$parent_audio_filename=$_POST["parent_audio_filename"];} if (isset($_GET["parent_rank"])) {$parent_rank=$_GET["parent_rank"];} elseif (isset($_POST["parent_rank"])) {$parent_rank=$_POST["parent_rank"];} if (isset($_GET["parent_filename"])) {$parent_filename=$_GET["parent_filename"];} elseif (isset($_POST["parent_filename"])) {$parent_filename=$_POST["parent_filename"];} if (isset($_GET["source_avatar_id"])) {$source_avatar_id=$_GET["source_avatar_id"];} elseif (isset($_POST["source_avatar_id"])) {$source_avatar_id=$_POST["source_avatar_id"];} if (isset($_GET["copy_option"])) {$copy_option=$_GET["copy_option"];} elseif (isset($_POST["copy_option"])) {$copy_option=$_POST["copy_option"];} if (isset($_GET["soundboard_layout"])) {$soundboard_layout=$_GET["soundboard_layout"];} elseif (isset($_POST["soundboard_layout"])) {$soundboard_layout=$_POST["soundboard_layout"];} if (isset($_GET["columns_limit"])) {$columns_limit=$_GET["columns_limit"];} elseif (isset($_POST["columns_limit"])) {$columns_limit=$_POST["columns_limit"];} if (isset($_GET["ConFiRm"])) {$ConFiRm=$_GET["ConFiRm"];} elseif (isset($_POST["ConFiRm"])) {$ConFiRm=$_POST["ConFiRm"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refresh,nocache_admin,webroot_writable,allow_emails,active_modules,sounds_central_control_active,qc_features_active,contacts_enabled,enable_languages,active_modules,agent_soundboards FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); $non_latin = $row[0]; $SSauto_dial_limit = $row[1]; $SSuser_territories_active = $row[2]; $SSallow_custom_dialplan = $row[3]; $SScallcard_enabled = $row[4]; $SSadmin_modify_refresh = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; $SSemail_enabled = $row[8]; $SSactive_modules = $row[9]; $sounds_central_control_active =$row[10]; $SSqc_features_active = $row[11]; $SScontacts_enabled = $row[12]; $SSenable_languages = $row[13]; $SSactive_modules = $row[14]; $SSagent_soundboards = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### if (strlen($DB) < 1) {$DB=0;} $modify_refresh_set=0; if ($non_latin < 1) { $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_PW); $DB = preg_replace('/[^0-9]/','',$DB); $rank = preg_replace('/[^0-9]/','',$rank); $level = preg_replace('/[^0-9]/','',$level); $parent_rank = preg_replace('/[^0-9]/','',$parent_rank); $columns_limit = preg_replace('/[^0-9]/','',$columns_limit); $active = preg_replace('/[^NY]/','',$active); $avatar_api_user = preg_replace('/[^-_0-9a-zA-Z]/','',$avatar_api_user); $avatar_api_pass = preg_replace('/[^-_0-9a-zA-Z]/','',$avatar_api_pass); $ConFiRm = preg_replace('/[^0-9a-zA-Z]/','',$ConFiRm); $name_position = preg_replace('/[^0-9a-zA-Z]/','',$name_position); $multi_position = preg_replace('/[^0-9a-zA-Z]/','',$multi_position); $soundboard_id = preg_replace('/[^_0-9a-zA-Z]/','',$soundboard_id); $copy_option = preg_replace('/[^_0-9a-zA-Z]/','',$copy_option); $audio_functions = preg_replace('/[^-_0-9a-zA-Z]/', '',$audio_functions); $audio_display = preg_replace('/[^-_0-9a-zA-Z]/', '',$audio_display); $stage = preg_replace('/[^-_0-9a-zA-Z]/', '',$stage); $user_group = preg_replace('/[^-_0-9a-zA-Z]/', '',$user_group); $soundboard_layout = preg_replace('/[^-_0-9a-zA-Z]/', '',$soundboard_layout); $avatar_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$avatar_name); $avatar_notes = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$avatar_notes); $audio_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$audio_name); $audio_filename = preg_replace('/[^-\|\,\_0-9a-zA-Z]/', '',$audio_filename); $parent_audio_filename = preg_replace('/[^-\|\,\_0-9a-zA-Z]/', '',$parent_audio_filename); } # end of non_latin else { $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); } $STARTtime = date("U"); $TODAY = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); $user = $PHP_AUTH_USER; $admin_lists_custom = 'admin_lists_custom.php'; if (preg_match("/cf_encrypt/",$SSactive_modules)) {$admin_lists_custom = 'admin_lists_custom_encrypt.php';} if (file_exists('options.php')) {require('options.php');} $auth=0; $auth_message = user_authorization($PHP_AUTH_USER,$PHP_AUTH_PW,'',1); if ($auth_message == 'GOOD') {$auth=1;} if ($auth < 1) { $VDdisplayMESSAGE = _QXZ("Login incorrect, please try again"); if ($auth_message == 'LOCK') { $VDdisplayMESSAGE = _QXZ("Too many login attempts, try again in 15 minutes"); Header ("Content-type: text/html; charset=utf-8"); echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; exit; } Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); Header("HTTP/1.0 401 Unauthorized"); echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$PHP_AUTH_PW|$auth_message|\n"; exit; } $rights_stmt = "SELECT modify_audiostore from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rights_rslt=mysql_to_mysqli($rights_stmt, $link); $rights_row=mysqli_fetch_row($rights_rslt); $modify_audiostore = $rights_row[0]; # check their permissions if ( $modify_audiostore < 1 ) { header ("Content-type: text/html; charset=utf-8"); echo _QXZ("You do not have permissions to modify audio")."\n"; exit; } $stmt="SELECT full_name,modify_scripts,user_level,user_group,qc_enabled from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $LOGfullname = $row[0]; $LOGmodify_scripts = $row[1]; $LOGuser_level = $row[2]; $LOGuser_group = $row[3]; $qc_auth = $row[4]; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $LOGallowed_campaigns = $row[0]; $LOGallowed_reports = $row[1]; $LOGadmin_viewable_groups = $row[2]; $LOGadmin_viewable_call_times = $row[3]; ?>
1) and (preg_match("/^3/",$ADD)) ) { $modify_refresh_set=1; if (preg_match("/^3/",$ADD)) {$modify_url = "$PHP_SELF?$QUERY_STRING";} echo "\n"; } ?>| \n";
echo "";
echo " "._QXZ("ADD NEW SOUNDBOARD ENTRY")." |