Plugin Directory

Changeset 2385836


Ignore:
Timestamp:
09/21/2020 05:43:01 PM (6 years ago)
Author:
inyh
Message:

v 0.4

Location:
custmain
Files:
37 added
4 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • custmain/assets

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2/fonts

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2/images

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2/includes

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2/lang

    • Property svn:ignore set to
      *.ini
  • custmain/tags/0.2/styles

    • Property svn:ignore set to
      *.ini
  • custmain/trunk

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/custmain.php

    r1966108 r2385836  
    66Author: Inyh - IT & Design Solutions
    77Developers: Vladislav Sivachuk
    8 Version: 0.2
     8Version: 0.4
    99Author URI: https://inyh.ru/
    1010Text Domain: custmain
     
    1212*/
    1313   
    14 $custmain['version'] = "0.2";
    15 $custmain['edition'] = "FREE";
    16 $custmain['release'] = "2018-10-25";
     14if ( ! defined( 'ABSPATH' ) ) {
     15 exit;
     16}
     17
     18$custmain['version'] = "0.4";
     19$custmain['release'] = "2020-09-21";
    1720
    1821require_once(plugin_dir_path( __FILE__ ).'includes/CustMainAjax.php');
     
    6568    ) {$charset_collate};";
    6669   
    67     dbDelta($sql1.$sql2.$sql3.$sql4);
     70    $table_name = $wpdb->get_blog_prefix() . 'custmain_autorun';
     71    $sql5 = "CREATE TABLE {$table_name} (
     72        id int(11) unsigned NOT NULL auto_increment,
     73        `change_id` int(11) unsigned NOT NULL,
     74        `type` VARCHAR(8) NOT NULL default '',
     75        `title` VARCHAR(256) NOT NULL default '',
     76        `subject` VARCHAR(512) NOT NULL default '',
     77        PRIMARY KEY (id)
     78    ) {$charset_collate};";
     79   
     80    dbDelta($sql1.$sql2.$sql3.$sql4.$sql5);
     81   
     82    if(!file_exists(ABSPATH . "cm-backup") || !is_dir(ABSPATH . "cm-backup")){
     83        if (!mkdir(ABSPATH . "cm-backup", 0755, false)) {
     84            die(__('Unable to create a backup directory.<br>Please, try again or create a backup directory manually:<br>'.ABSPATH.'cm-backup/ with 0755 rights.', 'custmain'));
     85        }
     86    }
    6887}
    6988
     
    7493    $vars['lightgreen'] = "#1abc9c";
    7594    $vars['darkgreen'] = "#16a085";
    76     $vars['CMH'] = "CustMainHeading, Verdana, Arial, sans-serif";
    77     $vars['CMP'] = "CustMainParagraph, Verdana, Arial, sans-serif";
     95    $vars['CMH'] = "'Ubuntu', Verdana, Arial, sans-serif";
     96    $vars['CMP'] = "'Ubuntu', Verdana, Arial, sans-serif";
    7897
    7998    $style = new SRP(plugin_dir_path( __FILE__ ) . 'styles/style.srp', $vars);
     
    106125   
    107126        <div id="custmain_fonts_load">
    108             <span class="custmain_font_1">.</span>
    109             <span class="custmain_font_2">.</span>
    110             <span class="custmain_font_3">.</span>
    111127            <span class="custmain_font_4">.</span>
    112128        </div>
     
    116132            <div id="custmain_version">
    117133                <span>v.<?php echo $custmain['version']; ?></span>
    118                 <span><?php echo $custmain['edition']; ?></span>
     134                <span></span>
    119135                <span><?php echo $custmain['release']; ?></span>
    120136            </div>
     
    132148            <div id="custmain_selected_controls">
    133149                <button class="custmain_control_export" onclick="custmain_export_selected();"><span><?php echo __('Export selected', 'custmain'); ?></span></button>
     150                <button class="custmain_control_autorun" onclick="custmain_autorun_selected();"><span><?php echo __('Autorun settings', 'custmain'); ?></span></button>
    134151                <button class="custmain_control_run" onclick="custmain_run_selected();"><span><?php echo __('Run selected', 'custmain'); ?></span></button>
    135152                <button class="custmain_control_delete" onclick="custmain_delete_selected();"><span><?php echo __('Delete selected', 'custmain'); ?></span></button>
     
    184201            <button class="custmain_confirm_button" onclick="custmain_hide_modal();"><?php echo __('Finish', 'custmain'); ?></button>
    185202        </div>
     203        <div id="custmain_autorun">
     204            <div id="custmain_autorun_descr"></div>
     205            <label for="custmain_autorun_type"><?php echo __('Autorun type', 'custmain'); ?>:</label>
     206            <select id="custmain_autorun_type" onchange="custmain_load_autorun_subjects();">
     207                <option value="plugin"><?php echo __('On plugin update', 'custmain'); ?></option>
     208                <option value="theme"><?php echo __('On theme update', 'custmain'); ?></option>
     209                <!--<option value="cron"><?php echo __('By task scheduler', 'custmain'); ?></option>-->
     210            </select>
     211            <label for="custmain_autorun_subject"><?php echo __('Select desired', 'custmain'); ?>:</label>
     212            <select id="custmain_autorun_subject">
     213               
     214            </select>
     215            <button class="custmain_cancel_button" onclick="custmain_set_autorun(false);"><?php echo __('Cancel', 'custmain'); ?></button>
     216            <button class="custmain_confirm_button" onclick="custmain_set_autorun(true);"><?php echo __('Set', 'custmain'); ?></button>
     217        </div>
    186218        <div id="custmain_alert"></div>
    187219    </div>
     
    190222}
    191223
    192 function custmain_print_group($id, $title){
    193     ?>
    194     <div <?php if(!isset($id)) echo 'id="custmain_group_template"'; ?>class="custmain_group<?php if(isset($id) && $id == 0) echo " custmain_default"; ?>" data-id="<?php echo $id; ?>">
     224function custmain_print_group($id = -1, $title = ""){
     225    ?>
     226    <div <?php if($id < 0) echo 'id="custmain_group_template"'; ?>class="custmain_group<?php if(isset($id) && $id == 0) echo " custmain_default"; ?>" data-id="<?php echo $id; ?>">
    195227        <div class="custmain_select" onclick="custmain_select_group(this);"></div>
    196         <div class="custmain_group_title" onclick="if(event.target == this) custmain_toggle_group(this);"><input type="text" class="custmain_title_text" value="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" oninput="custmain_manage_input(this);" onchange="custmain_update_group_title(this);" onfocus="custmain_focus(true);" onfocusout="custmain_focus(false);" <?php if(isset($id) && $id == 0) echo "readonly"; ?> placeholder="<?php echo __('Group', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_group_controls(); ?></div>
     228        <div class="custmain_group_title" onclick="if(event.target == this) custmain_toggle_group(this);"><input type="text" class="custmain_title_text" data-saved="<?php echo $title; ?>" value="<?php echo $title; ?>" title="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" <?php if(isset($id) && $id == 0) echo "readonly"; else { ?>oninput="custmain_manage_input(this);" onchange="custmain_update_group_title(this);" onfocus="custmain_focus(true);" onfocusout="custmain_focus(false);"<?php } ?> placeholder="<?php echo __('Group', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_group_controls(); ?></div>
    197229        <div class="custmain_container"></div>
    198230    </div>
     
    200232}
    201233
    202 function custmain_print_file($id, $title){
    203     ?>
    204     <div <?php if(!isset($id)) echo 'id="custmain_file_template"'; ?>class="custmain_file" data-id="<?php echo $id; ?>">
     234function custmain_print_file($id = -1, $title = ""){
     235    ?>
     236    <div <?php if($id < 0) echo 'id="custmain_file_template"'; ?>class="custmain_file" data-id="<?php echo $id; ?>">
    205237        <div class="custmain_select" onclick="custmain_select_file(this);"></div>
    206         <div class="custmain_file_title" onclick="if(event.target == this) custmain_toggle_file(this);"><input type="text" class="custmain_title_text" value="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" oninput="custmain_manage_input(this);" onchange="custmain_update_file_path(this);" onfocus="custmain_focus(true); custmain_check_file(this);" onfocusout="custmain_focus(false);" placeholder="<?php echo __('File', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_file_controls(); ?></div>
     238        <div class="custmain_file_title" onclick="if(event.target == this) custmain_toggle_file(this);"><input type="text" class="custmain_title_text" data-saved="<?php echo $title; ?>" value="<?php echo $title; ?>" title="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" oninput="custmain_manage_input(this); custmain_file_tip(this);" onchange="custmain_update_file_path(this);" onfocus="custmain_focus(true); custmain_file_tip(this); custmain_check_file(this);" onfocusout="custmain_focus(false); custmain_close_tip(this);" placeholder="<?php echo __('File', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_file_controls($id); ?><div class="custmain_file_tip"></div></div>
    207239        <div class="custmain_container"></div>
    208240    </div>
     
    210242}
    211243
    212 function custmain_print_change($id, $title, $original, $replacement){
    213     ?>
    214     <div <?php if(!isset($id)) echo 'id="custmain_change_template"'; ?>class="custmain_change" data-id="<?php echo $id; ?>">
     244function custmain_print_change($id = -1, $title = "", $original = "", $replacement = ""){
     245    ?>
     246    <div <?php if($id < 0) echo 'id="custmain_change_template"'; ?>class="custmain_change" data-id="<?php echo $id; ?>">
    215247        <div class="custmain_select" onclick="custmain_select_change(this);"></div>
    216         <div class="custmain_change_title"><input type="text" class="custmain_title_text" value="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" oninput="custmain_manage_input(this);" onchange="custmain_update_change_title(this);" onfocus="custmain_focus(true);" onfocusout="custmain_focus(false);" placeholder="<?php echo __('Change', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_change_controls(); ?></div>
    217         <div class="custmain_change_original"><?php echo __('Original', 'custmain'); ?>:<br><textarea class="custmain_original_input" oninput="custmain_manage_input(this);" onchange="custmain_update_original(this);" onfocus="custmain_focus(true, this);" onfocusout="custmain_focus(false, this);"><?php echo $original; ?></textarea><span class="custmain_load custmain_load_next"></div>
    218         <div class="custmain_change_replacement"><?php echo __('Replacement', 'custmain'); ?>:<br><textarea class="custmain_replacement_input" oninput="custmain_manage_input(this);" onchange="custmain_update_replacement(this);" onfocus="custmain_focus(true, this);" onfocusout="custmain_focus(false, this);"><?php echo $replacement; ?></textarea><span class="custmain_load custmain_load_next"></div>
     248        <div class="custmain_change_title"><input type="text" class="custmain_title_text" data-saved="<?php echo $title; ?>" value="<?php echo $title; ?>" title="<?php echo $title; ?>" size="<?php echo (mb_strlen($title)>50?50:(mb_strlen($title)==0?10:mb_strlen($title))); ?>" oninput="custmain_manage_input(this);" onchange="custmain_update_change_title(this);" onfocus="custmain_focus(true);" onfocusout="custmain_focus(false);" placeholder="<?php echo __('Change', 'custmain'); ?>"><span class="custmain_load"></span><?php custmain_print_change_controls(); ?></div>
     249        <div class="custmain_change_original"><?php echo __('Original', 'custmain'); ?>:<br><textarea class="custmain_original_lines" readonly><?php echo "1\n2\n3\n4"; ?></textarea><textarea class="custmain_original_input" oninput="custmain_manage_input(this);" onchange="custmain_update_original(this);" onfocus="custmain_focus(true, this);" onfocusout="custmain_focus(false, this);"><?php echo $original; ?></textarea><span class="custmain_load custmain_load_next"></div>
     250        <div class="custmain_change_replacement"><?php echo __('Replacement', 'custmain'); ?>:<br><textarea class="custmain_replacement_lines" readonly><?php echo "1\n2\n3\n4"; ?></textarea><textarea class="custmain_replacement_input" oninput="custmain_manage_input(this);" onchange="custmain_update_replacement(this);" onfocus="custmain_focus(true, this);" onfocusout="custmain_focus(false, this);"><?php echo $replacement; ?></textarea><span class="custmain_load custmain_load_next"></div>
    219251    </div>
    220252    <?php
     
    226258        <button class="custmain_control_new" onclick="custmain_new_file(this);"><span><?php echo __('Add new file', 'custmain'); ?></span></button>
    227259        <button class="custmain_control_export" onclick="custmain_export_group(this);"><span><?php echo __('Export this group', 'custmain'); ?></span></button>
     260        <button class="custmain_control_autorun" onclick="custmain_autorun_group(this);"><span><?php echo __('Autorun settings', 'custmain'); ?></span></button>
    228261        <button class="custmain_control_run" onclick="custmain_run_group(this);"><span><?php echo __('Run this group', 'custmain'); ?></span></button>
    229262        <button class="custmain_control_delete" onclick="custmain_delete_group(this);"><span><?php echo __('Delete this group', 'custmain'); ?></span></button>
     
    240273}
    241274
    242 function custmain_print_file_controls(){
     275function custmain_print_file_controls($file_id){
    243276    ?>
    244277    <div class="custmain_controls">
    245278        <button class="custmain_control_new" onclick="custmain_new_change(this);"><span><?php echo __('Add new change', 'custmain'); ?></span></button>
     279        <button class="custmain_control_revert" onclick="custmain_revert_file(this);" <?php if(!custmain_check_backup($file_id)) echo 'style="display: none;"';?>><span><?php echo __('Revert this file', 'custmain'); ?></span></button>
    246280        <button class="custmain_control_export" onclick="custmain_export_file(this);"><span><?php echo __('Export this file', 'custmain'); ?></span></button>
     281        <button class="custmain_control_autorun" onclick="custmain_autorun_file(this);"><span><?php echo __('Autorun settings', 'custmain'); ?></span></button>
    247282        <button class="custmain_control_run" onclick="custmain_run_file(this);"><span><?php echo __('Run this file', 'custmain'); ?></span></button>
    248283        <button class="custmain_control_delete" onclick="custmain_delete_file(this);"><span><?php echo __('Delete this file', 'custmain'); ?></span></button>
     
    263298    <div class="custmain_controls">
    264299        <button class="custmain_control_export" onclick="custmain_export_change(this);"><span><?php echo __('Export this change', 'custmain'); ?></span></button>
     300        <button class="custmain_control_autorun" onclick="custmain_autorun_change(this);"><span><?php echo __('Autorun settings', 'custmain'); ?></span></button>
    265301        <button class="custmain_control_run" onclick="custmain_run_change(this);"><span><?php echo __('Run this change', 'custmain'); ?></span></button>
    266302        <button class="custmain_control_delete" onclick="custmain_delete_change(this);"><span><?php echo __('Delete this change', 'custmain'); ?></span></button>
     
    280316function custmain_get_groups(){
    281317    global $wpdb;
    282     $data = $wpdb->get_results($wpdb->prepare("SELECT * FROM `".$wpdb->get_blog_prefix()."custmain_groups` WHERE `active`=1"), 'ARRAY_A');
     318    $data = $wpdb->get_results("SELECT * FROM `".$wpdb->get_blog_prefix()."custmain_groups` WHERE `active`=1", 'ARRAY_A');
    283319    return $data;
    284320}
     
    293329    global $wpdb;
    294330    $data = $wpdb->get_results($wpdb->prepare("SELECT * FROM `".$wpdb->get_blog_prefix()."custmain_changes` WHERE `file_id`=%d AND `active`=1", $file_id), 'ARRAY_A');
     331    foreach($data as $key => $value){
     332        $data[$key]['original'] = stripslashes($value['original']);
     333        $data[$key]['replacement'] = stripslashes($value['replacement']);
     334    }
    295335    return $data;
    296336}
     337
     338function custmain_check_backup($file_id){
     339    global $wpdb;
     340    $data = $wpdb->get_row($wpdb->prepare("SELECT path FROM `".$wpdb->get_blog_prefix()."custmain_files` WHERE `id`=%d", $file_id), ARRAY_A);
     341    $path = $data['path'];
     342    if(file_exists(ABSPATH . "cm-backup/" . $path. ".cmcopy")) return true;
     343    return false;
     344}
     345
     346function custmain_on_update( $upgrader_object, $options ) {
     347    if($options['action'] != 'update') return;
     348   
     349    global $wpdb, $_custmain_ajax;
     350   
     351    if($options['type'] == 'plugin' && isset( $options['plugins'] ) ) {
     352        $data = $wpdb->get_results($wpdb->prepare("SELECT `".$wpdb->get_blog_prefix()."custmain_autorun`.*, `".$wpdb->get_blog_prefix()."custmain_changes`.file_id FROM `".$wpdb->get_blog_prefix()."custmain_autorun` INNER JOIN `".$wpdb->get_blog_prefix()."custmain_changes` ON `".$wpdb->get_blog_prefix()."custmain_autorun`.change_id=`".$wpdb->get_blog_prefix()."custmain_changes`.id WHERE `type`='plugin'"), ARRAY_A);
     353        if(!count($data)) {
     354            return;
     355        }
     356        $plugins = array();
     357        foreach($data as $autorun){
     358            $plugins[] = $autorun['subject'];
     359        }
     360       
     361        foreach($options['plugins'] as $plugin) {
     362            if(in_array($plugin, $plugins)) {
     363                $files = array();
     364                foreach($data as $autorun){
     365                    if($autorun['subject'] == $plugin) {
     366                        $files[$autorun['file_id']] .= $autorun['change_id'].',';
     367                    }
     368                }
     369                foreach($files as $file_id => $change_ids){
     370                    $_POST['file_id'] = $file_id;
     371                    $_POST['change_ids'] = substr($change_ids,0,strlen($change_ids)-1);
     372                    $_custmain_ajax->process_file(1);
     373                }
     374            }
     375        }
     376    } else
     377    if($options['type'] == 'theme' && isset( $options['themes'] ) ) {
     378        $data = $wpdb->get_results($wpdb->prepare("SELECT `".$wpdb->get_blog_prefix()."custmain_autorun`.*, `".$wpdb->get_blog_prefix()."custmain_changes`.file_id FROM `".$wpdb->get_blog_prefix()."custmain_autorun` INNER JOIN `".$wpdb->get_blog_prefix()."custmain_changes` ON `".$wpdb->get_blog_prefix()."custmain_autorun`.change_id=`".$wpdb->get_blog_prefix()."custmain_changes`.id WHERE `type`='theme'"), ARRAY_A);
     379        if(!count($data)) {
     380            return;
     381        }
     382        $themes = array();
     383        foreach($data as $autorun){
     384            $themes[] = $autorun['subject'];
     385        }
     386       
     387        foreach($options['themes'] as $theme) {
     388            if(in_array($theme, $themes)) {
     389                $files = array();
     390                foreach($data as $autorun){
     391                    if($autorun['subject'] == $theme) {
     392                        $files[$autorun['file_id']] .= $autorun['change_id'].',';
     393                    }
     394                }
     395                foreach($files as $file_id => $change_ids){
     396                    $_POST['file_id'] = $file_id;
     397                    $_POST['change_ids'] = substr($change_ids,0,strlen($change_ids)-1);
     398                    $_custmain_ajax->process_file(1);
     399                }
     400            }
     401        }
     402    }
     403   
     404}
     405add_action( 'upgrader_process_complete', 'custmain_on_update', 1000, 2 );
     406
     407
    297408?>
  • custmain/trunk/fonts

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/images

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/includes

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/includes/CustMainAjax.php

    r1966108 r2385836  
    11<?php
     2
     3if ( ! defined( 'ABSPATH' ) ) {
     4 exit;
     5}
    26
    37class CustMainAjax{
     
    610        "get_customizations",
    711        "check_file",
     12        "file_tip",
    813        "load_files",
    914        "load_changes",
     
    2631        "import",
    2732        "get_logs",
    28         "download_logs"
     33        "download_logs",
     34        "revert_file",
     35        "get_autorun_subjects",
     36        "set_autorun"
    2937    );
    3038
     
    5058        $path = str_replace("\\", "/", $path);
    5159        if($path[0] == "/") $path = substr($path,1);
    52         if(file_exists(get_home_path().$path)) wp_die('true');
     60        if(file_exists(ABSPATH.$path) && !is_dir(ABSPATH.$path)) wp_die('true');
    5361        wp_die('false');
     62    }
     63   
     64    function file_tip() {
     65        $path = $_POST['path'];
     66        $path = str_replace("\\", "/", $path);
     67        if($path[0] == "/") $path = substr($path,1);
     68        $dir = ABSPATH.substr($path, 0, strrpos($path, "/"));
     69        $name = substr($path, strrpos($path, "/")+1);
     70        if(strrpos($path, "/") === false) $name = $path;
     71        $listing = scandir($dir);
     72        $items1 = array();
     73        $items2 = array();
     74        $items3 = array();
     75        $items4 = array();
     76        foreach($listing as $listitem){
     77            if($listitem == "." || $listitem == "..") continue;
     78            $pos = strpos($listitem, $name);
     79            if($pos === false && $name != "") continue;
     80            if($pos == 0) {
     81                if(is_dir($dir."/".$listitem)) {
     82                    $listitem .= "/";
     83                    $listitem = "<b>".$name."</b>".substr($listitem, strlen($name));
     84                    $items1[] = $listitem;
     85                } else {
     86                    $listitem = "<b>".$name."</b>".substr($listitem, strlen($name));
     87                    $items3[] = $listitem;
     88                }
     89            } else {
     90                if(is_dir($dir."/".$listitem)) {
     91                    $listitem .= "/";
     92                    $listitem = substr($listitem, 0, $pos)."<b>".$name."</b>".substr($listitem, $pos+strlen($name));
     93                    $items2[] = $listitem;
     94                } else {
     95                    $listitem = substr($listitem, 0, $pos)."<b>".$name."</b>".substr($listitem, $pos+strlen($name));
     96                    $items4[] = $listitem;
     97                }
     98            }
     99        }
     100        $listing = array_merge($items1, $items2, $items3, $items4);
     101        foreach($listing as $listitem){
     102            $pre = substr($path, 0, strrpos($path, "/"));
     103            if($pre != "") $pre = "<b>".$pre."/"."</b>";
     104            if($listitem[strlen($listitem)-1] == '/') $class = 'custmain_tip_folder';
     105            else $class = 'custmain_tip_file';
     106            echo '<div class="custmain_tip_item '.$class.'" onmouseenter="custmain_select_tip(this);" onclick="custmain_apply_tip(this);">'.$pre.$listitem.'</div>';
     107        }
     108        if(!count($listing)) echo '<div class="custmain_tip_item">'.__('No matches found', 'custmain').'</div>';
     109        wp_die();
    54110    }
    55111
     
    206262        $path = str_replace("\\", "/", $path);
    207263        if($path[0] == "/") $path = substr($path,1);
    208         if(!file_exists(get_home_path().$path)) wp_die(__('File is not saved', 'custmain').': '.__('Cannot find the file in the filesystem', 'custmain').'.');
     264        if(!file_exists(ABSPATH.$path)) wp_die(__('File is not saved', 'custmain').': '.__('Cannot find the file in the filesystem', 'custmain').'.');
    209265
    210266        global $wpdb;
     
    257313       
    258314        global $wpdb;
    259         $file_ids = $wpdb->get_col($wpdb->prepare("SELECT file_id FROM `".$wpdb->get_blog_prefix()."custmain_changes` WHERE `id` IN (".implode(", ",array_map('intval', $change_ids)).") GROUP BY file_id"));
     315        $file_ids = $wpdb->get_col("SELECT file_id FROM `".$wpdb->get_blog_prefix()."custmain_changes` WHERE `id` IN (".implode(", ",array_map('intval', $change_ids)).") GROUP BY file_id");
    260316        if(!count($file_ids)) {
    261317            wp_die('false');
    262318        }
    263319       
    264         $group_ids = $wpdb->get_col($wpdb->prepare("SELECT group_id FROM `".$wpdb->get_blog_prefix()."custmain_files` WHERE `id` IN (".implode(", ",array_map('intval', $file_ids)).") GROUP BY group_id"));
     320        $group_ids = $wpdb->get_col("SELECT group_id FROM `".$wpdb->get_blog_prefix()."custmain_files` WHERE `id` IN (".implode(", ",array_map('intval', $file_ids)).") GROUP BY group_id");
    265321        if(!count($group_ids)) {
    266322            wp_die('false');
     
    291347    }
    292348
    293     function process_file() {
     349    function process_file($calltype = 0) {
    294350        $file_id = $_POST['file_id'];
    295351        $change_ids = $_POST['change_ids'];
    296352
    297353        $datetime = time();
    298         $calltype = 0;
    299354        $return = array();
    300355        global $wpdb;
    301356        $data = $wpdb->get_row($wpdb->prepare("SELECT path FROM `".$wpdb->get_blog_prefix()."custmain_files` WHERE `id`=%d", $file_id), ARRAY_A);
    302         if(!count($data)) {
     357        if(is_null($data) || !count($data)) {
    303358            $this->log_change($calltype, $datetime, __('Unknown', 'custmain').": ID ".$file_id, "", 2, __('File not found in the database', 'custmain'));
    304             wp_die($this->error_replies($change_ids, __('File not found in the database', 'custmain')));
     359            if(!$calltype) wp_die($this->error_replies($change_ids, __('File not found in the database', 'custmain')));
     360            else return;
    305361        }
    306362        $path = $data['path'];
     
    308364        if($path == "") {
    309365            $this->log_change($calltype, $datetime, __('Unknown', 'custmain').": ID ".$file_id, "", 2, __('File name not provided', 'custmain'));
    310             wp_die($this->error_replies($change_ids, __('File name not provided', 'custmain')));
     366            if(!$calltype) wp_die($this->error_replies($change_ids, __('File name not provided', 'custmain')));
     367            else return;
    311368        }
    312369       
    313370        $path = str_replace("\\", "/", $path);
    314371        if($path[0] == "/") $path = substr($path,1);
    315         if(!file_exists(get_home_path().$path)) {
     372        if(!file_exists(ABSPATH.$path)) {
    316373            $this->log_change($calltype, $datetime, $path, "", 2, __('File not found in the filesystem', 'custmain'));
    317             wp_die($this->error_replies($change_ids, __('File not found in the filesystem', 'custmain')));
     374            if(!$calltype) wp_die($this->error_replies($change_ids, __('File not found in the filesystem', 'custmain')));
     375            else return;
    318376        }
    319377
     
    321379        if(!count($data)) {
    322380            $this->log_change($calltype, $datetime, $path, __('Unknown', 'custmain').": IDs ".$change_ids, 2, __('Change not found in the database', 'custmain'));
    323             wp_die($this->error_replies($change_ids, __('Change not found in the database', 'custmain')));
    324         }
    325 
    326         $code = file_get_contents(get_home_path().$path);
    327         if(!file_put_contents(get_home_path().$path.".cmcopy", $code)) {
    328             $this->log_change($calltype, $datetime, $path, __('Unknown', 'custmain').": IDs ".$change_ids, 2, __('Unable to create a file backup', 'custmain'));
    329             wp_die($this->error_replies($change_ids, __('Unable to create a file backup', 'custmain')));
     381            if(!$calltype) wp_die($this->error_replies($change_ids, __('Change not found in the database', 'custmain')));
     382            else return;
     383        }
     384        foreach($data as $key => $value){
     385            $data[$key]['original'] = stripslashes($value['original']);
     386            $data[$key]['replacement'] = stripslashes($value['replacement']);
    330387        }
    331388       
     
    339396        }
    340397       
     398        $firstchange = true;
     399        $code = file_get_contents(ABSPATH.$path);
     400        $code = str_replace("\r",'',$code);
     401
    341402        foreach($data as $change){
    342403            $isfound = strpos($code, $change['replacement']);
     
    353414            }
    354415           
     416            if($firstchange){
     417                if(strpos($path, "/") === false) $dirpath = "";
     418                else $dirpath = substr($path, 0, strrpos($path, "/"));
     419                if(!file_exists(ABSPATH . "cm-backup/" . $dirpath) || !is_dir(ABSPATH . "cm-backup/" . $dirpath)){
     420                    if (!mkdir(ABSPATH . "cm-backup/" . $dirpath, 0755, true)) {
     421                        $this->log_change($calltype, $datetime, $path, __('Unknown', 'custmain').": IDs ".$change_ids, 2, __('Unable to create a file backup', 'custmain'));
     422                        if(!$calltype) wp_die($this->error_replies($change_ids, __('Unable to create a file backup', 'custmain')));
     423                        else return;
     424                    }
     425                }
     426                if(!file_exists(ABSPATH . "cm-backup/" . $path. ".cmcopy")) if(!file_put_contents(ABSPATH . "cm-backup/" . $path. ".cmcopy", $code)) {
     427                    $this->log_change($calltype, $datetime, $path, __('Unknown', 'custmain').": IDs ".$change_ids, 2, __('Unable to create a file backup', 'custmain'));
     428                    if(!$calltype) wp_die($this->error_replies($change_ids, __('Unable to create a file backup', 'custmain')));
     429                    else return;
     430                }
     431                $firstchange = false;
     432            }
     433           
    355434            $code = str_replace($change['original'], $change['replacement'], $code);
    356435            $return[] = array($change['id'], 0, "");
     
    358437        }
    359438       
    360         if(!file_put_contents(get_home_path().$path, $code)) {
     439        if(!file_put_contents(ABSPATH.$path, $code)) {
    361440            $this->log_change($calltype, $datetime, $path, __('Unknown', 'custmain').": IDs ".$change_ids, 2, __('Unable to write to the file', 'custmain'));
     441            if(!$calltype) wp_die($this->error_replies($change_ids, __('Unable to write to the file', 'custmain')));
     442            else return;
     443        }
     444       
     445        if(!$calltype) wp_die(json_encode($return));
     446        else return;
     447    }
     448
     449    function revert_file(){
     450        $file_id = $_POST['file_id'];
     451       
     452        $calltype = 0;
     453       
     454        global $wpdb;
     455        $data = $wpdb->get_row($wpdb->prepare("SELECT path FROM `".$wpdb->get_blog_prefix()."custmain_files` WHERE `id`=%d", $file_id), ARRAY_A);
     456        if(!count($data)) {
     457            $this->log_change($calltype, $datetime, __('Unknown', 'custmain').": ID ".$file_id, "", 2, __('File not found in the database', 'custmain'));
     458            wp_die(__('File is not reverted', 'custmain').': '.__('File not found in the database', 'custmain'));
     459        }
     460        $path = $data['path'];
     461       
     462        if($path == "") {
     463            $this->log_change($calltype, $datetime, __('Unknown', 'custmain').": ID ".$file_id, "", 2, __('File name not provided', 'custmain'));
     464            wp_die(__('File is not reverted', 'custmain').': '.__('File name not provided', 'custmain'));
     465        }
     466       
     467        $path = str_replace("\\", "/", $path);
     468        if($path[0] == "/") $path = substr($path,1);
     469        if(!file_exists(ABSPATH.$path)) {
     470            $this->log_change($calltype, $datetime, $path, "", 2, __('File not found in the filesystem', 'custmain'));
     471            wp_die(__('File is not reverted', 'custmain').': '.__('File not found in the filesystem', 'custmain'));
     472        }
     473
     474        if(!file_exists(ABSPATH . "cm-backup/" . $path. ".cmcopy")){
     475            $this->log_change($calltype, $datetime, $path, "", 2, __('File backup not found!', 'custmain'));
     476            wp_die(__('File is not reverted', 'custmain').': '.__('File backup not found', 'custmain'));
     477        }
     478       
     479
     480        $code = file_get_contents(ABSPATH . "cm-backup/" . $path. ".cmcopy");
     481       
     482        if(!file_put_contents(ABSPATH.$path, $code)) {
     483            $this->log_change($calltype, $datetime, $path, "", 2, __('Unable to write to the file', 'custmain'));
    362484            wp_die($this->error_replies($change_ids, __('Unable to write to the file', 'custmain')));
    363485        }
    364486       
    365         wp_die(json_encode($return));
    366     }
    367 
     487        unlink(ABSPATH . "cm-backup/" . $path. ".cmcopy");
     488       
     489        wp_die('true');
     490    }
     491   
    368492    function log_change($calltype, $datetime, $filename, $changename, $status, $message){
    369493        global $wpdb;
     
    383507    function get_logs(){
    384508        global $wpdb;
    385         $logs = $wpdb->get_results($wpdb->prepare("SELECT * FROM `".$wpdb->get_blog_prefix()."custmain_logs` ORDER BY `datetime` DESC"), ARRAY_A);
     509        $logs = $wpdb->get_results("SELECT * FROM `".$wpdb->get_blog_prefix()."custmain_logs` ORDER BY `datetime` DESC", ARRAY_A);
    386510        if(!count($logs)) {
    387511            wp_die('<div class="custmain_log_record"><center>'.__('No log records found', 'custmain').'</center></div>');
     
    400524            ?>
    401525            <div class="custmain_log_record" onclick="custmain_toggle_lr(this);">
    402                 <div class="custmain_lr_calltype custmain_lr_calltype_<?php echo $log[0]['calltype']; ?>"></div>
     526                <div class="custmain_lr_calltype custmain_lr_calltype_<?php echo $log[0]['calltype']; ?>" title="<?php echo (!$log[0]['calltype'] ? __('Manual run', 'custmain') : __('Autorun', 'custmain')); ?>"></div>
    403527                <div class="custmain_lr_datetime"><?php echo date('Y/d/m H:i:s', $log[0]['datetime']); ?></div>
    404528                <div class="custmain_lr_filename"><?php echo $log[0]['filename']; ?></div>
    405                 <div class="custmain_lr_status custmain_lr_status_<?php echo $logs_status[$key]; ?>"></div>
     529                <div class="custmain_lr_status custmain_lr_status_<?php echo $logs_status[$key]; ?>" title="<?php echo (!$logs_status[$key] ? __('Successful', 'custmain') : ($logs_status[$key] == 1 ? __('No replacements', 'custmain') : __('Failed', 'custmain'))); ?>"></div>
    406530            </div>
    407531            <div class="custmain_log_record_details">
     
    410534                    <div class="custmain_lr_changename"><?php echo $lr['changename']; ?></div>
    411535                    <div class="custmain_lr_message"><?php echo $lr['message']; ?></div>
    412                     <div class="custmain_lr_status custmain_lr_status_<?php echo $lr['status']; ?>"></div>
     536                    <div class="custmain_lr_status custmain_lr_status_<?php echo $lr['status']; ?>" title="<?php echo (!$lr['status'] ? __('Successful', 'custmain') : ($lr['status'] == 1 ? __('No replacements', 'custmain') : __('Failed', 'custmain'))); ?>"></div>
    413537                </div>
    414538                <?php } ?>
     
    448572        wp_die();
    449573    }
     574   
     575    function get_autorun_subjects() {
     576        $type = $_POST['autorun_type'];
     577       
     578        $return = array();
     579        if($type == 'plugin'){
     580            $data = get_plugins();
     581            foreach($data as $key => $elem){
     582                $return[$key] = $elem['Name'];
     583            }
     584        } else
     585        if($type == 'theme'){
     586            $data = wp_get_themes();
     587            foreach($data as $key => $elem){
     588                $return[$key] = $elem['Name'];
     589            }
     590        } else
     591        if($type == 'cron'){
     592            $return = array('hourly' => 'H', 'daily' => 'D', 'weekly' => 'W', 'monthly' => 'M');
     593        }
     594        wp_die(json_encode($return));
     595    }
     596   
     597    function set_autorun() {
     598        $change_ids = $_POST['changeids'];
     599        $type = $_POST['autorun_type'];
     600        $subject = $_POST['autorun_subject'];
     601        $title = $_POST['autorun_title'];
     602
     603        global $wpdb;
     604       
     605        $changeids = implode(',', $change_ids);
     606        $wpdb->query("DELETE FROM `".$wpdb->get_blog_prefix()."custmain_autorun` WHERE `change_id` IN (".$changeids.")");
     607       
     608        $values = "";
     609        foreach($change_ids as $change_id){
     610            $values .= $wpdb->prepare("('%d','%s','%s','%s'),", $change_id, $type, $title, $subject);
     611        }
     612        $values = substr($values,0,strlen($values)-1);
     613       
     614        $data = $wpdb->query("INSERT INTO `".$wpdb->get_blog_prefix()."custmain_autorun` (`change_id`,`type`,`title`,`subject`) VALUES ".$values);
     615       
     616        if($data >= 1) wp_die('true');
     617        wp_die('false');
     618    }
    450619}
    451620
  • custmain/trunk/includes/CustMainScripts.php

    r1966108 r2385836  
    11<?php
     2
     3if ( ! defined( 'ABSPATH' ) ) {
     4 exit;
     5}
    26
    37class CustMainScripts{
     
    4650            $('.custmain_wrap').css('opacity','1');
    4751        });
     52       
     53        document.onkeydown = custmain_keypress_handle;
    4854       
    4955        function custmain_toggle_group(elem){
     
    323329                if(occ < 2) occ = 2;
    324330                $(elem).attr('rows', occ);
     331                var lines = '';
     332                for(var r=1; r<=occ+1; r++) lines += r + '\n';
     333                $(elem).prev().val(lines);
     334                $(elem).prev().attr('rows', occ);
    325335            }
    326336        }
     
    330340            var group_id = elem.parent().parent().attr('data-id');
    331341            var title = elem.val();
     342            elem.attr('title', title);
     343            if(title == elem.attr('data-saved')) return;
    332344            var data = {
    333345                title: title,
     
    341353                if(response == "true") {
    342354                    custmain_alert(true, "<?php echo __('Title has been saved!', 'custmain'); ?>");
     355                    elem.attr('data-saved', title);
    343356                } else {
    344357                    custmain_alert(false, response);
     
    351364            var file_id = elem.parent().parent().attr('data-id');
    352365            var path = elem.val();
     366            elem.attr('title', path);
     367            if(path.slice(-1) == "/") return;
     368            if(path == elem.attr('data-saved')) return;
    353369            var data = {
    354370                path: path,
     
    362378                if(response == "true") {
    363379                    custmain_alert(true, "<?php echo __('File has been saved!', 'custmain'); ?>");
     380                    elem.attr('data-saved', path);
    364381                } else {
    365382                    custmain_alert(false, response);
     
    372389            var change_id = elem.parent().parent().attr('data-id');
    373390            var title = elem.val();
     391            elem.attr('title', title);
     392            if(title == elem.attr('data-saved')) return;
    374393            var data = {
    375394                title: title,
     
    383402                if(response == "true") {
    384403                    custmain_alert(true, "<?php echo __('Title has been saved!', 'custmain'); ?>");
     404                    elem.attr('data-saved', title);
    385405                } else {
    386406                    custmain_alert(false, response);
     
    397417                        if(occ < 2) occ = 2;
    398418                        $(elem).attr('rows', occ);
     419                        var lines = '';
     420                        for(var r=1; r<=occ+1; r++) lines += r + '\n';
     421                        $(elem).prev().val(lines);
     422                        $(elem).prev().attr('rows', occ);
    399423                    }
    400424                }
     
    408432                        if(occ > 10) occ = 10;
    409433                        $(elem).attr('rows', occ);
     434                        $(elem).prev().val('1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11');
     435                        $(elem).prev().attr('rows', occ);
    410436                    }
    411437                }
     
    432458        }
    433459       
     460        function custmain_revert_file(elem){
     461            elem = $(elem);
     462            var file_id = elem.closest('.custmain_file').attr('data-id');
     463            var data = {
     464                file_id: file_id
     465            };
     466            custmain_load(elem.parent().parent(), true);
     467            custmain_ajax('revert_file', data, function(response){
     468                custmain_load(elem.parent().parent(), false);
     469                if(response == "true"){
     470                    elem.fadeOut(500);
     471                    custmain_alert(true, "<?php echo __('File has been reverted!', 'custmain'); ?>");
     472                } else {
     473                    custmain_alert(false, response);
     474                }
     475            });
     476        }
     477       
     478        function custmain_file_tip(elem){
     479            var elem = $(elem);
     480            var tip = elem.parent().find('.custmain_file_tip');
     481            var path = $(elem).val();
     482            var data = {
     483                path: path
     484            };
     485            custmain_ajax('file_tip', data, function(response){
     486                tip.fadeIn(300);
     487                tip.addClass('custmain_active_tip');
     488                tip.html(response);
     489            });
     490        }
     491       
     492        function custmain_close_tip(elem){
     493            var elem = $(elem);
     494            var tip = elem.parent().find('.custmain_file_tip');
     495            tip.fadeOut(300);
     496        }
     497       
    434498        function custmain_run_change(elem){
    435499            custmain_clear_selected();
    436             custmain_add_change(elem);
    437             custmain_run_selected();
     500            custmain_add_change(elem, custmain_run_selected);
    438501        }
    439502       
     
    515578           
    516579            if($('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length > 0){
    517                 $('#custmain_selected_text').html('Changes selected: '+$('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length).fadeIn(500).css("display","inline-block");
     580                $('#custmain_selected_text').html('<?php echo __('Changes selected', 'custmain'); ?>: '+$('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length).fadeIn(500).css("display","inline-block");
    518581                $('#custmain_selected_controls').fadeIn(500).css("display","inline-block");
    519582            } else {
     
    582645        function custmain_confirm_run(status){
    583646            if(typeof status === 'undefined'){
    584                 if($('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length == 0) return custmain_alert(false, "No changes selected for execution!");
     647                if($('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length == 0) return custmain_alert(false, "<?php echo __('No changes selected for execution!', 'custmain'); ?>");
    585648                $('#custmain_modal_bg').fadeIn(500);
    586649                $('#custmain_confirm_descr').html('<?php echo __('You are going to execute', 'custmain'); ?><br>'+ $('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length + ' <?php echo __('changes', 'custmain'); ?>');
     
    606669        function custmain_run_selected(confirm){
    607670            if(typeof confirm === 'undefined') return custmain_confirm_run();
     671            $('#custmain_progressline_anim div').css('display','');
    608672            custmain_show_modal();
    609673            custmain_total = 0;
     
    616680                    var title = $(this).find('.custmain_group_title .custmain_title_text').val();
    617681                    var groupid = $(this).attr('data-id');
    618                     $('<div>', {class: 'custmain_progresslog_note custmain_pn_group custmain_pn_waiting', 'data-id': groupid, text: title}).appendTo(progresslog);
     682                    $('<div>', {class: 'custmain_progresslog_note custmain_pn_group custmain_pn_waiting', 'data-id': groupid, html: '<b>'+title+'</b>'}).appendTo(progresslog);
    619683                   
    620684                    $(this).find('.custmain_file[data-selected="1"]').each(function(){
     
    622686                        var title = $(this).find('.custmain_file_title .custmain_title_text').val();
    623687                        var fileid = $(this).attr('data-id');
    624                         $('<div>', {class: 'custmain_progresslog_note custmain_pn_file custmain_pn_waiting', 'data-id': fileid, 'data-pid': groupid, text: title}).appendTo(progresslog);
     688                        $('<div>', {class: 'custmain_progresslog_note custmain_pn_file custmain_pn_waiting', 'data-id': fileid, 'data-pid': groupid, html: '<b>'+title+'</b>'}).appendTo(progresslog);
    625689                       
    626690                        $(this).find('.custmain_change[data-selected="1"]').each(function(){
    627691                            var title = $(this).find('.custmain_change_title .custmain_title_text').val();
    628692                            var changeid = $(this).attr('data-id');
    629                             $('<div>', {class: 'custmain_progresslog_note custmain_pn_change custmain_pn_waiting', 'data-id': changeid, 'data-pid': fileid, text: title}).appendTo(progresslog);
     693                            $('<div>', {class: 'custmain_progresslog_note custmain_pn_change custmain_pn_waiting', 'data-id': changeid, 'data-pid': fileid, html: '<b>'+title+'</b>'}).appendTo(progresslog);
    630694                            custmain_total++;
    631695                        });
     
    642706            var group = $('.custmain_pn_group.custmain_pn_waiting').first();
    643707            if(group.length == 0) {
    644                 $('#custmain_modal button').fadeIn(500);
     708                $('#custmain_progressline_anim div').fadeOut(500);
     709                $('#custmain_modal').css('height','440px');
     710                $('#custmain_progresslog').css('bottom','60px');
     711                $('#custmain_modal button').css('width','100%');
     712                setTimeout(function(){
     713                    $('#custmain_modal button').fadeIn(500);
     714                }, 500);
    645715                return;
    646716            }
     
    687757                var resp = $.parseJSON(response);
    688758                var filestatus = 'success';
     759                var filechanged = false;
    689760                $.each(resp, function(index, value) {
    690761                    $('.custmain_pn_change[data-id="'+value[0]+'"]').removeClass('custmain_pn_process');
    691                     if(value[1] == 0) $('.custmain_pn_change[data-id="'+value[0]+'"]').addClass('custmain_pn_success');
     762                    if(value[1] == 0) {
     763                        $('.custmain_pn_change[data-id="'+value[0]+'"]').addClass('custmain_pn_success');
     764                        filechanged = true;
     765                    }
    692766                    if(value[1] == 1) {
    693767                        $('.custmain_pn_change[data-id="'+value[0]+'"]').addClass('custmain_pn_warning');
     
    705779                file.removeClass('custmain_pn_process');
    706780                file.addClass('custmain_pn_'+filestatus);
     781               
     782                if(filechanged){
     783                    $('.custmain_file[data-id='+fileid+'] .custmain_control_revert').fadeIn(500);
     784                }
    707785               
    708786                setTimeout(function(){
     
    915993            });
    916994        }
     995       
     996        function custmain_keypress_handle(e){
     997
     998            e = e || window.event;
     999
     1000            if($(".custmain_file_tip").is(":visible")){
     1001                var tip = $(".custmain_file_tip.custmain_active_tip");
     1002                if(e.keyCode == '38'){
     1003                    e.preventDefault();
     1004                    if(!tip.find('.custmain_tip_selected').length){
     1005                        custmain_select_tip(tip.find('.custmain_tip_item').last()[0]);
     1006                    } else {
     1007                        custmain_select_tip($('.custmain_tip_selected').prev()[0]);
     1008                    }
     1009                }
     1010                else if(e.keyCode == '40'){
     1011                    e.preventDefault();
     1012                    if(!tip.find('.custmain_tip_selected').length){
     1013                        custmain_select_tip(tip.find('.custmain_tip_item').first()[0]);
     1014                    } else {
     1015                        custmain_select_tip($('.custmain_tip_selected').next()[0]);
     1016                    }
     1017                }
     1018                else if(e.keyCode == '13'){
     1019                    custmain_apply_tip($('.custmain_tip_selected')[0])
     1020                }
     1021            }
     1022
     1023        }
     1024       
     1025        function custmain_select_tip(elem){
     1026            var elem = $(elem);
     1027            $('.custmain_tip_item').removeClass('custmain_tip_selected');
     1028            elem.addClass('custmain_tip_selected');
     1029        }
     1030       
     1031        function custmain_apply_tip(elem){
     1032            var elem = $(elem);
     1033            var title = elem.closest('.custmain_file_title').find('.custmain_title_text');
     1034            if(elem.text().slice(-1) == "/") {
     1035                title.val(elem.text());
     1036                custmain_file_tip(title[0]);
     1037                custmain_manage_input(title[0]);
     1038                title.css('background','rgba(255,0,0,0.1)');
     1039            } else {
     1040                title.val(elem.text());
     1041                custmain_manage_input(title[0]);
     1042                custmain_update_file_path(title[0]);
     1043                title.css('background','');
     1044                custmain_close_tip(elem.closest('.custmain_file_title').find('.custmain_title_text')[0]);
     1045            }
     1046        }
     1047       
     1048        function custmain_autorun_change(elem){
     1049            custmain_clear_selected();
     1050            custmain_add_change(elem, custmain_autorun_selected);
     1051        }
     1052       
     1053        function custmain_autorun_file(elem){
     1054            custmain_clear_selected();
     1055            custmain_add_file(elem, custmain_autorun_selected);
     1056        }
     1057       
     1058        function custmain_autorun_group(elem){
     1059            custmain_clear_selected();
     1060            custmain_add_group(elem, custmain_autorun_selected);
     1061        }
     1062       
     1063        function custmain_autorun_selected(confirm){
     1064            if($('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length == 0) return custmain_alert(false, "<?php echo __('No changes selected for autorun!', 'custmain'); ?>");
     1065            $('#custmain_modal_bg').fadeIn(500);
     1066            $('#custmain_autorun_descr').html('<?php echo __('You are going to set autorun for', 'custmain'); ?><br>'+ $('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length + ' <?php echo __('changes', 'custmain'); ?>');
     1067            $('#custmain_autorun_type').val('plugin');
     1068            custmain_load_autorun_subjects();
     1069            setTimeout(function(){
     1070                $('#custmain_autorun').fadeIn(500);
     1071            },500);
     1072        }
     1073       
     1074        function custmain_load_autorun_subjects(){
     1075            $('#custmain_autorun_subject option').remove();
     1076            $('#custmain_autorun_subject').attr('disabled','disabled');
     1077            var autorun_type = $('#custmain_autorun_type').val();
     1078            var data = {
     1079                autorun_type: autorun_type
     1080            };
     1081            custmain_ajax('get_autorun_subjects', data, function(response){
     1082                var resp = $.parseJSON(response);
     1083                $.each(resp, function(index, value) {
     1084                    $('#custmain_autorun_subject').append('<option value="'+index+'">'+value+'</option>');
     1085                });
     1086                $('#custmain_autorun_subject').removeAttr('disabled');
     1087            });
     1088        }
     1089       
     1090        function custmain_set_autorun(status){
     1091            if(status == false) {
     1092                $('#custmain_autorun').fadeOut(500);
     1093                setTimeout(function(){
     1094                    $('#custmain_modal_bg').fadeOut(500);
     1095                },500);
     1096            }
     1097            if(status == true){
     1098                if($('.custmain_wrap .custmain_change[data-selected="1"]').not('.custmain_removed').length == 0) {
     1099                    $('#custmain_autorun').fadeOut(500);
     1100                    setTimeout(function(){
     1101                        $('#custmain_modal_bg').fadeOut(500);
     1102                    },500);
     1103                    return custmain_alert(false, "<?php echo __('No changes selected for autorun!', 'custmain'); ?>");
     1104                }
     1105                var autorun_type = $('#custmain_autorun_type').val();
     1106                var autorun_subject = $('#custmain_autorun_subject').val();
     1107                var autorun_title = $('#custmain_autorun_subject option[value="'+autorun_subject+'"]').text();
     1108                var autorun_changeids = [];
     1109                $('.custmain_change[data-selected="1"]').each(function(){
     1110                    var changeid = $(this).attr('data-id');
     1111                    autorun_changeids.push(changeid);
     1112                });
     1113                var data = {
     1114                    autorun_type: autorun_type,
     1115                    autorun_subject: autorun_subject,
     1116                    autorun_title: autorun_title,
     1117                    changeids: autorun_changeids
     1118                };
     1119                custmain_ajax('set_autorun', data, function(response){
     1120                    if(response != "false"){
     1121                        $('#custmain_autorun').fadeOut(500);
     1122                        custmain_alert(true, "<?php echo __('Autorun settings applied successfully', 'custmain'); ?>");
     1123                        setTimeout(function(){
     1124                            $('#custmain_modal_bg').fadeOut(500);
     1125                        },500);
     1126                    } else {
     1127                        custmain_alert(false, "<?php echo __('An error occured while saving autorun settings', 'custmain'); ?>");
     1128                    }
     1129                });
     1130            }
     1131        }
     1132       
    9171133        </script>
    9181134        <?php
  • custmain/trunk/lang

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/lang/custmain-ru_RU.po

    r1966108 r2385836  
     1# Translation of Plugins - CustMain - Stable (latest release) in Russian
     2# This file is distributed under the same license as the Plugins - CustMain - Stable (latest release) package.
    13msgid ""
    24msgstr ""
    3 "Project-Id-Version: CustMain\n"
    4 "Report-Msgid-Bugs-To: \n"
    5 "POT-Creation-Date: 2018-10-24 22:32+0000\n"
    6 "PO-Revision-Date: 2018-10-24 22:34+0000\n"
    7 "Last-Translator: inyhadmin <info@inyh.ru>\n"
    8 "Language-Team: Русский\n"
    9 "Language: ru_RU\n"
    10 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
    11 "n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
     5"PO-Revision-Date: 2020-09-21 10:55+0000\n"
    126"MIME-Version: 1.0\n"
    137"Content-Type: text/plain; charset=UTF-8\n"
    148"Content-Transfer-Encoding: 8bit\n"
    15 "X-Generator: Loco https://localise.biz/"
    16 
    17 #: custmain.php:122
     9"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
     10"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
     11"X-Generator: Loco https://localise.biz/\n"
     12"Language: ru_RU\n"
     13"Project-Id-Version: Plugins - CustMain - Stable (latest release)\n"
     14"Report-Msgid-Bugs-To: \n"
     15"POT-Creation-Date: 2020-09-21 10:54+0000\n"
     16"Last-Translator: \n"
     17"Language-Team: Русский\n"
     18"X-Loco-Version: 2.4.3; wp-5.5.1"
     19
     20#: custmain.php:85
     21msgid "cm-backup/ with 0755 rights."
     22msgstr "cm-backup/ с правами 0755."
     23
     24#: custmain.php:139
    1825msgid "Customizations"
    1926msgstr "Кастомизации"
    2027
    21 #: custmain.php:123
     28#: custmain.php:140
    2229msgid "Logs"
    2330msgstr "Лог"
    2431
    25 #: custmain.php:124 custmain.php:174
     32#: custmain.php:141 custmain.php:187
    2633msgid "Import"
    2734msgstr "Импорт"
    2835
    29 #: custmain.php:133
     36#: custmain.php:150
    3037msgid "Export selected"
    3138msgstr "Экспорт выбранных"
    3239
    33 #: custmain.php:134
     40#: custmain.php:151 custmain.php:261 custmain.php:282 custmain.php:301
     41msgid "Autorun settings"
     42msgstr "Настройки автозапуска"
     43
     44#: custmain.php:152
    3445msgid "Run selected"
    3546msgstr "Запустить выбранные"
    3647
    37 #: custmain.php:135
     48#: custmain.php:153
    3849msgid "Delete selected"
    3950msgstr "Удалить выбранные"
    4051
    41 #: custmain.php:138
     52#: custmain.php:156
    4253msgid "Add new group"
    4354msgstr "Новая группа"
    4455
    45 #: custmain.php:144 includes/CustMainAjax.php:41 includes/CustMainAjax.php:271
     56#: custmain.php:162 includes/CustMainAjax.php:49 includes/CustMainAjax.php:327
    4657msgid "Uncategorized"
    4758msgstr "Без категории"
    4859
    49 #: custmain.php:155
     60#: custmain.php:173
    5061msgid "Download logs"
    5162msgstr "Скачать лог"
    5263
    53 #: custmain.php:159
     64#: custmain.php:177
    5465msgid "Type"
    5566msgstr "Тип"
    5667
    57 #: custmain.php:160
     68#: custmain.php:178
    5869msgid "Date & Time"
    5970msgstr "Дата и Время"
    6071
    61 #: custmain.php:161
     72#: custmain.php:179
    6273msgid "File name"
    6374msgstr "Имя файла"
    6475
    65 #: custmain.php:162
     76#: custmain.php:180
    6677msgid "Status"
    6778msgstr "Статус"
    6879
    69 #: custmain.php:172
     80#: custmain.php:185
    7081msgid "Paste the code from the CustMain export file"
    7182msgstr "Вставьте код из файла экспорта CustMain"
    7283
    73 #: custmain.php:180
     84#: custmain.php:193 custmain.php:216
    7485msgid "Cancel"
    7586msgstr "Отмена"
    7687
    77 #: custmain.php:181
     88#: custmain.php:194
    7889msgid "Run"
    7990msgstr "Запуск"
    8091
    81 #: custmain.php:189
     92#: custmain.php:202
    8293msgid "Finish"
    8394msgstr "Готово"
    8495
    85 #: custmain.php:201
     96#: custmain.php:206
     97msgid "Autorun type"
     98msgstr "Тип автозапуска"
     99
     100#: custmain.php:208
     101msgid "On plugin update"
     102msgstr "При обновлении плагина"
     103
     104#: custmain.php:209
     105msgid "On theme update"
     106msgstr "При обновлении темы"
     107
     108#: custmain.php:210
     109msgid "By task scheduler"
     110msgstr "По планировщику задач"
     111
     112#: custmain.php:212
     113msgid "Select desired"
     114msgstr "Выберите нужное"
     115
     116#: custmain.php:217
     117msgid "Set"
     118msgstr "Установить"
     119
     120#: custmain.php:229
    86121msgid "Group"
    87122msgstr "Группа"
    88123
    89 #: custmain.php:211
     124#: custmain.php:239
    90125msgid "File"
    91126msgstr "Файл"
    92127
    93 #: custmain.php:221
     128#: custmain.php:249
    94129msgid "Change"
    95130msgstr "Изменение"
    96131
    97 #: custmain.php:222
     132#: custmain.php:250
    98133msgid "Original"
    99134msgstr "Оригинал"
    100135
    101 #: custmain.php:223
     136#: custmain.php:251
    102137msgid "Replacement"
    103138msgstr "Замена"
    104139
    105 #: custmain.php:231
     140#: custmain.php:259
    106141msgid "Add new file"
    107142msgstr "Новый файл"
    108143
    109 #: custmain.php:232
     144#: custmain.php:260
    110145msgid "Export this group"
    111146msgstr "Экспорт группы"
    112147
    113 #: custmain.php:233
     148#: custmain.php:262
    114149msgid "Run this group"
    115150msgstr "Запустить группу"
    116151
    117 #: custmain.php:234
     152#: custmain.php:263
    118153msgid "Delete this group"
    119154msgstr "Удалить группу"
    120155
    121 #: custmain.php:242
     156#: custmain.php:271
    122157msgid "Group has been deleted"
    123158msgstr "Группа удалена"
    124159
    125 #: custmain.php:242 custmain.php:261 custmain.php:279
     160#: custmain.php:271 custmain.php:292 custmain.php:311
    126161msgid "Restore back"
    127162msgstr "Восстановить"
    128163
    129 #: custmain.php:250
     164#: custmain.php:279
    130165msgid "Add new change"
    131166msgstr "Новое изменение"
    132167
    133 #: custmain.php:251
     168#: custmain.php:280
     169msgid "Revert this file"
     170msgstr "Откатить файл"
     171
     172#: custmain.php:281
    134173msgid "Export this file"
    135174msgstr "Экспорт файла"
    136175
    137 #: custmain.php:252
     176#: custmain.php:283
    138177msgid "Run this file"
    139178msgstr "Запустить файл"
    140179
    141 #: custmain.php:253
     180#: custmain.php:284
    142181msgid "Delete this file"
    143182msgstr "Удалить файл"
    144183
    145 #: custmain.php:261
     184#: custmain.php:292
    146185msgid "File has been deleted"
    147186msgstr "Файл был удален"
    148187
    149 #: custmain.php:269
     188#: custmain.php:300
    150189msgid "Export this change"
    151190msgstr "Экспорт изменения"
    152191
    153 #: custmain.php:270
     192#: custmain.php:302
    154193msgid "Run this change"
    155194msgstr "Запустить изменение"
    156195
    157 #: custmain.php:271
     196#: custmain.php:303
    158197msgid "Delete this change"
    159198msgstr "Удалить изменение"
    160199
    161 #: custmain.php:279
     200#: custmain.php:311
    162201msgid "Change has been deleted"
    163202msgstr "Изменение было удалено"
    164203
    165 #: includes/CustMainScripts.php:152
     204#: includes/CustMainScripts.php:158
    166205msgid "Group has been deleted!"
    167206msgstr "Группа была удалена!"
    168207
    169 #: includes/CustMainScripts.php:173
     208#: includes/CustMainScripts.php:179
    170209msgid "Group has been restored!"
    171210msgstr "Группа была восстановлена!"
    172211
    173 #: includes/CustMainScripts.php:198
     212#: includes/CustMainScripts.php:204
    174213msgid "File has been deleted!"
    175214msgstr "Файл был удален!"
    176215
    177 #: includes/CustMainScripts.php:219 includes/CustMainScripts.php:265
     216#: includes/CustMainScripts.php:225
    178217msgid "File has been restored!"
    179218msgstr "Файл был восстановлен!"
    180219
    181 #: includes/CustMainScripts.php:244
     220#: includes/CustMainScripts.php:250
    182221msgid "Change has been deleted!"
    183222msgstr "Изменение было удалено!"
    184223
    185 #: includes/CustMainScripts.php:286
     224#: includes/CustMainScripts.php:271
     225msgid "Change has been restored!"
     226msgstr "Изменения были восстановлены!"
     227
     228#: includes/CustMainScripts.php:292
    186229msgid "Original has been saved!"
    187230msgstr "Оригинал сохранен!"
    188231
    189 #: includes/CustMainScripts.php:307
     232#: includes/CustMainScripts.php:313
    190233msgid "Replacement has been saved!"
    191234msgstr "Замена была сохранена!"
    192235
    193 #: includes/CustMainScripts.php:342 includes/CustMainScripts.php:384
     236#: includes/CustMainScripts.php:354 includes/CustMainScripts.php:403
    194237msgid "Title has been saved!"
    195238msgstr "Название сохранено!"
    196239
    197 #: includes/CustMainScripts.php:363
     240#: includes/CustMainScripts.php:379
    198241msgid "File has been saved!"
    199242msgstr "Файл был сохранен!"
    200243
    201 #: includes/CustMainScripts.php:586
     244#: includes/CustMainScripts.php:471
     245msgid "File has been reverted!"
     246msgstr "Изменения в файле были отменены!"
     247
     248#: includes/CustMainScripts.php:580
     249msgid "Changes selected"
     250msgstr "Изменений выбрано"
     251
     252#: includes/CustMainScripts.php:647
     253msgid "No changes selected for execution!"
     254msgstr "Не выбрано ни одной замены для запуска!"
     255
     256#: includes/CustMainScripts.php:649
    202257msgid "You are going to execute"
    203258msgstr "Вы собираетесь запустить"
    204259
    205 #: includes/CustMainScripts.php:586
     260#: includes/CustMainScripts.php:649 includes/CustMainScripts.php:1065
    206261msgid "changes"
    207262msgstr "изменений"
    208263
    209 #: includes/CustMainScripts.php:794
     264#: includes/CustMainScripts.php:871
    210265msgid "No changes selected for export"
    211266msgstr "Не выбраны изменения для экспорта"
    212267
    213 #: includes/CustMainScripts.php:803
     268#: includes/CustMainScripts.php:880
    214269msgid "Export has been finished!"
    215270msgstr "Экспорт завершен!"
    216271
    217 #: includes/CustMainScripts.php:805
     272#: includes/CustMainScripts.php:882
    218273msgid "Unable to export selected items"
    219274msgstr "Невозможно экспортировать выбранные элементы"
    220275
    221 #: includes/CustMainScripts.php:892
     276#: includes/CustMainScripts.php:969
    222277msgid "Logs have been prepared!"
    223278msgstr "Лог успешно подготовлен!"
    224279
    225 #: includes/CustMainScripts.php:894
     280#: includes/CustMainScripts.php:971
    226281msgid "No log records found for stated period"
    227282msgstr "Не найдено записей лога за указанный период"
    228283
    229 #: includes/CustMainScripts.php:943
     284#: includes/CustMainScripts.php:985
    230285msgid "Customizations imported successfully!"
    231286msgstr "Кастомизации успешно импортированы!"
    232287
    233 #: includes/CustMainAjax.php:107 includes/CustMainAjax.php:108
    234 #: includes/CustMainAjax.php:109
     288#: includes/CustMainScripts.php:1063 includes/CustMainScripts.php:1102
     289msgid "No changes selected for autorun!"
     290msgstr "Не выбрано изменений для настройки автозапуска!"
     291
     292#: includes/CustMainScripts.php:1065
     293msgid "You are going to set autorun for"
     294msgstr "Вы собираетесь настроить автозапуск для"
     295
     296#: includes/CustMainScripts.php:1121
     297msgid "Autorun settings applied successfully"
     298msgstr "Настройки автозапуска успешно применены"
     299
     300#: includes/CustMainScripts.php:1126
     301msgid "An error occured while saving autorun settings"
     302msgstr "Возникла ошибка при сохранении настроек автозапуска"
     303
     304#: includes/CustMainAjax.php:108
     305msgid "No matches found"
     306msgstr "Не найдено совпадений"
     307
     308#: includes/CustMainAjax.php:163 includes/CustMainAjax.php:164
     309#: includes/CustMainAjax.php:165
    235310msgid "Original is not saved"
    236311msgstr "Оригинал не был сохранен"
    237312
    238 #: includes/CustMainAjax.php:107 includes/CustMainAjax.php:119
    239 #: includes/CustMainAjax.php:130 includes/CustMainAjax.php:141
    240 #: includes/CustMainAjax.php:152 includes/CustMainAjax.php:163
    241 #: includes/CustMainAjax.php:174 includes/CustMainAjax.php:185
    242 #: includes/CustMainAjax.php:197 includes/CustMainAjax.php:213
    243 #: includes/CustMainAjax.php:225
     313#: includes/CustMainAjax.php:163 includes/CustMainAjax.php:175
     314#: includes/CustMainAjax.php:186 includes/CustMainAjax.php:197
     315#: includes/CustMainAjax.php:208 includes/CustMainAjax.php:219
     316#: includes/CustMainAjax.php:230 includes/CustMainAjax.php:241
     317#: includes/CustMainAjax.php:253 includes/CustMainAjax.php:269
     318#: includes/CustMainAjax.php:281
    244319msgid "Database error"
    245320msgstr "Ошибка базы данных"
    246321
    247 #: includes/CustMainAjax.php:108 includes/CustMainAjax.php:120
     322#: includes/CustMainAjax.php:164 includes/CustMainAjax.php:176
    248323msgid "Cannot find the change you are editing in the database"
    249324msgstr ""
    250325"Не получается найти в базе данных изменение, которое Вы хотите изменить"
    251326
    252 #: includes/CustMainAjax.php:109 includes/CustMainAjax.php:121
    253 #: includes/CustMainAjax.php:132 includes/CustMainAjax.php:143
    254 #: includes/CustMainAjax.php:154 includes/CustMainAjax.php:165
    255 #: includes/CustMainAjax.php:176 includes/CustMainAjax.php:187
    256 #: includes/CustMainAjax.php:199 includes/CustMainAjax.php:215
    257 #: includes/CustMainAjax.php:227
     327#: includes/CustMainAjax.php:165 includes/CustMainAjax.php:177
     328#: includes/CustMainAjax.php:188 includes/CustMainAjax.php:199
     329#: includes/CustMainAjax.php:210 includes/CustMainAjax.php:221
     330#: includes/CustMainAjax.php:232 includes/CustMainAjax.php:243
     331#: includes/CustMainAjax.php:255 includes/CustMainAjax.php:271
     332#: includes/CustMainAjax.php:283
    258333msgid "Unknown error"
    259334msgstr "Неизвестная ошибка"
    260335
    261 #: includes/CustMainAjax.php:119 includes/CustMainAjax.php:120
    262 #: includes/CustMainAjax.php:121
     336#: includes/CustMainAjax.php:175 includes/CustMainAjax.php:176
     337#: includes/CustMainAjax.php:177
    263338msgid "Replacement is not saved"
    264339msgstr "Замена не была сохранена"
    265340
    266 #: includes/CustMainAjax.php:130 includes/CustMainAjax.php:131
    267 #: includes/CustMainAjax.php:132
     341#: includes/CustMainAjax.php:186 includes/CustMainAjax.php:187
     342#: includes/CustMainAjax.php:188
    268343msgid "Group is not deleted"
    269344msgstr "Группа не удалена"
    270345
    271 #: includes/CustMainAjax.php:131
     346#: includes/CustMainAjax.php:187
    272347msgid "Cannot find the group you are trying to delete in the database"
    273348msgstr "Не получается найти в базе данных группу, которую Вы хотите удалить"
    274349
    275 #: includes/CustMainAjax.php:141 includes/CustMainAjax.php:142
    276 #: includes/CustMainAjax.php:143
     350#: includes/CustMainAjax.php:197 includes/CustMainAjax.php:198
     351#: includes/CustMainAjax.php:199
    277352msgid "Group is not restored"
    278353msgstr "Группа не восстановлена"
    279354
    280 #: includes/CustMainAjax.php:142
     355#: includes/CustMainAjax.php:198
    281356msgid "Cannot find the group you are trying to restore in the database"
    282357msgstr ""
    283358"Не получается найти в базе данных группу, которую Вы хотите восстановить"
    284359
    285 #: includes/CustMainAjax.php:152 includes/CustMainAjax.php:153
    286 #: includes/CustMainAjax.php:154
     360#: includes/CustMainAjax.php:208 includes/CustMainAjax.php:209
     361#: includes/CustMainAjax.php:210
    287362msgid "File is not deleted"
    288363msgstr "Файл не был удален"
    289364
    290 #: includes/CustMainAjax.php:153
     365#: includes/CustMainAjax.php:209
    291366msgid "Cannot find the file you are trying to delete in the database"
    292367msgstr "Не получается найти в базе данных файл, который Вы хотите удалить"
    293368
    294 #: includes/CustMainAjax.php:163 includes/CustMainAjax.php:164
    295 #: includes/CustMainAjax.php:165
     369#: includes/CustMainAjax.php:219 includes/CustMainAjax.php:220
     370#: includes/CustMainAjax.php:221
    296371msgid "File is not restored"
    297372msgstr "Файл не был восстановлен"
    298373
    299 #: includes/CustMainAjax.php:164
     374#: includes/CustMainAjax.php:220
    300375msgid "Cannot find the file you are trying to restore in the database"
    301376msgstr "Не получается найти в базе данных файл, который Вы хотите восстановить"
    302377
    303 #: includes/CustMainAjax.php:174 includes/CustMainAjax.php:175
    304 #: includes/CustMainAjax.php:176
     378#: includes/CustMainAjax.php:230 includes/CustMainAjax.php:231
     379#: includes/CustMainAjax.php:232
    305380msgid "Change is not deleted"
    306381msgstr "Изменение не удалено"
    307382
    308 #: includes/CustMainAjax.php:175
     383#: includes/CustMainAjax.php:231
    309384msgid "Cannot find the change you are trying to delete in the database"
    310385msgstr "Не получается найти в базе данных изменение, которое Вы хотите удалить"
    311386
    312 #: includes/CustMainAjax.php:185 includes/CustMainAjax.php:186
    313 #: includes/CustMainAjax.php:187
     387#: includes/CustMainAjax.php:241 includes/CustMainAjax.php:242
     388#: includes/CustMainAjax.php:243
    314389msgid "Change is not restored"
    315390msgstr "Изменение не восстановлено"
    316391
    317 #: includes/CustMainAjax.php:186
     392#: includes/CustMainAjax.php:242
    318393msgid "Cannot find the change you are trying to restore in the database"
    319394msgstr ""
    320395"Не получается найти в базе данных изменение, которое Вы хотите восстановить"
    321396
    322 #: includes/CustMainAjax.php:197 includes/CustMainAjax.php:198
    323 #: includes/CustMainAjax.php:199 includes/CustMainAjax.php:225
    324 #: includes/CustMainAjax.php:226 includes/CustMainAjax.php:227
     397#: includes/CustMainAjax.php:253 includes/CustMainAjax.php:254
     398#: includes/CustMainAjax.php:255 includes/CustMainAjax.php:281
     399#: includes/CustMainAjax.php:282 includes/CustMainAjax.php:283
    325400msgid "Title is not changed"
    326401msgstr "Название не было изменено"
    327402
    328 #: includes/CustMainAjax.php:198
     403#: includes/CustMainAjax.php:254
    329404msgid "Cannot find the group you are trying to rename in the database"
    330405msgstr ""
    331406"Не получается найти в базе данных группу, которую Вы хотите переименовать"
    332407
    333 #: includes/CustMainAjax.php:208 includes/CustMainAjax.php:213
    334 #: includes/CustMainAjax.php:214 includes/CustMainAjax.php:215
     408#: includes/CustMainAjax.php:264 includes/CustMainAjax.php:269
     409#: includes/CustMainAjax.php:270 includes/CustMainAjax.php:271
    335410msgid "File is not saved"
    336411msgstr "Файл не был сохранен"
    337412
    338 #: includes/CustMainAjax.php:208
     413#: includes/CustMainAjax.php:264
    339414msgid "Cannot find the file in the filesystem"
    340415msgstr "Не получается найти файл на сервере"
    341416
    342 #: includes/CustMainAjax.php:214
     417#: includes/CustMainAjax.php:270
    343418msgid "Cannot find the file you are trying to edit in the database"
    344419msgstr "Не получается найти в базе данных файл, который Вы хотите изменить"
    345420
    346 #: includes/CustMainAjax.php:226
     421#: includes/CustMainAjax.php:282
    347422msgid "Cannot find the change you are trying to rename in the database"
    348423msgstr ""
    349424"Не получается найти в базе данных изменение, которое Вы хотите переименовать"
    350425
    351 #: includes/CustMainAjax.php:233 includes/CustMainAjax.php:235
     426#: includes/CustMainAjax.php:289 includes/CustMainAjax.php:291
    352427msgid "Unable to import"
    353428msgstr "Невозможно экспортировать"
    354429
    355 #: includes/CustMainAjax.php:233 includes/CustMainAjax.php:235
     430#: includes/CustMainAjax.php:289 includes/CustMainAjax.php:291
    356431msgid "Export code is corrupted"
    357432msgstr "Код экспорта поврежден"
    358433
    359 #: includes/CustMainAjax.php:303 includes/CustMainAjax.php:309
    360 #: includes/CustMainAjax.php:322 includes/CustMainAjax.php:328
    361 #: includes/CustMainAjax.php:338 includes/CustMainAjax.php:345
    362 #: includes/CustMainAjax.php:351 includes/CustMainAjax.php:357
    363 #: includes/CustMainAjax.php:361
     434#: includes/CustMainAjax.php:358 includes/CustMainAjax.php:365
     435#: includes/CustMainAjax.php:380 includes/CustMainAjax.php:395
     436#: includes/CustMainAjax.php:406 includes/CustMainAjax.php:412
     437#: includes/CustMainAjax.php:421 includes/CustMainAjax.php:427
     438#: includes/CustMainAjax.php:436 includes/CustMainAjax.php:440
     439#: includes/CustMainAjax.php:457 includes/CustMainAjax.php:463
    364440msgid "Unknown"
    365441msgstr "Неизвестно"
    366442
    367 #: includes/CustMainAjax.php:303 includes/CustMainAjax.php:304
     443#: includes/CustMainAjax.php:358 includes/CustMainAjax.php:359
     444#: includes/CustMainAjax.php:457 includes/CustMainAjax.php:458
    368445msgid "File not found in the database"
    369446msgstr "Файл не найден в базе данных"
    370447
    371 #: includes/CustMainAjax.php:309 includes/CustMainAjax.php:310
     448#: includes/CustMainAjax.php:365 includes/CustMainAjax.php:366
     449#: includes/CustMainAjax.php:463 includes/CustMainAjax.php:464
    372450msgid "File name not provided"
    373451msgstr "Имя файла отсутствует"
    374452
    375 #: includes/CustMainAjax.php:316 includes/CustMainAjax.php:317
     453#: includes/CustMainAjax.php:373 includes/CustMainAjax.php:374
     454#: includes/CustMainAjax.php:470 includes/CustMainAjax.php:471
    376455msgid "File not found in the filesystem"
    377456msgstr "Файл не найден на сервере"
    378457
    379 #: includes/CustMainAjax.php:322 includes/CustMainAjax.php:323
    380 #: includes/CustMainAjax.php:337 includes/CustMainAjax.php:338
     458#: includes/CustMainAjax.php:380 includes/CustMainAjax.php:381
     459#: includes/CustMainAjax.php:394 includes/CustMainAjax.php:395
    381460msgid "Change not found in the database"
    382461msgstr "Изменение не найдено в базе данных"
    383462
    384 #: includes/CustMainAjax.php:328 includes/CustMainAjax.php:329
     463#: includes/CustMainAjax.php:405 includes/CustMainAjax.php:406
     464msgid "The replacement code is already found in the file"
     465msgstr "Код замены уже присутствует в файле"
     466
     467#: includes/CustMainAjax.php:411 includes/CustMainAjax.php:412
     468msgid "The original code is not found in the file"
     469msgstr "Код оригинала не найден в файле"
     470
     471#: includes/CustMainAjax.php:421 includes/CustMainAjax.php:422
     472#: includes/CustMainAjax.php:427 includes/CustMainAjax.php:428
    385473msgid "Unable to create a file backup"
    386474msgstr "Невозможно создать резервную копию файла"
    387475
    388 #: includes/CustMainAjax.php:344 includes/CustMainAjax.php:345
    389 msgid "The replacement code is already found in the file"
    390 msgstr "Код замены уже присутствует в файле"
    391 
    392 #: includes/CustMainAjax.php:350 includes/CustMainAjax.php:351
    393 msgid "The original code is not found in the file"
    394 msgstr "Код оригинала не найден в файле"
    395 
    396 #: includes/CustMainAjax.php:361 includes/CustMainAjax.php:362
     476#: includes/CustMainAjax.php:440 includes/CustMainAjax.php:441
     477#: includes/CustMainAjax.php:483 includes/CustMainAjax.php:484
    397478msgid "Unable to write to the file"
    398479msgstr "Невозможно произвести запись в файл"
    399480
    400 #: includes/CustMainAjax.php:387
     481#: includes/CustMainAjax.php:458 includes/CustMainAjax.php:464
     482#: includes/CustMainAjax.php:471 includes/CustMainAjax.php:476
     483msgid "File is not reverted"
     484msgstr "Откат файла не выполнен"
     485
     486#: includes/CustMainAjax.php:475
     487msgid "File backup not found!"
     488msgstr "Резервная копия файла не найдена!"
     489
     490#: includes/CustMainAjax.php:476
     491msgid "File backup not found"
     492msgstr "Резервная копия файла не найдена"
     493
     494#: includes/CustMainAjax.php:511
    401495msgid "No log records found"
    402496msgstr "Не найдено записей лога"
     497
     498#: includes/CustMainAjax.php:526
     499msgid "Manual run"
     500msgstr "Запуск вручную"
     501
     502#: includes/CustMainAjax.php:526
     503msgid "Autorun"
     504msgstr "Автозапуск"
     505
     506#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     507msgid "Successful"
     508msgstr "Успешно"
     509
     510#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     511msgid "No replacements"
     512msgstr "Без замен"
     513
     514#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     515msgid "Failed"
     516msgstr "Ошибка"
    403517
    404518#. Name of the plugin
  • custmain/trunk/lang/custmain.pot

    r1966108 r2385836  
    44"Project-Id-Version: CustMain\n"
    55"Report-Msgid-Bugs-To: \n"
    6 "POT-Creation-Date: 2018-10-24 22:32+0000\n"
     6"POT-Creation-Date: 2020-09-21 10:54+0000\n"
    77"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    88"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1515"X-Generator: Loco https://localise.biz/"
    1616
    17 #: custmain.php:122
     17#: custmain.php:85
     18msgid "cm-backup/ with 0755 rights."
     19msgstr ""
     20
     21#: custmain.php:139
    1822msgid "Customizations"
    1923msgstr ""
    2024
    21 #: custmain.php:123
     25#: custmain.php:140
    2226msgid "Logs"
    2327msgstr ""
    2428
    25 #: custmain.php:124 custmain.php:174
     29#: custmain.php:141 custmain.php:187
    2630msgid "Import"
    2731msgstr ""
    2832
    29 #: custmain.php:133
     33#: custmain.php:150
    3034msgid "Export selected"
    3135msgstr ""
    3236
    33 #: custmain.php:134
     37#: custmain.php:151 custmain.php:261 custmain.php:282 custmain.php:301
     38msgid "Autorun settings"
     39msgstr ""
     40
     41#: custmain.php:152
    3442msgid "Run selected"
    3543msgstr ""
    3644
    37 #: custmain.php:135
     45#: custmain.php:153
    3846msgid "Delete selected"
    3947msgstr ""
    4048
    41 #: custmain.php:138
     49#: custmain.php:156
    4250msgid "Add new group"
    4351msgstr ""
    4452
    45 #: custmain.php:144 includes/CustMainAjax.php:41 includes/CustMainAjax.php:271
     53#: custmain.php:162 includes/CustMainAjax.php:49 includes/CustMainAjax.php:327
    4654msgid "Uncategorized"
    4755msgstr ""
    4856
    49 #: custmain.php:155
     57#: custmain.php:173
    5058msgid "Download logs"
    5159msgstr ""
    5260
    53 #: custmain.php:159
     61#: custmain.php:177
    5462msgid "Type"
    5563msgstr ""
    5664
    57 #: custmain.php:160
     65#: custmain.php:178
    5866msgid "Date & Time"
    5967msgstr ""
    6068
    61 #: custmain.php:161
     69#: custmain.php:179
    6270msgid "File name"
    6371msgstr ""
    6472
    65 #: custmain.php:162
     73#: custmain.php:180
    6674msgid "Status"
    6775msgstr ""
    6876
    69 #: custmain.php:172
     77#: custmain.php:185
    7078msgid "Paste the code from the CustMain export file"
    7179msgstr ""
    7280
    73 #: custmain.php:180
     81#: custmain.php:193 custmain.php:216
    7482msgid "Cancel"
    7583msgstr ""
    7684
    77 #: custmain.php:181
     85#: custmain.php:194
    7886msgid "Run"
    7987msgstr ""
    8088
    81 #: custmain.php:189
     89#: custmain.php:202
    8290msgid "Finish"
    8391msgstr ""
    8492
    85 #: custmain.php:201
     93#: custmain.php:206
     94msgid "Autorun type"
     95msgstr ""
     96
     97#: custmain.php:208
     98msgid "On plugin update"
     99msgstr ""
     100
     101#: custmain.php:209
     102msgid "On theme update"
     103msgstr ""
     104
     105#: custmain.php:210
     106msgid "By task scheduler"
     107msgstr ""
     108
     109#: custmain.php:212
     110msgid "Select desired"
     111msgstr ""
     112
     113#: custmain.php:217
     114msgid "Set"
     115msgstr ""
     116
     117#: custmain.php:229
    86118msgid "Group"
    87119msgstr ""
    88120
    89 #: custmain.php:211
     121#: custmain.php:239
    90122msgid "File"
    91123msgstr ""
    92124
    93 #: custmain.php:221
     125#: custmain.php:249
    94126msgid "Change"
    95127msgstr ""
    96128
    97 #: custmain.php:222
     129#: custmain.php:250
    98130msgid "Original"
    99131msgstr ""
    100132
    101 #: custmain.php:223
     133#: custmain.php:251
    102134msgid "Replacement"
    103135msgstr ""
    104136
    105 #: custmain.php:231
     137#: custmain.php:259
    106138msgid "Add new file"
    107139msgstr ""
    108140
    109 #: custmain.php:232
     141#: custmain.php:260
    110142msgid "Export this group"
    111143msgstr ""
    112144
    113 #: custmain.php:233
     145#: custmain.php:262
    114146msgid "Run this group"
    115147msgstr ""
    116148
    117 #: custmain.php:234
     149#: custmain.php:263
    118150msgid "Delete this group"
    119151msgstr ""
    120152
    121 #: custmain.php:242
     153#: custmain.php:271
    122154msgid "Group has been deleted"
    123155msgstr ""
    124156
    125 #: custmain.php:242 custmain.php:261 custmain.php:279
     157#: custmain.php:271 custmain.php:292 custmain.php:311
    126158msgid "Restore back"
    127159msgstr ""
    128160
    129 #: custmain.php:250
     161#: custmain.php:279
    130162msgid "Add new change"
    131163msgstr ""
    132164
    133 #: custmain.php:251
     165#: custmain.php:280
     166msgid "Revert this file"
     167msgstr ""
     168
     169#: custmain.php:281
    134170msgid "Export this file"
    135171msgstr ""
    136172
    137 #: custmain.php:252
     173#: custmain.php:283
    138174msgid "Run this file"
    139175msgstr ""
    140176
    141 #: custmain.php:253
     177#: custmain.php:284
    142178msgid "Delete this file"
    143179msgstr ""
    144180
    145 #: custmain.php:261
     181#: custmain.php:292
    146182msgid "File has been deleted"
    147183msgstr ""
    148184
    149 #: custmain.php:269
     185#: custmain.php:300
    150186msgid "Export this change"
    151187msgstr ""
    152188
    153 #: custmain.php:270
     189#: custmain.php:302
    154190msgid "Run this change"
    155191msgstr ""
    156192
    157 #: custmain.php:271
     193#: custmain.php:303
    158194msgid "Delete this change"
    159195msgstr ""
    160196
    161 #: custmain.php:279
     197#: custmain.php:311
    162198msgid "Change has been deleted"
    163199msgstr ""
    164200
    165 #: includes/CustMainScripts.php:152
     201#: includes/CustMainScripts.php:158
    166202msgid "Group has been deleted!"
    167203msgstr ""
    168204
    169 #: includes/CustMainScripts.php:173
     205#: includes/CustMainScripts.php:179
    170206msgid "Group has been restored!"
    171207msgstr ""
    172208
    173 #: includes/CustMainScripts.php:198
     209#: includes/CustMainScripts.php:204
    174210msgid "File has been deleted!"
    175211msgstr ""
    176212
    177 #: includes/CustMainScripts.php:219 includes/CustMainScripts.php:265
     213#: includes/CustMainScripts.php:225
    178214msgid "File has been restored!"
    179215msgstr ""
    180216
    181 #: includes/CustMainScripts.php:244
     217#: includes/CustMainScripts.php:250
    182218msgid "Change has been deleted!"
    183219msgstr ""
    184220
    185 #: includes/CustMainScripts.php:286
     221#: includes/CustMainScripts.php:271
     222msgid "Change has been restored!"
     223msgstr ""
     224
     225#: includes/CustMainScripts.php:292
    186226msgid "Original has been saved!"
    187227msgstr ""
    188228
    189 #: includes/CustMainScripts.php:307
     229#: includes/CustMainScripts.php:313
    190230msgid "Replacement has been saved!"
    191231msgstr ""
    192232
    193 #: includes/CustMainScripts.php:342 includes/CustMainScripts.php:384
     233#: includes/CustMainScripts.php:354 includes/CustMainScripts.php:403
    194234msgid "Title has been saved!"
    195235msgstr ""
    196236
    197 #: includes/CustMainScripts.php:363
     237#: includes/CustMainScripts.php:379
    198238msgid "File has been saved!"
    199239msgstr ""
    200240
    201 #: includes/CustMainScripts.php:586
     241#: includes/CustMainScripts.php:471
     242msgid "File has been reverted!"
     243msgstr ""
     244
     245#: includes/CustMainScripts.php:580
     246msgid "Changes selected"
     247msgstr ""
     248
     249#: includes/CustMainScripts.php:647
     250msgid "No changes selected for execution!"
     251msgstr ""
     252
     253#: includes/CustMainScripts.php:649
    202254msgid "You are going to execute"
    203255msgstr ""
    204256
    205 #: includes/CustMainScripts.php:586
     257#: includes/CustMainScripts.php:649 includes/CustMainScripts.php:1065
    206258msgid "changes"
    207259msgstr ""
    208260
    209 #: includes/CustMainScripts.php:794
     261#: includes/CustMainScripts.php:871
    210262msgid "No changes selected for export"
    211263msgstr ""
    212264
    213 #: includes/CustMainScripts.php:803
     265#: includes/CustMainScripts.php:880
    214266msgid "Export has been finished!"
    215267msgstr ""
    216268
    217 #: includes/CustMainScripts.php:805
     269#: includes/CustMainScripts.php:882
    218270msgid "Unable to export selected items"
    219271msgstr ""
    220272
    221 #: includes/CustMainScripts.php:892
     273#: includes/CustMainScripts.php:969
    222274msgid "Logs have been prepared!"
    223275msgstr ""
    224276
    225 #: includes/CustMainScripts.php:894
     277#: includes/CustMainScripts.php:971
    226278msgid "No log records found for stated period"
    227279msgstr ""
    228280
    229 #: includes/CustMainScripts.php:943
     281#: includes/CustMainScripts.php:985
    230282msgid "Customizations imported successfully!"
    231283msgstr ""
    232284
    233 #: includes/CustMainAjax.php:107 includes/CustMainAjax.php:108
    234 #: includes/CustMainAjax.php:109
    235 msgid "Original is not saved"
    236 msgstr ""
    237 
    238 #: includes/CustMainAjax.php:107 includes/CustMainAjax.php:119
    239 #: includes/CustMainAjax.php:130 includes/CustMainAjax.php:141
    240 #: includes/CustMainAjax.php:152 includes/CustMainAjax.php:163
    241 #: includes/CustMainAjax.php:174 includes/CustMainAjax.php:185
    242 #: includes/CustMainAjax.php:197 includes/CustMainAjax.php:213
    243 #: includes/CustMainAjax.php:225
    244 msgid "Database error"
    245 msgstr ""
    246 
    247 #: includes/CustMainAjax.php:108 includes/CustMainAjax.php:120
    248 msgid "Cannot find the change you are editing in the database"
    249 msgstr ""
    250 
    251 #: includes/CustMainAjax.php:109 includes/CustMainAjax.php:121
    252 #: includes/CustMainAjax.php:132 includes/CustMainAjax.php:143
    253 #: includes/CustMainAjax.php:154 includes/CustMainAjax.php:165
    254 #: includes/CustMainAjax.php:176 includes/CustMainAjax.php:187
    255 #: includes/CustMainAjax.php:199 includes/CustMainAjax.php:215
    256 #: includes/CustMainAjax.php:227
    257 msgid "Unknown error"
    258 msgstr ""
    259 
    260 #: includes/CustMainAjax.php:119 includes/CustMainAjax.php:120
    261 #: includes/CustMainAjax.php:121
    262 msgid "Replacement is not saved"
    263 msgstr ""
    264 
    265 #: includes/CustMainAjax.php:130 includes/CustMainAjax.php:131
    266 #: includes/CustMainAjax.php:132
    267 msgid "Group is not deleted"
    268 msgstr ""
    269 
    270 #: includes/CustMainAjax.php:131
    271 msgid "Cannot find the group you are trying to delete in the database"
    272 msgstr ""
    273 
    274 #: includes/CustMainAjax.php:141 includes/CustMainAjax.php:142
    275 #: includes/CustMainAjax.php:143
    276 msgid "Group is not restored"
    277 msgstr ""
    278 
    279 #: includes/CustMainAjax.php:142
    280 msgid "Cannot find the group you are trying to restore in the database"
    281 msgstr ""
    282 
    283 #: includes/CustMainAjax.php:152 includes/CustMainAjax.php:153
    284 #: includes/CustMainAjax.php:154
    285 msgid "File is not deleted"
    286 msgstr ""
    287 
    288 #: includes/CustMainAjax.php:153
    289 msgid "Cannot find the file you are trying to delete in the database"
     285#: includes/CustMainScripts.php:1063 includes/CustMainScripts.php:1102
     286msgid "No changes selected for autorun!"
     287msgstr ""
     288
     289#: includes/CustMainScripts.php:1065
     290msgid "You are going to set autorun for"
     291msgstr ""
     292
     293#: includes/CustMainScripts.php:1121
     294msgid "Autorun settings applied successfully"
     295msgstr ""
     296
     297#: includes/CustMainScripts.php:1126
     298msgid "An error occured while saving autorun settings"
     299msgstr ""
     300
     301#: includes/CustMainAjax.php:108
     302msgid "No matches found"
    290303msgstr ""
    291304
    292305#: includes/CustMainAjax.php:163 includes/CustMainAjax.php:164
    293306#: includes/CustMainAjax.php:165
     307msgid "Original is not saved"
     308msgstr ""
     309
     310#: includes/CustMainAjax.php:163 includes/CustMainAjax.php:175
     311#: includes/CustMainAjax.php:186 includes/CustMainAjax.php:197
     312#: includes/CustMainAjax.php:208 includes/CustMainAjax.php:219
     313#: includes/CustMainAjax.php:230 includes/CustMainAjax.php:241
     314#: includes/CustMainAjax.php:253 includes/CustMainAjax.php:269
     315#: includes/CustMainAjax.php:281
     316msgid "Database error"
     317msgstr ""
     318
     319#: includes/CustMainAjax.php:164 includes/CustMainAjax.php:176
     320msgid "Cannot find the change you are editing in the database"
     321msgstr ""
     322
     323#: includes/CustMainAjax.php:165 includes/CustMainAjax.php:177
     324#: includes/CustMainAjax.php:188 includes/CustMainAjax.php:199
     325#: includes/CustMainAjax.php:210 includes/CustMainAjax.php:221
     326#: includes/CustMainAjax.php:232 includes/CustMainAjax.php:243
     327#: includes/CustMainAjax.php:255 includes/CustMainAjax.php:271
     328#: includes/CustMainAjax.php:283
     329msgid "Unknown error"
     330msgstr ""
     331
     332#: includes/CustMainAjax.php:175 includes/CustMainAjax.php:176
     333#: includes/CustMainAjax.php:177
     334msgid "Replacement is not saved"
     335msgstr ""
     336
     337#: includes/CustMainAjax.php:186 includes/CustMainAjax.php:187
     338#: includes/CustMainAjax.php:188
     339msgid "Group is not deleted"
     340msgstr ""
     341
     342#: includes/CustMainAjax.php:187
     343msgid "Cannot find the group you are trying to delete in the database"
     344msgstr ""
     345
     346#: includes/CustMainAjax.php:197 includes/CustMainAjax.php:198
     347#: includes/CustMainAjax.php:199
     348msgid "Group is not restored"
     349msgstr ""
     350
     351#: includes/CustMainAjax.php:198
     352msgid "Cannot find the group you are trying to restore in the database"
     353msgstr ""
     354
     355#: includes/CustMainAjax.php:208 includes/CustMainAjax.php:209
     356#: includes/CustMainAjax.php:210
     357msgid "File is not deleted"
     358msgstr ""
     359
     360#: includes/CustMainAjax.php:209
     361msgid "Cannot find the file you are trying to delete in the database"
     362msgstr ""
     363
     364#: includes/CustMainAjax.php:219 includes/CustMainAjax.php:220
     365#: includes/CustMainAjax.php:221
    294366msgid "File is not restored"
    295367msgstr ""
    296368
    297 #: includes/CustMainAjax.php:164
     369#: includes/CustMainAjax.php:220
    298370msgid "Cannot find the file you are trying to restore in the database"
    299371msgstr ""
    300372
    301 #: includes/CustMainAjax.php:174 includes/CustMainAjax.php:175
    302 #: includes/CustMainAjax.php:176
     373#: includes/CustMainAjax.php:230 includes/CustMainAjax.php:231
     374#: includes/CustMainAjax.php:232
    303375msgid "Change is not deleted"
    304376msgstr ""
    305377
    306 #: includes/CustMainAjax.php:175
     378#: includes/CustMainAjax.php:231
    307379msgid "Cannot find the change you are trying to delete in the database"
    308380msgstr ""
    309381
    310 #: includes/CustMainAjax.php:185 includes/CustMainAjax.php:186
    311 #: includes/CustMainAjax.php:187
     382#: includes/CustMainAjax.php:241 includes/CustMainAjax.php:242
     383#: includes/CustMainAjax.php:243
    312384msgid "Change is not restored"
    313385msgstr ""
    314386
    315 #: includes/CustMainAjax.php:186
     387#: includes/CustMainAjax.php:242
    316388msgid "Cannot find the change you are trying to restore in the database"
    317389msgstr ""
    318390
    319 #: includes/CustMainAjax.php:197 includes/CustMainAjax.php:198
    320 #: includes/CustMainAjax.php:199 includes/CustMainAjax.php:225
    321 #: includes/CustMainAjax.php:226 includes/CustMainAjax.php:227
     391#: includes/CustMainAjax.php:253 includes/CustMainAjax.php:254
     392#: includes/CustMainAjax.php:255 includes/CustMainAjax.php:281
     393#: includes/CustMainAjax.php:282 includes/CustMainAjax.php:283
    322394msgid "Title is not changed"
    323395msgstr ""
    324396
    325 #: includes/CustMainAjax.php:198
     397#: includes/CustMainAjax.php:254
    326398msgid "Cannot find the group you are trying to rename in the database"
    327399msgstr ""
    328400
    329 #: includes/CustMainAjax.php:208 includes/CustMainAjax.php:213
    330 #: includes/CustMainAjax.php:214 includes/CustMainAjax.php:215
     401#: includes/CustMainAjax.php:264 includes/CustMainAjax.php:269
     402#: includes/CustMainAjax.php:270 includes/CustMainAjax.php:271
    331403msgid "File is not saved"
    332404msgstr ""
    333405
    334 #: includes/CustMainAjax.php:208
     406#: includes/CustMainAjax.php:264
    335407msgid "Cannot find the file in the filesystem"
    336408msgstr ""
    337409
    338 #: includes/CustMainAjax.php:214
     410#: includes/CustMainAjax.php:270
    339411msgid "Cannot find the file you are trying to edit in the database"
    340412msgstr ""
    341413
    342 #: includes/CustMainAjax.php:226
     414#: includes/CustMainAjax.php:282
    343415msgid "Cannot find the change you are trying to rename in the database"
    344416msgstr ""
    345417
    346 #: includes/CustMainAjax.php:233 includes/CustMainAjax.php:235
     418#: includes/CustMainAjax.php:289 includes/CustMainAjax.php:291
    347419msgid "Unable to import"
    348420msgstr ""
    349421
    350 #: includes/CustMainAjax.php:233 includes/CustMainAjax.php:235
     422#: includes/CustMainAjax.php:289 includes/CustMainAjax.php:291
    351423msgid "Export code is corrupted"
    352424msgstr ""
    353425
    354 #: includes/CustMainAjax.php:303 includes/CustMainAjax.php:309
    355 #: includes/CustMainAjax.php:322 includes/CustMainAjax.php:328
    356 #: includes/CustMainAjax.php:338 includes/CustMainAjax.php:345
    357 #: includes/CustMainAjax.php:351 includes/CustMainAjax.php:357
    358 #: includes/CustMainAjax.php:361
     426#: includes/CustMainAjax.php:358 includes/CustMainAjax.php:365
     427#: includes/CustMainAjax.php:380 includes/CustMainAjax.php:395
     428#: includes/CustMainAjax.php:406 includes/CustMainAjax.php:412
     429#: includes/CustMainAjax.php:421 includes/CustMainAjax.php:427
     430#: includes/CustMainAjax.php:436 includes/CustMainAjax.php:440
     431#: includes/CustMainAjax.php:457 includes/CustMainAjax.php:463
    359432msgid "Unknown"
    360433msgstr ""
    361434
    362 #: includes/CustMainAjax.php:303 includes/CustMainAjax.php:304
     435#: includes/CustMainAjax.php:358 includes/CustMainAjax.php:359
     436#: includes/CustMainAjax.php:457 includes/CustMainAjax.php:458
    363437msgid "File not found in the database"
    364438msgstr ""
    365439
    366 #: includes/CustMainAjax.php:309 includes/CustMainAjax.php:310
     440#: includes/CustMainAjax.php:365 includes/CustMainAjax.php:366
     441#: includes/CustMainAjax.php:463 includes/CustMainAjax.php:464
    367442msgid "File name not provided"
    368443msgstr ""
    369444
    370 #: includes/CustMainAjax.php:316 includes/CustMainAjax.php:317
     445#: includes/CustMainAjax.php:373 includes/CustMainAjax.php:374
     446#: includes/CustMainAjax.php:470 includes/CustMainAjax.php:471
    371447msgid "File not found in the filesystem"
    372448msgstr ""
    373449
    374 #: includes/CustMainAjax.php:322 includes/CustMainAjax.php:323
    375 #: includes/CustMainAjax.php:337 includes/CustMainAjax.php:338
     450#: includes/CustMainAjax.php:380 includes/CustMainAjax.php:381
     451#: includes/CustMainAjax.php:394 includes/CustMainAjax.php:395
    376452msgid "Change not found in the database"
    377453msgstr ""
    378454
    379 #: includes/CustMainAjax.php:328 includes/CustMainAjax.php:329
     455#: includes/CustMainAjax.php:405 includes/CustMainAjax.php:406
     456msgid "The replacement code is already found in the file"
     457msgstr ""
     458
     459#: includes/CustMainAjax.php:411 includes/CustMainAjax.php:412
     460msgid "The original code is not found in the file"
     461msgstr ""
     462
     463#: includes/CustMainAjax.php:421 includes/CustMainAjax.php:422
     464#: includes/CustMainAjax.php:427 includes/CustMainAjax.php:428
    380465msgid "Unable to create a file backup"
    381466msgstr ""
    382467
    383 #: includes/CustMainAjax.php:344 includes/CustMainAjax.php:345
    384 msgid "The replacement code is already found in the file"
    385 msgstr ""
    386 
    387 #: includes/CustMainAjax.php:350 includes/CustMainAjax.php:351
    388 msgid "The original code is not found in the file"
    389 msgstr ""
    390 
    391 #: includes/CustMainAjax.php:361 includes/CustMainAjax.php:362
     468#: includes/CustMainAjax.php:440 includes/CustMainAjax.php:441
     469#: includes/CustMainAjax.php:483 includes/CustMainAjax.php:484
    392470msgid "Unable to write to the file"
    393471msgstr ""
    394472
    395 #: includes/CustMainAjax.php:387
     473#: includes/CustMainAjax.php:458 includes/CustMainAjax.php:464
     474#: includes/CustMainAjax.php:471 includes/CustMainAjax.php:476
     475msgid "File is not reverted"
     476msgstr ""
     477
     478#: includes/CustMainAjax.php:475
     479msgid "File backup not found!"
     480msgstr ""
     481
     482#: includes/CustMainAjax.php:476
     483msgid "File backup not found"
     484msgstr ""
     485
     486#: includes/CustMainAjax.php:511
    396487msgid "No log records found"
     488msgstr ""
     489
     490#: includes/CustMainAjax.php:526
     491msgid "Manual run"
     492msgstr ""
     493
     494#: includes/CustMainAjax.php:526
     495msgid "Autorun"
     496msgstr ""
     497
     498#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     499msgid "Successful"
     500msgstr ""
     501
     502#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     503msgid "No replacements"
     504msgstr ""
     505
     506#: includes/CustMainAjax.php:529 includes/CustMainAjax.php:536
     507msgid "Failed"
    397508msgstr ""
    398509
  • custmain/trunk/readme.txt

    r1966108 r2385836  
    11=== CustMain ===
    22Contributors: inyh
    3 Donate link: https://soft.inyh.ru
     3Donate link: https://money.yandex.ru/to/410011805612103
    44License: GPLv3
    55License URI: http://www.gnu.org/licenses/gpl.html
    6 Tags: customize, customizations, maintain, maintenance, change, replace, replacement
     6Tags: customize, customizations, maintain, maintenance, change, replace, replacement, search, code
    77Requires at least: 4.8
    8 Tested up to: 4.9.8
    9 Stable tag: 0.2
     8Tested up to: 5.5.1
     9Stable tag: 0.4
    1010Requires PHP: 5.6
    1111
     
    1818Very often you need to make changes to some plugin, theme or even WordPress core for some reason. After a new version is available it's difficult to keep your changes as you need to replace files manually each time or make manual insertion of changes into updated file... With CustMain you can keep your customizations as easy as one mouse click! Just add the needed files, describe the changes you need to apply, sort all the things into different groups to make it classy - the rest you need is just press the button and wait a few seconds for changes to be applied. And that's it!
    1919
    20 With our CustMain FREE plugin you are able to:
     20With our CustMain plugin you are able to:
    2121
    2222* Add your customizations;
    2323* Sort them into groups - for different plugins or themes;
    2424* Apply changes per click - one at a time, all changes for a file or changes of the whole group;
     25* Apply changes automatically just after a chosen plugin/theme being updated;
    2526* Watch the logs to see if everything was nice and smooth or you missed something important;
    26 * Export all your customizations and import them later, just a one-file config.
     27* Export all your customizations and import them later, just a one-file config;
     28* Revert changes via automated file backups;
    2729
    2830== Installation ==
     
    4951== Screenshots ==
    5052
    51 
     531. Make multiple changes in one file, arrange multiple files in one group, create multiple groups!
     542. Apply changes one-by-one or select multiple ones and make a bulk run.
     553. Watch the changes being applied in real-time, get all necessary information if it succeeded or failed.
     564. Set rules for the autorun to make changes being applied automatically on plugin/theme update.
     575. Check logs of all runs.
    5258
    5359== Changelog ==
     60
     61= 0.4 =
     62Release Date: September 21st, 2020
     63
     64* Added autorun settings to apply changes on plugin/theme update;
     65* Added automated files backup and 1-click restore option if something went wrong;
     66* Fixed an issue with multi-line replacements;
     67* Visual design improvements;
     68
     69= 0.3 =
     70Release Date: March 1st, 2019
     71
     72* Fixed an issue with handling quotes and backslashes;
    5473
    5574= 0.2 =
  • custmain/trunk/styles

    • Property svn:ignore set to
      *.ini
  • custmain/trunk/styles/style.css

    r1966108 r2385836  
    22Stylesheet generated by SRP
    33*/
    4 @font-face {font-family:CustMainHeading;src:url(../fonts/CustMainHeading.ttf);}@font-face {font-family:CustMainParagraph;src:url(../fonts/CustMainParagraph.ttf);font-weight:normal;}@font-face {font-family:CustMainParagraph;src:url(../fonts/CustMainParagraphBold.ttf);font-weight:bold;}@font-face {font-family:CustMainIcons;src:url(../fonts/CustMainIcons.ttf);}#custmain_fonts_load{height:1px;width:1px;opacity:0;position:absolute;top:0px;right:0px;overflow:hidden;}#custmain_fonts_load .custmain_font_1{font-family:CustMainHeading;}#custmain_fonts_load .custmain_font_2{font-family:CustMainParagraph;}#custmain_fonts_load .custmain_font_3{font-family:CustMainParagraph;font-weight:bold;}#custmain_fonts_load .custmain_font_4{font-family:CustMainIcons;}.custmain_load{background-image:url(../images/load.gif);background-repeat:no-repeat;background-size:contain;height:30px;width:30px;float:left;margin-right:10px;position:relative;display:none;}.custmain_load_next{top:-40px;}.custmain_wrap{position:relative;}.custmain_wrap *{box-sizing:border-box;transition:color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;outline:none;}.custmain_wrap input:focus,.custmain_wrap textarea:focus{border-color:initial;box-shadow:initial;}#custmain_heading_board{width:100%;height:160px;margin:20px 0px;position:relative;}#custmain_logo{position:absolute;top:-5px;left:-10px;height:180px;width:180px;background-image:url(../images/custmain.png);background-repeat:no-repeat;background-size:contain;}#custmain_version{position:absolute;top:0px;right:0px;text-align:right;}#custmain_version span{display:block;}#custmain_version span:nth-child(1){font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#1abc9c;}#custmain_version span:nth-child(2){font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#bbbbbb;}#custmain_version span:nth-child(3){font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:12px;color:#888888;}#custmain_tabs{position:absolute;bottom:0px;right:0px;height:50px;width:calc(100% - 200px);text-align:right;}.custmain_tab{display:inline-block;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#888888;width:30%;height:100%;margin:0px;padding:10px 20px;text-align:center;background-color:#dddddd;}.custmain_tab:hover{background-color:#1abc9c;color:#ffffff;cursor:pointer;}.custmain_tab.custmain_tab_active{background-color:#16a085;color:#ffffff;}.custmain_tab.custmain_tab_active:hover{background-color:#16a085;color:#ffffff;cursor:default;}#custmain_tabs_line{position:absolute;bottom:0px;right:0px;width:calc(90% + 7px);height:10px;background-color:#16a085;}.custmain_icon{width:15px;transition:none!important;}.custmain_icon:before{font-family:CustMainIcons;font-size:20px;position:relative;top:2px;left:-15px;height:20px;width:20px;}.custmain_icon_custs:before{content:'\F0BA';}.custmain_icon_logs:before{content:'\F0A9';}.custmain_icon_import:before{content:'\F0A8';}#custmain_common_board{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#ffffff;}.custmain_title_text{border:1px solid transparent;padding:5px 10px;background-color:transparent;border-radius:5px;}.custmain_group{width:calc(100% - 40px);margin:10px 0px 10px 40px;position:relative;background-color:#ffffff;}.custmain_group_title{background-color:#16a085;color:#ffffff;padding:25px;width:100%;position:relative;}.custmain_group_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#ffffff;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;}.custmain_group_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_group_title .custmain_title_text:-ms-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_group_title .custmain_title_text::-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_group_title .custmain_title_text:-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_group_title .custmain_title_text:hover{border:1px solid rgba(255,255,255,0.6);}.custmain_group_title .custmain_title_text:focus{border:1px solid #ffffff;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_group_title:hover{background-color:#1abc9c;cursor:pointer;}.custmain_infocus .custmain_group_title:hover{background-color:#16a085;cursor:default;}.custmain_group_title:before{content:'\F0E0';font-family:CustMainIcons;font-size:20px;color:#ffffff;margin-right:10px;}.custmain_container{position:relative;left:50px;width:calc(100% - 60px);margin-bottom:10px;display:none;}.custmain_file{width:100%;margin:10px 0px;position:relative;}.custmain_file_title{background-color:#ffffff;color:#16a085;border:2px solid #16a085;padding:15px 15px;width:100%;position:relative;}.custmain_file_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#16a085;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:14px;letter-spacing:1px;}.custmain_file_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(22,160,133,0.5);}.custmain_file_title .custmain_title_text:-ms-input-placeholder {  color:rgba(22,160,133,0.5);}.custmain_file_title .custmain_title_text::-moz-placeholder {  color:rgba(22,160,133,0.5);  opacity:1;}.custmain_file_title .custmain_title_text:-moz-placeholder {  color:rgba(22,160,133,0.5);  opacity:1;}.custmain_file_title .custmain_title_text:hover{border:1px solid rgba(22,160,133,0.6);}.custmain_file_title .custmain_title_text:focus{border:1px solid #16a085;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_file_title:hover{border-color:#1abc9c;background-color:rgba(26,188,156,0.1);cursor:pointer;}.custmain_infocus .custmain_file_title:hover{background-color:#ffffff;border-color:#16a085;cursor:default;}.custmain_file_title:before{content:'\F10A';font-family:CustMainIcons;font-size:14px;color:#16a085;margin-right:10px;}.custmain_file .custmain_container{width:calc(100% - 50px);}.custmain_change{width:100%;margin:10px 0px;position:relative;border:2px solid #bbbbbb;}.custmain_change_original,.custmain_change_replacement{color:#bbbbbb;padding:15px 15px;width:calc(100% - 25px);position:relative;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:14px;letter-spacing:1px;margin-left:25px;}.custmain_change_replacement{padding-top:0px;}.custmain_change_title{background-color:#bbbbbb;width:100%;position:relative;padding:5px 15px;color:#ffffff;}.custmain_change_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#ffffff;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:16px;letter-spacing:1px;}.custmain_change_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_change_title .custmain_title_text:-ms-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_change_title .custmain_title_text::-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_change_title .custmain_title_text:-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_change_title .custmain_title_text:hover{border:1px solid rgba(255,255,255,0.6);}.custmain_change_title .custmain_title_text:focus{border:1px solid #ffffff;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_change_title:before{content:'\F0B9';font-family:CustMainIcons;font-size:14px;color:#ffffff;margin-right:10px;}.custmain_original_input,.custmain_replacement_input{background-color:#f5f5f5;color:#666666;border:none;padding:10px;width:100%;font-family:"Courier New",Courier,monospace;font-weight:bold;font-size:14px;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);border-radius:5px;}.custmain_original_input:disabled,.custmain_replacement_input:disabled{background-color:#f5f5f5;color:#666666;border:none;padding:10px;width:100%;font-family:"Courier New",Courier,monospace;font-weight:bold;font-size:14px;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);}.custmain_controls{float:right;}#custmain_selected_controls{display:inline-block;position:relative;top:10px;display:none;}#custmain_common_controls{display:inline-block;float:right;margin-right:10px;margin-top:10px;}.custmain_controls button,#custmain_selected_controls button,#custmain_common_controls button{background-color:transparent;border:none;height:30px;width:30px;padding:0px;position:relative;}.custmain_controls button span,#custmain_selected_controls button span,#custmain_common_controls button span{background-color:rgba(0,0,0,0.7);border:none;height:25px;width:140px;padding:3px 5px;position:absolute;color:#ffffff;text-align:center;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:12px;top:-35px;left:-85px;border-radius:3px;display:none;vertical-align:top;}.custmain_controls button span:after,#custmain_selected_controls button span:after,#custmain_common_controls button span:after{content:'';border:5px solid transparent;border-top:7px solid rgba(0,0,0,0.7);height:0px;width:0px;position:absolute;bottom:-12px;left:95px;display:block;}.custmain_controls button:hover span,#custmain_selected_controls button:hover span,#custmain_common_controls button:hover span{display:inline-block;}.custmain_controls button:before,#custmain_selected_controls button:before,#custmain_common_controls button:before{font-family:CustMainIcons;font-size:20px;color:#ffffff;position:absolute;top:2px;left:5px;}#custmain_selected_controls button:before,#custmain_common_controls button:before{color:#16a085;}.custmain_file_title .custmain_controls button:before{color:#16a085;}.custmain_controls button:hover:before,#custmain_selected_controls button:hover:before,#custmain_common_controls button:hover:before{font-size:24px;top:0px;cursor:pointer;}.custmain_infocus .custmain_controls button:hover:before,.custmain_infocus #custmain_selected_controls button:hover:before,.custmain_infocus #custmain_common_controls button:hover:before{font-size:20px;cursor:default;}.custmain_control_new:before{content:'\F14C';}.custmain_control_export:before{content:'\F0A7';}.custmain_control_run:before{content:'\F16B';}.custmain_control_delete:before{content:'\F057';}.custmain_default .custmain_group_title .custmain_control_delete{display:none;}#custmain_group_placeholder_template,#custmain_file_placeholder_template,#custmain_change_placeholder_template,#custmain_group_template,#custmain_file_template,#custmain_change_template{display:none;}.custmain_placeholder{width:100%;margin:10px 0px;padding:30px 15px;position:relative;border:2px solid #eeeeee;background-color:#eeeeee;color:#666666;text-align:center;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;}.custmain_placeholder b{color:#16a085;text-decoration:underline;}.custmain_placeholder b{color:#1abc9c;cursor:pointer;}.custmain_cancel_button{width:100px;height:50px;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#888888;font-weight:bold;background-color:#dddddd;margin:10px 20px;border:none;}.custmain_cancel_button:hover{cursor:pointer;background-color:#eeeeee;}.custmain_confirm_button{width:100px;height:50px;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#ffffff;font-weight:bold;background-color:#16a085;margin:10px 20px;border:none;}.custmain_confirm_button:hover{cursor:pointer;background-color:#1abc9c;}#custmain_confirm_descr{width:90%;height:60px;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#666666;margin:10px 10px;border:none;padding:15px;}#custmain_modal_bg{position:absolute;top:0px;left:0px;width:100%;height:100%;background-color:#f1f1f1;display:none;}#custmain_confirm{position:fixed;top:200px;left:calc(50% - 70px);width:300px;height:160px;background-color:#ffffff;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);text-align:center;display:none;}#custmain_modal{position:fixed;top:100px;left:calc(50% - 220px);width:600px;height:400px;background-color:#ffffff;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);display:none;}#custmain_modal button{display:none;position:absolute;right:-20px;bottom:-10px;}#custmain_progressline{background-color:#1abc9c;width:0%;height:20px;position:absolute;top:0px;left:0px;transition:width 1s!important;}#custmain_progressline_bg{background-color:#dddddd;width:100%;height:20px;position:absolute;top:0px;left:0px;}#custmain_progressline_anim{width:100%;height:20px;position:absolute;top:0px;left:0px;}@keyframes custmain_progress{  from { background-position:0 0; }  to { background-position:120px 60px; }}#custmain_progressline_anim div{position:absolute;top:0;left:0;right:0;bottom:0;background-size:60px 60px;background-image:linear-gradient(45deg,transparent 25%,rgba(0,0,0,0.2) 25%,rgba(0,0,0,0.2) 50%,transparent 50%,transparent 75%,rgba(0,0,0,0.2) 75%,rgba(0,0,0,0.2) 100%);animation:custmain_progress 2s linear infinite;}#custmain_progressvalue{color:#16a085;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:30px;letter-spacing:1px;position:absolute;top:30px;left:0px;width:100%;height:50px;text-align:center;}#custmain_progresslog{background-color:rgba(26,188,156,0.1);width:560px;height:320px;position:absolute;bottom:20px;left:20px;padding-bottom:50px;overflow-y:scroll;overflow-x:hidden;}#custmain_progresslog p{text-align:right;margin:0px;margin-right:40px;margin-bottom:-20px;top:-10px;position:relative;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:12px;}.custmain_progresslog_note{border:1px solid #16a085;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:14px;position:relative;color:#000000;padding:2px 5px;margin:10px 40px 10px 0px;background-color:#fff;}.custmain_progresslog_note:before{font-family:CustMainIcons;font-size:14px;color:#16a085;margin-right:5px;}.custmain_progresslog_note:after{font-family:CustMainIcons;font-size:18px;height:20px;width:20px;right:-30px;position:absolute;text-align:center;}.custmain_pn_group{margin-left:10px;}.custmain_pn_group:before{content:'\F0E0';}.custmain_pn_file{margin-left:30px;}.custmain_pn_file:before{content:'\F10A';}.custmain_pn_change{margin-left:50px;}.custmain_pn_change:before{content:'\F0B9';}.custmain_pn_process:after{content:'';background-image:url(./images/load.gif);background-repeat:no-repeat;background-size:contain;}.custmain_pn_success:after{content:'\F164';color:#1abc9c;}.custmain_pn_warning:after{content:'\F01E';color:#f1c40f;}.custmain_pn_failure:after{content:'\F165';color:#e74c3c;}.custmain_pn_waiting:after{content:'\F090';color:#aaaaaa;}.custmain_select{position:absolute;top:0px;left:-35px;height:30px;width:30px;}.custmain_select:before{content:'\F020';color:#aaaaaa;font-family:CustMainIcons;font-size:20px;height:100%;width:100%;top:5px;left:0px;position:absolute;text-align:center;}.custmain_select:hover{cursor:pointer;}.custmain_select:hover:before{color:#888888;}div[data-selected="1"] > .custmain_select:before{content:'\F021';color:#1abc9c;}div[data-selected="1"] > .custmain_select:hover:before{color:#16a085;}#custmain_select_all{position:relative;top:10px;left:5px;height:30px;width:30px;display:inline-block;}#custmain_select_all:before{content:'\F020';color:#aaaaaa;font-family:CustMainIcons;font-size:20px;height:100%;width:100%;top:5px;left:0px;position:absolute;text-align:center;}#custmain_select_all:hover{cursor:pointer;}#custmain_select_all:hover:before{color:#888888;}#custmain_select_all[data-selected="1"]:before{content:'\F021';color:#1abc9c;}#custmain_select_all[data-selected="1"]:hover:before{color:#16a085;}#custmain_selected_text{display:none;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:14px;position:relative;color:#888888;margin:0px 10px;font-weight:bold;}#custmain_alert{position:fixed;z-index:10000;display:block;color:#ffffff;width:calc(100% - 160px);height:50px;padding:20px;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:14px;right:0px;bottom:-100px;text-align:center;font-weight:bold;transition:bottom 0.5s!important;}.custmain_alert_success{background-color:rgba(22,160,133,0.7);}.custmain_alert_error{background-color:rgba(231,76,60,0.7);}#custmain_logs{display:none;}#custmain_logs_header{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#666666;color:#ffffff;font-weight:bold;font-size:14px!important;font-family:CustMainParagraph, Verdana, Arial, sans-serif;padding:15px;}#custmain_logs_header div{font-size:14px!important;}#custmain_logs_panel{width:100%;height:50px;margin:20px 0px;padding:0px 10px;position:relative;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-weight:bold;color:#16a085;}#custmain_logs_panel input[type="date"]{border:2px solid #16a085;font-size:14px!important;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-weight:normal;}#custmain_logs_panel input[type="date"]:hover{border:2px solid #1abc9c;}#custmain_logs_download{top:10px;}#custmain_logs_download:before{content:'\F02C';color:#16a085;font-weight:normal;}.custmain_log_record{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#ffffff;color:#666666;padding:15px;}.custmain_log_record:hover{background-color:#1abc9c;color:#ffffff;cursor:pointer;}.custmain_lr_datetime{width:20%;height:80%;position:relative;display:inline-block;border-right:1px solid #dddddd;border-left:1px solid #dddddd;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;padding-left:15px;transition:none!important;}.custmain_lr_filename{width:70%;height:80%;position:relative;display:inline-block;border-right:1px solid #dddddd;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:16px;padding-left:15px;transition:none!important;}.custmain_lr_status{height:80%;position:relative;display:inline-block;float:right;}.custmain_lr_status:after{font-family:CustMainIcons;font-size:20px;height:20px;width:20px;right:0px;position:absolute;text-align:center;transition:none!important;}.custmain_log_record:hover .custmain_lr_status:after{color:#ffffff!important;}.custmain_lr_status_0:after{content:'\F164';color:#1abc9c;}.custmain_lr_status_1:after{content:'\F01E';color:#f1c40f;}.custmain_lr_status_2:after{content:'\F165';color:#e74c3c;}.custmain_lr_calltype{height:80%;width:5%;position:relative;display:inline-block;float:left;}.custmain_lr_calltype:after{font-family:CustMainIcons;font-size:20px;height:20px;width:20px;left:0px;position:absolute;text-align:center;transition:none!important;color:#888888;}.custmain_log_record:hover .custmain_lr_calltype:after{color:#ffffff!important;}.custmain_lr_calltype_0:after{content:'\F043';}.custmain_lr_calltype_1:after{content:'\F04D';}.custmain_log_record_details{width:100%;margin:-20px 0px 20px 0px;position:relative;background-color:#ffffff;color:#666666;border-top:1px solid #dddddd;padding:5px 15px 0px 15px;display:none;}.custmain_lr_row{width:100%;position:relative;padding:4px 0px;}.custmain_lr_changename{position:relative;display:inline-block;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:12px;font-weight:bold;}.custmain_lr_message{position:relative;display:inline-block;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-size:14px;padding-left:15px;color:#c0392b;}#custmain_import{display:none;}#custmain_import .custmain_confirm_button{float:right;margin-right:0px;}#custmain_import_input{background-color:#ffffff;color:#666666;border:2px solid #16a085;padding:10px;width:100%;height:100px;font-family:CustMainParagraph, Verdana, Arial, sans-serif;font-weight:normal;font-size:12px;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);border-radius:0px 5px 5px 5px;}#custmain_import_heading{background-color:#16a085;color:#ffffff;border:none;padding:15px;height:50px;display:inline-block;font-family:CustMainHeading, Verdana, Arial, sans-serif;font-size:16px;}#custmain_import_zone{color:#555;font-size:18px;text-align:center;width:400px;padding:50px 0;margin:50px auto;background:#eee;border:1px solid #ccc;border-radius:5px;}#custmain_import_zone.custmain_import_hover{background:#ddd;border-color:#aaa;}#custmain_import_zone.custmain_import_error{background:#faa;border-color:#f00;}#custmain_import_zone.custmain_import_drop{background:#afa;border-color:#0f0;}
     4@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500&display=swap');@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro&display=swap');@font-face {font-family:CustMainIcons;src:url(../fonts/CustMainIcons.ttf);}#custmain_fonts_load{height:1px;width:1px;opacity:0;position:absolute;top:0px;right:0px;overflow:hidden;}#custmain_fonts_load .custmain_font_4{font-family:CustMainIcons;}.custmain_load{background-image:url(../images/load.gif);background-repeat:no-repeat;background-size:contain;height:30px;width:30px;float:left;margin-right:10px;position:relative;display:none;}.custmain_load_next{top:-40px;}.custmain_wrap{position:relative;}.custmain_wrap *{box-sizing:border-box;transition:color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;outline:none;}.custmain_wrap input:focus,.custmain_wrap textarea:focus{border-color:initial;box-shadow:initial;}#custmain_heading_board{width:100%;height:160px;margin:20px 0px;position:relative;}#custmain_logo{position:absolute;top:-5px;left:-10px;height:180px;width:180px;background-image:url(../images/custmain.png);background-repeat:no-repeat;background-size:contain;}#custmain_version{position:absolute;top:0px;right:0px;text-align:right;}#custmain_version span{display:block;}#custmain_version span:nth-child(1){font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#1abc9c;}#custmain_version span:nth-child(2){font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#bbbbbb;}#custmain_version span:nth-child(3){font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:12px;color:#888888;}#custmain_tabs{position:absolute;bottom:0px;right:0px;height:50px;width:calc(100% - 200px);text-align:right;}.custmain_tab{display:inline-block;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;color:#888888;width:30%;height:100%;margin:0px;padding:10px 20px;text-align:center;background-color:#dddddd;}.custmain_tab:hover{background-color:#1abc9c;color:#ffffff;cursor:pointer;}.custmain_tab.custmain_tab_active{background-color:#16a085;color:#ffffff;}.custmain_tab.custmain_tab_active:hover{background-color:#16a085;color:#ffffff;cursor:default;}#custmain_tabs_line{position:absolute;bottom:0px;right:0px;width:calc(90% + 7px);height:10px;background-color:#16a085;}.custmain_icon{width:15px;transition:none!important;}.custmain_icon:before{font-family:CustMainIcons;font-size:20px;position:relative;top:2px;left:-15px;height:20px;width:20px;}.custmain_icon_custs:before{content:'\F0BA';}.custmain_icon_logs:before{content:'\F0A9';}.custmain_icon_import:before{content:'\F0A8';}#custmain_common_board{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#ffffff;}.custmain_title_text{border:1px solid transparent;padding:5px 10px;background-color:transparent;border-radius:5px;}.custmain_group{width:calc(100% - 40px);margin:10px 0px 10px 40px;position:relative;background-color:#ffffff;}.custmain_group_title{background-color:#16a085;color:#ffffff;padding:25px;width:100%;position:relative;}.custmain_group_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#ffffff;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:20px;letter-spacing:1px;}.custmain_group_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_group_title .custmain_title_text:-ms-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_group_title .custmain_title_text::-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_group_title .custmain_title_text:-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_group_title .custmain_title_text:hover{border:1px solid rgba(255,255,255,0.6);}.custmain_group_title .custmain_title_text:focus{border:1px solid #ffffff;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_default .custmain_group_title .custmain_title_text:hover,.custmain_default .custmain_group_title .custmain_title_text:focus{border:1px solid transparent;box-shadow:none!important;cursor:pointer;}.custmain_group_title:hover{background-color:#1abc9c;cursor:pointer;}.custmain_infocus .custmain_group_title:hover{background-color:#16a085;cursor:default;}.custmain_group_title:before{content:'\F0E0';font-family:CustMainIcons;font-size:20px;color:#ffffff;margin-right:10px;}.custmain_container{position:relative;left:50px;width:calc(100% - 60px);margin-bottom:10px;display:none;}.custmain_file{width:100%;margin:10px 0px;position:relative;}.custmain_file_title{background-color:#ffffff;color:#16a085;border:2px solid #16a085;padding:15px 15px;width:100%;position:relative;}.custmain_file_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#16a085;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;letter-spacing:1px;}.custmain_file_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(22,160,133,0.5);}.custmain_file_title .custmain_title_text:-ms-input-placeholder {  color:rgba(22,160,133,0.5);}.custmain_file_title .custmain_title_text::-moz-placeholder {  color:rgba(22,160,133,0.5);  opacity:1;}.custmain_file_title .custmain_title_text:-moz-placeholder {  color:rgba(22,160,133,0.5);  opacity:1;}.custmain_file_title .custmain_title_text:hover{border:1px solid rgba(22,160,133,0.6);}.custmain_file_title .custmain_title_text:focus{border:1px solid #16a085;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_file_title:hover{border-color:#1abc9c;background-color:rgba(26,188,156,0.1);cursor:pointer;}.custmain_infocus .custmain_file_title:hover{background-color:#ffffff;border-color:#16a085;cursor:default;}.custmain_file_title:before{content:'\F10A';font-family:CustMainIcons;font-size:14px;color:#16a085;margin-right:10px;}.custmain_file .custmain_container{width:calc(100% - 50px);}.custmain_file .custmain_file_tip{width:auto;background-color:#ffffff;height:auto;padding:0px;box-shadow:0px 1px 2px rgba(0,0,0,0.8)!important;position:absolute;left:43px;top:46px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;letter-spacing:1px;color:#aaaaaa;z-index:1000;display:none;}.custmain_file .custmain_file_tip .custmain_tip_item{padding:9px;}.custmain_file .custmain_file_tip b{color:#16a085;text-decoration:underline;font-weight:normal;}.custmain_file .custmain_file_tip .custmain_tip_selected{background-color:#1abc9c;color:#dddddd;cursor:pointer;}.custmain_file .custmain_file_tip .custmain_tip_selected b{color:#ffffff;}.custmain_file .custmain_file_tip .custmain_tip_file:before{content:'\F10A';font-family:CustMainIcons;font-size:14px;color:#1abc9c;position:absolute;top:10px;left:0px;display:none;}.custmain_file .custmain_file_tip .custmain_tip_folder:before{content:'\F0E0';font-family:CustMainIcons;font-size:14px;color:#1abc9c;position:absolute;top:10px;left:0px;display:none;}.custmain_change{width:100%;margin:10px 0px;position:relative;border:2px solid #bbbbbb;}.custmain_change_original,.custmain_change_replacement{color:#bbbbbb;padding:15px 15px;width:calc(100% - 25px);position:relative;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;letter-spacing:1px;margin-left:25px;}.custmain_change_original:before,.custmain_change_replacement:before{content:'\F060';font-family:CustMainIcons;font-size:14px;color:#cccccc;position:absolute;top:14px;left:-4px;}.custmain_change_original{padding-bottom:0px;}.custmain_change_title{background-color:#bbbbbb;width:100%;position:relative;padding:5px 15px;color:#ffffff;}.custmain_change_title .custmain_title_text{border:1px solid transparent;background-color:transparent;box-shadow:none;color:#ffffff;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;letter-spacing:1px;}.custmain_change_title .custmain_title_text::-webkit-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_change_title .custmain_title_text:-ms-input-placeholder {  color:rgba(255,255,255,0.5);}.custmain_change_title .custmain_title_text::-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_change_title .custmain_title_text:-moz-placeholder {  color:rgba(255,255,255,0.5);  opacity:1;}.custmain_change_title .custmain_title_text:hover{border:1px solid rgba(255,255,255,0.6);}.custmain_change_title .custmain_title_text:focus{border:1px solid #ffffff;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_change_title:before{content:'\F0B9';font-family:CustMainIcons;font-size:14px;color:#ffffff;margin-right:10px;}.custmain_original_input,.custmain_replacement_input{background-color:#f5f5f5;color:#666666;border:none;padding:10px;width:100%;font-family:"Anonymous Pro",Courier,monospace;font-weight:normal;font-size:14px;box-shadow:none;border-radius:0px 5px 5px 0px;}.custmain_original_input:focus,.custmain_replacement_input:focus{box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)!important;}.custmain_original_input::selection,.custmain_replacement_input::selection {background:#1abc9c;color:#fff;}.custmain_original_input:disabled,.custmain_replacement_input:disabled{background-color:#f5f5f5;color:#666666;border:none;padding:10px;width:100%;font-family:"Anonymous Pro",Courier,monospace;font-weight:normal;font-size:14px;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);}.custmain_original_lines,.custmain_replacement_lines{position:absolute;background-color:#f0f0f0;color:#aaaaaa;border:none;padding:10px 0px;text-align:center;width:25px;font-family:"Anonymous Pro",Courier,monospace;font-weight:normal;font-size:14px;box-shadow:none;border-radius:5px 0px 0px 5px;resize:none;overflow:hidden;top:33px;left:-10px;cursor:default;}.custmain_controls{float:right;}#custmain_selected_controls{display:inline-block;position:relative;top:10px;display:none;}#custmain_common_controls{display:inline-block;float:right;margin-right:10px;margin-top:10px;}.custmain_controls button,#custmain_selected_controls button,#custmain_common_controls button{background-color:transparent;border:none;height:30px;width:30px;padding:0px;position:relative;}.custmain_controls button span,#custmain_selected_controls button span,#custmain_common_controls button span{background-color:rgba(0,0,0,0.7);border:none;height:25px;width:160px;padding:5px;position:absolute;color:#ffffff;text-align:center;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:12px;top:-35px;left:-85px;border-radius:3px;display:none;vertical-align:top;}.custmain_controls button span:after,#custmain_selected_controls button span:after,#custmain_common_controls button span:after{content:'';border:5px solid transparent;border-top:7px solid rgba(0,0,0,0.7);height:0px;width:0px;position:absolute;bottom:-12px;left:95px;display:block;}.custmain_controls button:hover span,#custmain_selected_controls button:hover span,#custmain_common_controls button:hover span{display:inline-block;}.custmain_controls button:before,#custmain_selected_controls button:before,#custmain_common_controls button:before{font-family:CustMainIcons;font-size:20px;color:#ffffff;position:absolute;top:2px;left:5px;}#custmain_selected_controls button:before,#custmain_common_controls button:before{color:#16a085;}.custmain_file_title .custmain_controls button:before{color:#16a085;}.custmain_controls button:hover:before,#custmain_selected_controls button:hover:before,#custmain_common_controls button:hover:before{font-size:24px;top:0px;cursor:pointer;}.custmain_infocus .custmain_controls button:hover:before,.custmain_infocus #custmain_selected_controls button:hover:before,.custmain_infocus #custmain_common_controls button:hover:before{font-size:20px;cursor:default;}.custmain_control_new:before{content:'\F14C';}.custmain_control_export:before{content:'\F0A7';}.custmain_control_autorun:before{content:'\F04D';}.custmain_control_run:before{content:'\F16B';}.custmain_control_delete:before{content:'\F057';}.custmain_control_revert:before{content:'\F17C';}.custmain_default .custmain_group_title .custmain_control_delete{display:none;}#custmain_group_placeholder_template,#custmain_file_placeholder_template,#custmain_change_placeholder_template,#custmain_group_template,#custmain_file_template,#custmain_change_template{display:none;}.custmain_placeholder{width:100%;margin:10px 0px;padding:30px 15px;position:relative;border:2px solid #eeeeee;background-color:#eeeeee;color:#666666;text-align:center;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;}.custmain_placeholder b{color:#16a085;text-decoration:underline;}.custmain_placeholder b{color:#1abc9c;cursor:pointer;}.custmain_cancel_button{width:100px;height:50px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#888888;font-weight:bold;background-color:#dddddd;margin:10px 20px;border:none;}.custmain_cancel_button:hover{cursor:pointer;background-color:#eeeeee;}.custmain_confirm_button{width:100px;height:50px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#ffffff;font-weight:bold;background-color:#16a085;margin:10px 20px;border:none;}.custmain_confirm_button:hover{cursor:pointer;background-color:#1abc9c;}#custmain_confirm_descr{width:90%;height:60px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#666666;margin:10px 10px;border:none;padding:15px;}#custmain_modal_bg{position:absolute;top:0px;left:0px;width:100%;height:100%;background-color:#f1f1f1;display:none;}#custmain_confirm{position:fixed;top:200px;left:calc(50% - 70px);width:300px;height:160px;background-color:#ffffff;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);text-align:center;display:none;}#custmain_modal{position:fixed;top:100px;left:calc(50% - 220px);width:600px;height:400px;background-color:#ffffff;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);display:none;transition:height 0.5s,color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;}#custmain_modal button{display:none;position:absolute;right:-20px;bottom:-10px;}#custmain_progressline{background-color:#1abc9c;width:0%;height:20px;position:absolute;top:0px;left:0px;transition:width 1s!important;}#custmain_progressline_bg{background-color:#dddddd;width:100%;height:20px;position:absolute;top:0px;left:0px;}#custmain_progressline_anim{width:100%;height:20px;position:absolute;top:0px;left:0px;}@keyframes custmain_progress{  from { background-position:0 0; }  to { background-position:120px 60px; }}#custmain_progressline_anim div{position:absolute;top:0;left:0;right:0;bottom:0;background-size:60px 60px;background-image:linear-gradient(45deg,transparent 25%,rgba(0,0,0,0.2) 25%,rgba(0,0,0,0.2) 50%,transparent 50%,transparent 75%,rgba(0,0,0,0.2) 75%,rgba(0,0,0,0.2) 100%);animation:custmain_progress 2s linear infinite;}#custmain_progressvalue{color:#16a085;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:30px;letter-spacing:1px;position:absolute;top:30px;left:0px;width:100%;height:50px;text-align:center;}#custmain_progresslog{background-color:rgba(26,188,156,0.1);width:560px;height:320px;position:absolute;bottom:20px;left:20px;padding-bottom:50px;overflow-y:scroll;overflow-x:hidden;transition:bottom 0.5s,color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;}#custmain_progresslog p{text-align:right;margin:0px;margin-right:40px;margin-bottom:-20px;top:-10px;position:relative;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:12px;}.custmain_progresslog_note{border:1px solid #16a085;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;position:relative;color:#000000;padding:2px 5px;margin:10px 40px 10px 0px;background-color:#fff;}.custmain_progresslog_note b {font-weight:normal;max-width:calc(100% - 20px);display:inline-block;overflow:hidden;top:2px;position:relative;}.custmain_progresslog_note:before{font-family:CustMainIcons;font-size:14px;color:#16a085;margin-right:5px;}.custmain_progresslog_note:after{font-family:CustMainIcons;font-size:18px;height:20px;width:20px;right:-30px;position:absolute;text-align:center;}.custmain_pn_group{margin-left:10px;}.custmain_pn_group:before{content:'\F0E0';}.custmain_pn_file{margin-left:30px;}.custmain_pn_file:before{content:'\F10A';}.custmain_pn_change{margin-left:50px;}.custmain_pn_change:before{content:'\F0B9';}.custmain_pn_process:after{content:'';background-image:url(../images/load.gif);background-repeat:no-repeat;background-size:contain;}.custmain_pn_success:after{content:'\F164';color:#1abc9c;}.custmain_pn_warning:after{content:'\F01E';color:#f1c40f;}.custmain_pn_failure:after{content:'\F165';color:#e74c3c;}.custmain_pn_waiting:after{content:'\F090';color:#aaaaaa;}.custmain_select{position:absolute;top:0px;left:-35px;height:30px;width:30px;}.custmain_select:before{content:'\F020';color:#aaaaaa;font-family:CustMainIcons;font-size:20px;height:100%;width:100%;top:5px;left:0px;position:absolute;text-align:center;}.custmain_select:hover{cursor:pointer;}.custmain_select:hover:before{color:#888888;}div[data-selected="1"] > .custmain_select:before{content:'\F021';color:#1abc9c;}div[data-selected="1"] > .custmain_select:hover:before{color:#16a085;}#custmain_select_all{position:relative;top:10px;left:5px;height:30px;width:30px;display:inline-block;}#custmain_select_all:before{content:'\F020';color:#aaaaaa;font-family:CustMainIcons;font-size:20px;height:100%;width:100%;top:5px;left:0px;position:absolute;text-align:center;}#custmain_select_all:hover{cursor:pointer;}#custmain_select_all:hover:before{color:#888888;}#custmain_select_all[data-selected="1"]:before{content:'\F021';color:#1abc9c;}#custmain_select_all[data-selected="1"]:hover:before{color:#16a085;}#custmain_selected_text{display:none;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;position:relative;color:#888888;margin:0px 10px;font-weight:bold;}#custmain_alert{position:fixed;z-index:10000;display:block;color:#ffffff;width:calc(100% - 160px);height:50px;padding:20px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;right:0px;bottom:-100px;text-align:center;font-weight:bold;transition:bottom 0.5s!important;}.custmain_alert_success{background-color:rgba(22,160,133,0.7);}.custmain_alert_error{background-color:rgba(231,76,60,0.7);}#custmain_logs{display:none;}#custmain_logs_header{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#666666;color:#ffffff;font-weight:normal;font-size:14px!important;font-family:'Ubuntu', Verdana, Arial, sans-serif;padding:15px;}#custmain_logs_header div{font-size:14px!important;}#custmain_logs_panel{width:100%;height:50px;margin:20px 0px;padding:0px 10px;position:relative;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-weight:bold;color:#16a085;}#custmain_logs_panel input[type="date"]{border:2px solid #16a085;font-size:14px!important;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-weight:normal;}#custmain_logs_panel input[type="date"]:hover{border:2px solid #1abc9c;}#custmain_logs_download{top:10px;}#custmain_logs_download:before{content:'\F02C';color:#16a085;font-weight:normal;}.custmain_log_record{width:100%;height:50px;margin:20px 0px;position:relative;background-color:#ffffff;color:#666666;padding:15px;}.custmain_log_record:hover{background-color:#1abc9c;color:#ffffff;cursor:pointer;}.custmain_lr_datetime{width:20%;height:80%;position:relative;display:inline-block;border-right:1px solid #dddddd;border-left:1px solid #dddddd;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;padding-left:15px;transition:none!important;}.custmain_lr_filename{width:70%;height:80%;position:relative;display:inline-block;border-right:1px solid #dddddd;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;padding-left:15px;transition:none!important;}.custmain_lr_status{height:80%;position:relative;display:inline-block;float:right;}.custmain_lr_status:after{font-family:CustMainIcons;font-size:20px;height:20px;width:20px;right:0px;position:absolute;text-align:center;transition:none!important;}.custmain_log_record:hover .custmain_lr_status:after{color:#ffffff!important;}.custmain_lr_status_0:after{content:'\F164';color:#1abc9c;}.custmain_lr_status_1:after{content:'\F01E';color:#f1c40f;}.custmain_lr_status_2:after{content:'\F165';color:#e74c3c;}.custmain_lr_calltype{height:80%;width:5%;position:relative;display:inline-block;float:left;}.custmain_lr_calltype:after{font-family:CustMainIcons;font-size:20px;height:20px;width:20px;left:0px;position:absolute;text-align:center;transition:none!important;color:#888888;}.custmain_log_record:hover .custmain_lr_calltype:after{color:#ffffff!important;}.custmain_lr_calltype_0:after{content:'\F044';}.custmain_lr_calltype_1:after{content:'\F04C';}.custmain_log_record_details{width:100%;margin:-20px 0px 20px 0px;position:relative;background-color:#ffffff;color:#666666;border-top:1px solid #dddddd;padding:5px 15px 0px 15px;display:none;}.custmain_lr_row{width:100%;position:relative;padding:4px 0px;}.custmain_lr_changename{position:relative;display:inline-block;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:12px;font-weight:bold;}.custmain_lr_message{position:relative;display:inline-block;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:14px;padding-left:15px;color:#c0392b;}#custmain_import{display:none;}#custmain_import .custmain_confirm_button{float:right;margin-right:0px;}#custmain_import_input{background-color:#ffffff;color:#666666;border:2px solid #16a085;padding:10px;width:100%;height:100px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-weight:normal;font-size:12px;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);border-radius:0px 5px 5px 5px;}#custmain_import_heading{background-color:#16a085;color:#ffffff;border:none;padding:15px;height:50px;display:inline-block;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;}#custmain_import_zone{color:#555;font-size:18px;text-align:center;width:400px;padding:50px 0;margin:50px auto;background:#eee;border:1px solid #ccc;border-radius:5px;}#custmain_import_zone.custmain_import_hover{background:#ddd;border-color:#aaa;}#custmain_import_zone.custmain_import_error{background:#faa;border-color:#f00;}#custmain_import_zone.custmain_import_drop{background:#afa;border-color:#0f0;}#custmain_autorun{position:fixed;top:200px;left:calc(50% - 120px);width:400px;height:310px;background-color:#ffffff;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);text-align:center;display:none;}#custmain_autorun_descr{width:90%;height:60px;font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;position:relative;color:#666666;margin:10px 10px;border:none;padding:15px;text-align:center;}#custmain_autorun label{font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;color:#666666;margin:10px 10px;}#custmain_autorun select{font-family:'Ubuntu', Verdana, Arial, sans-serif;font-size:16px;color:#666666;margin:10px 10px;width:90%;border-radius:0px;}#custmain_autorun select:focus{border-color:#1abc9c;box-shadow:0 0 0 1px #16a085;}#custmain_autorun select option{background-color:#1abc9c;color:#fff;}
    55/*
    66*/
  • custmain/trunk/styles/style.srp

    r1966108 r2385836  
    1 
    2 @font-face {
    3     font-family: CustMainHeading;
    4     src: url(../fonts/CustMainHeading.ttf);
    5 }
    6 
    7 @font-face {
    8     font-family: CustMainParagraph;
    9     src: url(../fonts/CustMainParagraph.ttf);
    10     font-weight: normal;
    11 }
    12 
    13 @font-face {
    14     font-family: CustMainParagraph;
    15     src: url(../fonts/CustMainParagraphBold.ttf);
    16     font-weight: bold;
    17 }
     1@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500&display=swap');
     2@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro&display=swap');
    183
    194@font-face {
     
    3015    right: 0px;
    3116    overflow: hidden;
    32 }
    33 
    34 #custmain_fonts_load .custmain_font_1{
    35     font-family: CustMainHeading;
    36 }
    37 
    38 #custmain_fonts_load .custmain_font_2{
    39     font-family: CustMainParagraph;
    40 }
    41 
    42 #custmain_fonts_load .custmain_font_3{
    43     font-family: CustMainParagraph;
    44     font-weight: bold;
    4517}
    4618
     
    269241}
    270242
     243.custmain_default .custmain_group_title .custmain_title_text:hover,
     244.custmain_default .custmain_group_title .custmain_title_text:focus{
     245    border: 1px solid transparent;
     246    box-shadow: none!important;
     247    cursor: pointer;
     248}
     249
    271250.custmain_group_title:hover{
    272251    background-color: |lightgreen|;
     
    368347}
    369348
     349.custmain_file .custmain_file_tip{
     350    width: auto;
     351    background-color: #ffffff;
     352    height: auto;
     353    padding: 0px;
     354    box-shadow: 0px 1px 2px rgba(0,0,0,0.8)!important;
     355    position: absolute;
     356    left: 43px;
     357    top: 46px;
     358    font-family: |CMH|;
     359    font-size: 14px;
     360    letter-spacing: 1px;
     361    color: #aaaaaa;
     362    z-index: 1000;
     363    display: none;
     364}
     365
     366.custmain_file .custmain_file_tip .custmain_tip_item{
     367    padding: 9px;
     368}
     369
     370.custmain_file .custmain_file_tip b{
     371    color: |darkgreen|;
     372    text-decoration: underline;
     373    font-weight: normal;
     374}
     375
     376.custmain_file .custmain_file_tip .custmain_tip_selected{
     377    background-color: |lightgreen|;
     378    color: #dddddd;
     379    cursor: pointer;
     380}
     381
     382.custmain_file .custmain_file_tip .custmain_tip_selected b{
     383    color: #ffffff;
     384}
     385
     386.custmain_file .custmain_file_tip .custmain_tip_file:before{
     387    content: '\F10A';
     388    font-family: CustMainIcons;
     389    font-size: 14px;
     390    color: |lightgreen|;
     391    position: absolute;
     392    top: 10px;
     393    left: 0px;
     394    display: none;
     395}
     396
     397.custmain_file .custmain_file_tip .custmain_tip_folder:before{
     398    content: '\F0E0';
     399    font-family: CustMainIcons;
     400    font-size: 14px;
     401    color: |lightgreen|;
     402    position: absolute;
     403    top: 10px;
     404    left: 0px;
     405    display: none;
     406}
     407
    370408.custmain_change{
    371409    width: 100%;
     
    387425}
    388426
    389 .custmain_change_replacement{
    390     padding-top: 0px;
     427.custmain_change_original:before,
     428.custmain_change_replacement:before{
     429    content: '\F060';
     430    font-family: CustMainIcons;
     431    font-size: 14px;
     432    color: #cccccc;
     433    position: absolute;
     434    top: 14px;
     435    left: -4px;
     436}
     437
     438.custmain_change_original{
     439    padding-bottom: 0px;
    391440}
    392441
     
    448497    padding: 10px;
    449498    width: 100%;
    450     font-family: "Courier New", Courier, monospace;
    451     font-weight: bold;
     499    font-family: "Anonymous Pro", Courier, monospace;
     500    font-weight: normal;
    452501    font-size: 14px;
    453     box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
    454     border-radius: 5px;
     502    box-shadow: none;
     503    border-radius: 0px 5px 5px 0px;
     504}
     505
     506.custmain_original_input:focus,
     507.custmain_replacement_input:focus{
     508    box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1)!important;
     509}
     510
     511.custmain_original_input::selection,
     512.custmain_replacement_input::selection {
     513    background: |lightgreen|;
     514    color: #fff;
    455515}
    456516
     
    462522    padding: 10px;
    463523    width: 100%;
    464     font-family: "Courier New", Courier, monospace;
    465     font-weight: bold;
     524    font-family: "Anonymous Pro", Courier, monospace;
     525    font-weight: normal;
    466526    font-size: 14px;
    467527    box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
     528}
     529
     530.custmain_original_lines,
     531.custmain_replacement_lines{
     532    position: absolute;
     533    background-color: #f0f0f0;
     534    color: #aaaaaa;
     535    border: none;
     536    padding: 10px 0px;
     537    text-align: center;
     538    width: 25px;
     539    font-family: "Anonymous Pro", Courier, monospace;
     540    font-weight: normal;
     541    font-size: 14px;
     542    box-shadow: none;
     543    border-radius: 5px 0px 0px 5px;
     544    resize: none;
     545    overflow: hidden;
     546    top: 33px;
     547    left: -10px;
     548    cursor: default;
    468549}
    469550
     
    503584    border: none;
    504585    height: 25px;
    505     width: 140px;
    506     padding: 3px 5px;
     586    width: 160px;
     587    padding: 5px;
    507588    position: absolute;
    508589    color: #ffffff;
     
    580661}
    581662
     663.custmain_control_autorun:before{
     664    content: '\F04D';
     665}
     666
    582667.custmain_control_run:before{
    583668    content: '\F16B';
     
    586671.custmain_control_delete:before{
    587672    content: '\F057';
     673}
     674
     675.custmain_control_revert:before{
     676    content: '\F17C';
    588677}
    589678
     
    703792    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
    704793    display: none;
     794    transition: height 0.5s,color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;
    705795}
    706796
     
    778868    overflow-y: scroll;
    779869    overflow-x: hidden;
     870    transition: bottom 0.5s,color 0.25s,border-color 0.25s,background 0.25s,font-size 0.25s!important;
    780871}
    781872
     
    802893}
    803894
     895.custmain_progresslog_note b {
     896    font-weight: normal;
     897    max-width: calc(100% - 20px);
     898    display: inline-block;
     899    overflow: hidden;
     900    top: 2px;
     901    position: relative;
     902}
     903
    804904.custmain_progresslog_note:before{
    805905    font-family: CustMainIcons;
     
    846946.custmain_pn_process:after{
    847947    content: '';
    848     background-image: url(./images/load.gif);
     948    background-image: url(../images/load.gif);
    849949    background-repeat: no-repeat;
    850950    background-size: contain;
     
    9941094    background-color: #666666;
    9951095    color: #ffffff;
    996     font-weight: bold;
     1096    font-weight: normal;
    9971097    font-size: 14px!important;
    9981098    font-family: |CMP|;
     
    11391239
    11401240.custmain_lr_calltype_0:after{
    1141     content: '\F043';
     1241    content: '\F044';
    11421242}
    11431243
    11441244.custmain_lr_calltype_1:after{
    1145     content: '\F04D';
     1245    content: '\F04C';
    11461246}
    11471247
     
    12401340    border-color: #0f0;
    12411341}
     1342
     1343#custmain_autorun{
     1344    position: fixed;
     1345    top: 200px;
     1346    left: calc(50% - 120px);
     1347    width: 400px;
     1348    height: 310px;
     1349    background-color: #ffffff;
     1350    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
     1351    text-align: center;
     1352    display: none;
     1353}
     1354
     1355#custmain_autorun_descr{
     1356    width: 90%;
     1357    height: 60px;
     1358    font-family: |CMP|;
     1359    font-size: 16px;
     1360    position: relative;
     1361    color: #666666;
     1362    margin: 10px 10px;
     1363    border: none;
     1364    padding: 15px;
     1365    text-align: center;
     1366}
     1367
     1368#custmain_autorun label{
     1369    font-family: |CMP|;
     1370    font-size: 16px;
     1371    color: #666666;
     1372    margin: 10px 10px;
     1373}
     1374
     1375#custmain_autorun select{
     1376    font-family: |CMP|;
     1377    font-size: 16px;
     1378    color: #666666;
     1379    margin: 10px 10px;
     1380    width: 90%;
     1381    border-radius: 0px;
     1382}
     1383
     1384#custmain_autorun select:focus{
     1385    border-color: |lightgreen|;
     1386    box-shadow: 0 0 0 1px |darkgreen|;
     1387}
     1388
     1389#custmain_autorun select option{
     1390    background-color: |lightgreen|;
     1391    color: #fff;
     1392}
Note: See TracChangeset for help on using the changeset viewer.