Subversion Repositories bysoftdeveloper

[/] [kernel/] [ezdebug.php] - Diff between revs 30 and 31

Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | View Log

Rev 30 Rev 31
Line 1402... Line 1402...
            ob_start();
            ob_start();
        }
        }
 
 
        if ( $as_html )
        if ( $as_html )
        {
        {
 
                $ini = eZINI::instance('bysoftdeveloper.ini');
 
                $max_height = $ini->variable('BysoftDeveloper', 'MaxHeight');
 
                $width = $ini->variable('BysoftDeveloper', 'Width');
 
                $float_x = $ini->variable('BysoftDeveloper', 'FloatX');
 
                $float_y = $ini->variable('BysoftDeveloper', 'FloatY');
            // cavin.deng
            // cavin.deng
echo <<<EOT
echo <<<EOT
<script type="text/javascript">
<script type="text/javascript">
        //
        //
        // author cavin.deng
        // author cavin.deng, alva.wu
        //
        //
 
        String.prototype.trim = function() {
 
                return this.replace(/^\s+|\s+$/g,"");
 
        }
 
        String.prototype.ltrim = function() {
 
                return this.replace(/^\s+/,"");
 
        }
 
        String.prototype.rtrim = function() {
 
                return this.replace(/\s+$/,"");
 
        }
 
        var _get = function(v, i, t){
 
                switch(i){
 
                case 'id':
 
                        return document.getElementById(v);
 
                case 'name':
 
                        if(t == 'list')
 
                                return document.getElementsByName(v);
 
                        else
 
                                return document.getElementByName(v);
 
                default:
 
                        return document.getElementById(v);
 
            }
 
        }
        function bysoftdeveloperAjax(options){
        function bysoftdeveloperAjax(options){
               
               
                var isOpera = navigator.userAgent.indexOf('Opera') > -1;
                var isOpera = navigator.userAgent.indexOf('Opera') > -1;
                var isIE = navigator.userAgent.indexOf('MSIE') > 1 && !isOpera;
                var isIE = navigator.userAgent.indexOf('MSIE') > 1 && !isOpera;
                var isMoz = navigator.userAgent.indexOf('Mozilla/5.') == 0 && !isOpera;
                var isMoz = navigator.userAgent.indexOf('Mozilla/5.') == 0 && !isOpera;
Line 1483... Line 1510...
               
               
                if( asyn || (! asyn && ! isMoz) ){
                if( asyn || (! asyn && ! isMoz) ){
                        request.onreadystatechange = function(){
                        request.onreadystatechange = function(){
                                if( request.readyState == 4 ){  // If the request is finished
                                if( request.readyState == 4 ){  // If the request is finished
                                        if(request.status == 200){  // If it was successful
                                        if(request.status == 200){  // If it was successful
 
                                                _get('bysoftdeveloper-loading').style.display = 'none';
                                                result = request.responseText;
                                                result = request.responseText;
                                                if( callback ){
                                                if( callback ){
                                                        result = callback(result);  // Display the server's response
                                                        result = callback(result);  // Display the server's response
                                                }
                                                }
                                        }
                                        }
Line 1496... Line 1524...
               
               
                if( method == 'get' ){
                if( method == 'get' ){
                        url = url.replace('?', '');
                        url = url.replace('?', '');
                        url = url + '?' + data;
                        url = url + '?' + data;
                }
                }
               
                _get('bysoftdeveloper-loading').style.display = 'block';
                request.open( method.toUpperCase(), url, asyn);
                request.open( method.toUpperCase(), url, asyn);
                request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
               
               
                if( method == 'post' ){
                if( method == 'post' ){
                        request.send( data );
                        request.send( data );
Line 1508... Line 1536...
                        request.send( null );
                        request.send( null );
                }
                }
               
               
                // @see, http://hi.baidu.com/snowleung/blog/item/2bbad188cbdd7d9da5c2728f.html
                // @see, http://hi.baidu.com/snowleung/blog/item/2bbad188cbdd7d9da5c2728f.html
                if(  ! asyn && isMoz  ){
                if(  ! asyn && isMoz  ){
 
 
                        result = request.responseText;
                        result = request.responseText;
                        if( callback ){
                        if( callback ){
                                result = callback( result );
                                result = callback( result );
                        }
                        }
                }
                }
Line 1531... Line 1560...
               
               
                id: null,
                id: null,
                active: 1,
                active: 1,
                interval: null,
                interval: null,
                wait: null,
                wait: null,
                persist: null,
                persist: true,
                tabclass: 'tab',
                tabclass: 'tab',
                activeclass: 'active',
                activeclass: 'active',
                callback: null,
                callback: null,
                leavecallback: null
                leavecallback: null
       
       
Line 1546... Line 1575...
        for (var n in arguments[0]) { this.defaults[n]=arguments[0][n]; };     
        for (var n in arguments[0]) { this.defaults[n]=arguments[0][n]; };     
       
       
        this.getTabs = function() {
        this.getTabs = function() {
               
               
        var retnode = [];
        var retnode = [];
        var elem = document.getElementById(this.defaults.id).getElementsByTagName('*');
        var elem = _get(this.defaults.id).getElementsByTagName('*');
               
               
                var regexp = new RegExp("(^|\\s)" + this.defaults.tabclass.replace(/\-/g, "\\-") + "(\\s|$)");
                var regexp = new RegExp("(^|\\s)" + this.defaults.tabclass.replace(/\-/g, "\\-") + "(\\s|$)");
       
       
        for (var i = 0; i < elem.length; i++) {
        for (var i = 0; i < elem.length; i++) {
                        if (regexp.test(elem[i].className)) retnode.push(elem[i]);
                        if (regexp.test(elem[i].className)) retnode.push(elem[i]);
Line 1558... Line 1587...
   
   
        return retnode;
        return retnode;
   
   
    };
    };
       
       
        this.links = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('a');
        this.links = _get(this.defaults.id + '-nav').getElementsByTagName('a');
        this.listitems = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('li');
        this.listitems = _get(this.defaults.id + '-nav').getElementsByTagName('li');
       
       
        this.show = function(number) {
        this.show = function(number) {
       
       
        for (var i = 0; i < this.tabs.length; i++) {
        for (var i = 0; i < this.tabs.length; i++) {
                       
                       
Line 1645... Line 1674...
               
               
                var result = this.gup(tabinterfaceid);
                var result = this.gup(tabinterfaceid);
               
               
                if (result==null) return null;
                if (result==null) return null;
                if (parseInt(result)) return parseInt(result);
                if (parseInt(result)) return parseInt(result);
                if (document.getElementById(result)) { 
                if (_get(result)) {    
                        for (var i=0;i<this.tabs.length;i++) {
                        for (var i=0;i<this.tabs.length;i++) {
                                if (this.tabs[i].id == result) return (i+1);
                                if (this.tabs[i].id == result) return (i+1);
                        }
                        }
                }
                }
               
               
Line 1729... Line 1758...
        bysoftdeveloperToggleById('bysoftdeveloper-clear-cache');
        bysoftdeveloperToggleById('bysoftdeveloper-clear-cache');
        //bysoftdeveloperToggleInlineById('bysoftdeveloper-clear-cache');
        //bysoftdeveloperToggleInlineById('bysoftdeveloper-clear-cache');
}
}
 
 
function bysoftdeveloperToggleInlineById(e, status) {
function bysoftdeveloperToggleInlineById(e, status) {
        if( typeof e == 'string' ) e = document.getElementById(e);
        if( typeof e == 'string' ) e = _get(e);
                               
                               
        if( status != undefined ){
        if( status != undefined ){
                var value = (status == 'inline' || (status != 'none' && status) ) ? 'inline' : 'none';
                var value = (status == 'inline' || (status != 'none' && status) ) ? 'inline' : 'none';
                e.style.display = value;
                e.style.display = value;
                return true;
                return true;
Line 1746... Line 1775...
        }else{
        }else{
                e.style.display = 'none';
                e.style.display = 'none';
        }
        }
}
}
function bysoftdeveloperToggleById(e, status){
function bysoftdeveloperToggleById(e, status){
        if( typeof e == 'string' ) e = document.getElementById(e);
        if( typeof e == 'string' ) e = _get(e);
                               
                               
        if( status != undefined ){
        if( status != undefined ){
                var value = (status == 'block' || (status != 'none' && status) ) ? 'block' : 'none';
                var value = (status == 'block' || (status != 'none' && status) ) ? 'block' : 'none';
                e.style.display = value;
                e.style.display = value;
                return true;
                return true;
Line 1763... Line 1792...
        }else{
        }else{
                e.style.display = 'none';
                e.style.display = 'none';
        }
        }
}
}
function bysoftdeveloperDebugFloatInternal(){
function bysoftdeveloperDebugFloatInternal(){
        var positionY = 200;
        var positionY = $float_y;
       
       
        var contentObject = document.getElementById('bysoftdeveloper-wrapper');
        var contentObject = _get('bysoftdeveloper-wrapper');
        if( contentObject.style.display == 'block' ){
        if( contentObject.style.display == 'block' ){
                return;
                return;
        }
        }
       
       
        var obj = document.getElementById('debug');
        var obj = _get('debug');
       
       
        var deltaY;
        var deltaY;
       
       
        if( typeof window.pageYOffset != 'undefined' ){
        if( typeof window.pageYOffset != 'undefined' ){
                deltaY = window.pageYOffset;   
                deltaY = window.pageYOffset;   
Line 1804... Line 1833...
</script>
</script>
 
 
<style type="text/css">
<style type="text/css">
pre{
pre{
        white-space: pre-line;
        white-space: pre-line;
 
}
 
.bysoftdeveloper-tabs-container a{
 
    color: #E55211;
 
    text-decoration: none;
 
}
 
.bysoftdeveloper-tabs-container{
 
       
}
}
.bysoftdeveloper-ul-layout a.active{
.bysoftdeveloper-ul-layout a.active{
    background: none repeat scroll 0 0 #FFFFFF;
    background: none repeat scroll 0 0 #FFFFFF;
    color: #0000FF;
    color: #0000FF;
    cursor: default;
    cursor: default;
Line 1837... Line 1873...
    margin: 0 2px 0 0;
    margin: 0 2px 0 0;
}
}
</style>
</style>
EOT;
EOT;
            // cavin.deng
            // cavin.deng
           
$tabini = eZINI::instance('bysoftdeveloper.ini');
 
 
 
$availableTabList = $tabini->variable('TabsSettings', 'AvaiableTabList');
 
$tabsStartNum = 5;     
 
$tabsHTML = $tabsContainerHTML = $tabsCallerHTML = $tabsInteractionHTML = '';
 
 
 
foreach($availableTabList as $key => $availableTab)
 
{
 
        // dynamic generation of tabs
 
        $tabsHTML .= "<li><a href=\"#bysoftdeveloper-$key\">$availableTab</a></li>";
 
       
 
        // dynamic generation of tabs containers
 
        $innerContent = file_get_contents(getcwd() . '/extension/bysoftdeveloper/tabs/' . $key . '/tabcontent.php');
 
        $tabsContainerHTML .= "<div id='bysoftdeveloper-$key' class='bysoftdeveloper-tab-class'>$innerContent</div>";
 
       
 
        // dynamic generation of tabs caller
 
        $tabloadfunction = $tabini->variable('Tab-' . $key, 'Tabload');
 
        if(isset($tabloadfunction) && $tabloadfunction != '')
 
        {
 
                $tabsCallerHTML .=<<<EOT
 
                if (tabnumber == $tabsStartNum && $tabloadfunction instanceof Function )
 
                {
 
                        $tabloadfunction();
 
                }
 
EOT;
 
        }
 
        $tabsStartNum++;
 
       
 
        // dynamic generation of tabs interaction
 
        $tabsInteractionHTML .= require_once(getcwd() . '/extension/bysoftdeveloper/tabs/' . $key . '/interact.php');
 
//      echo $interactionContent;
 
 
 
}
 
 
 
 
 
 
                        echo <<<EOT
                        echo <<<EOT
        <div id="debug" style="position:absolute;left:5px;z-index:999;font-size:11px;font-family:Verdana,Arial,Tahoma,'Courier New';">
        <div id="debug" style="position:absolute;left:$float_x;z-index:999;font-size:11px;font-family:Verdana,Arial,Tahoma,'Courier New';">
                <div id="bysoftdeveloper-toggle" style="height:20px;background-color:green;color:white;" onclick="javascript:bysoftdeveloperToggleDebugBox();">
                <div id="bysoftdeveloper-toggle" style="cursor:pointer;height:20px;background-color:green;color:white;" onclick="javascript:bysoftdeveloperToggleDebugBox();">
                        <a style="color:white;float:left;">Debug Tool</a>
                        <a style="color:white;float:left;">Debug Tool</a>
                        <a onclick="javascript:bysoftdeveloperClearCache(event);"
                        <a onclick="javascript:bysoftdeveloperClearCache(event);"
                        id="bysoftdeveloper-clear-cache"
                        id="bysoftdeveloper-clear-cache"
                        style="display:none;color:white;float:right;">
                        style="display:none;color:white;float:right;">
                        Clear Cache
                        Clear Cache
                </a>
                </a>
                </div>
                </div>
                <div id="bysoftdeveloper-message" style="padding-left:10px;padding-right:10px;background-color:green;color:white;text-align:center;">
                <div id="bysoftdeveloper-message" style="padding-left:10px;padding-right:10px;background-color:green;color:white;text-align:center;">
                </div>
                </div>
                <div id="bysoftdeveloper-wrapper"
                <div id="bysoftdeveloper-wrapper"
                        style="display:none;background-color:white;border:3px solid green;width:1000px;">
                        style="display:none;background-color:white;border:3px solid green;width:$width;">
               
               
                        <ul id="bysoftdeveloper-wrapper-nav" class="bysoftdeveloper-ul-layout">
                        <ul id="bysoftdeveloper-wrapper-nav" class="bysoftdeveloper-ul-layout">
                    <li><a href="#bysoftdeveloper-content">Debug</a></li>
                    <li><a href="#bysoftdeveloper-content">Debug</a></li>
                    <li><a href="#bysoftdeveloper-template">Templates</a></li>
                    <li><a href="#bysoftdeveloper-template">Templates</a></li>
                    <li><a href="#bysoftdeveloper-toolbar">Toolbar</a></li>
                    <li><a href="#bysoftdeveloper-toolbar">Toolbar</a></li>
                    <li><a href="#bysoftdeveloper-ini">Ini</a></li>
                    <li><a href="#bysoftdeveloper-ini">Ini</a></li>
                    <li><a href="#bysoftdeveloper-classes">Classes</a></li>
                    $tabsHTML
                    <li><a href="#bysoftdeveloper-translate">Translate</a></li>
                    <li id="bysoftdeveloper-loading" style="display:none;"><img src="/extension/bysoftdeveloper/design/standard/images/ajax.gif" /></li>
                </ul>
                </ul>
 
               
EOT;
EOT;
           
           
            if ( !$this->UseCSS )
            if ( !$this->UseCSS )
            {
            {
                echo <<<EOT
                echo <<<EOT
Line 2266... Line 2338...
        // cavin.deng
        // cavin.deng
        if ($as_html) {
        if ($as_html) {
            $bysoftDebugTemplate = ob_get_clean();
            $bysoftDebugTemplate = ob_get_clean();
        }
        }
       
       
        $bysoftdeveloperIniUrl = 'bysoftdeveloper/ini';
        $bysoftdeveloperIniUrl                  = 'bysoftdeveloper/ini';
        $bysoftdeveloperClassesUrl = 'bysoftdeveloper/classes';
        $bysoftdeveloperClassesUrl              = 'bysoftdeveloper/classes';
        $bysoftdeveloperClearCacheUrl = 'bysoftdeveloper/clearcache';
        $bysoftdeveloperClearCacheUrl   = 'bysoftdeveloper/clearcache';
 
        $bysoftdeveloperUserUrl                 = 'bysoftdeveloper/user';
        eZURI::transformURI($bysoftdeveloperIniUrl, false);
        eZURI::transformURI($bysoftdeveloperIniUrl, false);
        eZURI::transformURI($bysoftdeveloperClassesUrl, false);
        eZURI::transformURI($bysoftdeveloperClassesUrl, false);
        eZURI::transformURI($bysoftdeveloperClearCacheUrl, false);
        eZURI::transformURI($bysoftdeveloperClearCacheUrl, false);
       
        eZURI::transformURI($bysoftdeveloperUserUrl, false);
        // cavin.deng
        // cavin.deng
        // actually output here
        // actually output here
        if ($as_html) {
        if ($as_html) {
 
               
 
 
$outputBysoft = <<<EOT
$outputBysoft = <<<EOT
<div class='bysoftdeveloper-tabs-container'>
<div class='bysoftdeveloper-tabs-container'>
    <div id='bysoftdeveloper-content' class='bysoftdeveloper-tab-class'>
    <div id='bysoftdeveloper-content' class='bysoftdeveloper-tab-class'>
        $bysoftDebugContent
        $bysoftDebugContent
    </div>
    </div>
Line 2291... Line 2366...
    </div>
    </div>
    <div id='bysoftdeveloper-ini' class='bysoftdeveloper-tab-class'>
    <div id='bysoftdeveloper-ini' class='bysoftdeveloper-tab-class'>
        <div id='bysoftdeveloper-ini-form'></div>
        <div id='bysoftdeveloper-ini-form'></div>
        <div id='bysoftdeveloper-ini-content'></div>
        <div id='bysoftdeveloper-ini-content'></div>
    </div>
    </div>
    <div id='bysoftdeveloper-classes' class='bysoftdeveloper-tab-class'>
    $tabsContainerHTML
        <div id='bysoftdeveloper-classes-form'></div>
 
        <div id='bysoftdeveloper-classes-content'></div>
 
    </div>
 
    <div id='bysoftdeveloper-translate' class='bysoftdeveloper-tab-class'>
 
        <div id='bysoftdeveloper-translate-wrap'>
 
            <p>Source string:</p>
 
            <textarea id='bysoftdeveloper-translate-source' rows=5 onkeyup='javascript:bysoftdeveloperTranslate();' style='margin-left:20px;width:90%'></textarea>
 
            <p>Converted applicable characters in string:</p>
 
            <textarea id='bysoftdeveloper-translate-result' rows=5 style='margin-left:20px;width:90%'></textarea>
 
        </div>
 
    </div>
 
</div>
</div>
<div style='background-color:green;color:white;text-align:center;' onclick='javascript:bysoftdeveloperToggleDebugBox();'>
<div style='background-color:green;color:white;text-align:center;' onclick='javascript:bysoftdeveloperToggleDebugBox();'>
    Close
    Close
</div>
</div>
 
 
<div>
<div>
 
 
<script type='text/javascript'>
<script type='text/javascript'>
 
 
 
 
var bysoftdeveloperTabber = new Yetii({
var bysoftdeveloperTabber = new Yetii({
    id: 'bysoftdeveloper-wrapper',
    id: 'bysoftdeveloper-wrapper',
    tabclass: 'bysoftdeveloper-tab-class',
    tabclass: 'bysoftdeveloper-tab-class',
    callback: bysoftdeveloperTabCallback
    callback: bysoftdeveloperTabCallback
});
});
 
 
// after ts (1000 = 1s) to hidden message content
// after ts (1000 = 1s) to hidden message content
function bysoftdeveloperHiddenMessage(ts) {
function bysoftdeveloperHiddenMessage(ts) {
        setTimeout(function(){
        setTimeout(function(){
                document.getElementById('bysoftdeveloper-message').style.display = 'none';
                _get('bysoftdeveloper-message').style.display = 'none';
        }, ts);
        }, ts);
}
}
 
 
// clean cache in ez publish
// clean cache in ez publish
function bysoftdeveloperClearCache(e){
function bysoftdeveloperClearCache(e){
Line 2335... Line 2400...
    } else {
    } else {
                e.stopPropagation();
                e.stopPropagation();
    }
    }
        var options = {url:'$bysoftdeveloperClearCacheUrl', callback:bysoftdeveloperClearCacheMessage};
        var options = {url:'$bysoftdeveloperClearCacheUrl', callback:bysoftdeveloperClearCacheMessage};
        function bysoftdeveloperClearCacheMessage(result){
        function bysoftdeveloperClearCacheMessage(result){
                document.getElementById('bysoftdeveloper-message').innerHTML = result;
                _get('bysoftdeveloper-message').innerHTML = result;
                document.getElementById('bysoftdeveloper-message').style.display = 'block';
                _get('bysoftdeveloper-message').style.display = 'block';
                bysoftdeveloperHiddenMessage(3000);
                bysoftdeveloperHiddenMessage(3000);
    }
    }
        bysoftdeveloperAjax(options);
        bysoftdeveloperAjax(options);
}
}
 
 
Line 2354... Line 2419...
    //var currentLink = bysoftdeveloperTabber.links[tabnumber-1];
    //var currentLink = bysoftdeveloperTabber.links[tabnumber-1];
    // ini configuration tab
    // ini configuration tab
    if (tabnumber == 4) {
    if (tabnumber == 4) {
        bysoftdeveloperShowIniTab();
        bysoftdeveloperShowIniTab();
    }
    }
    if (tabnumber == 5) {
    $tabsCallerHTML
        bysoftdeveloperShowClassesTab();
   
    }
   
}
}
 
 
// ini ajax content
// ini ajax content
var developerIniFormLoaded = false;
var developerIniFormLoaded = false;
function bysoftdeveloperShowIniTab(){
function bysoftdeveloperShowIniTab(){
Line 2371... Line 2436...
        var options = {url:'$bysoftdeveloperIniUrl', data: data, callback: bysoftdeveloperUpdateIniForm };
        var options = {url:'$bysoftdeveloperIniUrl', data: data, callback: bysoftdeveloperUpdateIniForm };
        bysoftdeveloperAjax(options);
        bysoftdeveloperAjax(options);
        developerIniFormLoaded = true;
        developerIniFormLoaded = true;
       
       
        function bysoftdeveloperUpdateIniForm(result){
        function bysoftdeveloperUpdateIniForm(result){
            document.getElementById('bysoftdeveloper-ini-form').innerHTML = result;
            _get('bysoftdeveloper-ini-form').innerHTML = result;
    }
    }
}
}
function bysoftdeveloperChangeIniFile(){
function bysoftdeveloperChangeIniFile(){
    var file = document.getElementById('bysoftdeveloperSelectedINIFile');
    var file = _get('bysoftdeveloperSelectedINIFile');
    var file = bysoftdeveloperGetOptionValue(file);
    var file = bysoftdeveloperGetOptionValue(file);
    var siteaccess = document.getElementById('bysoftdeveloperCurrentSiteAccess');
    var siteaccess = _get('bysoftdeveloperCurrentSiteAccess');
    var siteaccess = bysoftdeveloperGetOptionValue(siteaccess);
    var siteaccess = bysoftdeveloperGetOptionValue(siteaccess);
   
   
   
   
    var data = {action: 'content', file: file, siteaccess: siteaccess};
    var data = {action: 'content', file: file, siteaccess: siteaccess};
    var options = {url:'$bysoftdeveloperIniUrl', data: data, callback: bysoftdeveloperUpdateIniContent};
    var options = {url:'$bysoftdeveloperIniUrl', data: data, callback: bysoftdeveloperUpdateIniContent};
    bysoftdeveloperAjax(options);
    bysoftdeveloperAjax(options);
   
   
    function bysoftdeveloperUpdateIniContent(result){
    function bysoftdeveloperUpdateIniContent(result){
        document.getElementById('bysoftdeveloper-ini-content').innerHTML = result;
        _get('bysoftdeveloper-ini-content').innerHTML = result;
    }
    }
}
}
 
 
// classes ajax content
 
var developerClassesFormLoaded = false;
 
function bysoftdeveloperShowClassesTab(){
 
    if (developerClassesFormLoaded) {
 
        return true;
 
    }
 
    var data = {action: 'form'};
 
    var options = {url: '$bysoftdeveloperClassesUrl', data:data, callback:bysoftdeveloperUpdateClassesForm};
 
    bysoftdeveloperAjax(options);
 
    developerClassesFormLoaded = true;
 
   
 
    function bysoftdeveloperUpdateClassesForm(result) {
 
        document.getElementById('bysoftdeveloper-classes-form').innerHTML = result;
 
    }
 
}
 
function bysoftdeveloperChangeClass(){
 
    var selectedClass = document.getElementById('bysoftdeveloperSelectedClass');
 
    var selectedClass = bysoftdeveloperGetOptionValue(selectedClass);
 
   
 
    if (!selectedClass) return;
 
   
 
    var data = {action: 'content', selectedClass: selectedClass};
 
    var options = {url:'$bysoftdeveloperClassesUrl', data: data, callback: bysoftdeveloperUpdateClassesContent};
 
    bysoftdeveloperAjax(options);
 
   
 
    function bysoftdeveloperUpdateClassesContent(result){
 
        document.getElementById('bysoftdeveloper-classes-content').innerHTML = result;
 
    }
 
}
 
function bysoftdeveloperDisabledSelectOnChange(select, value){
function bysoftdeveloperDisabledSelectOnChange(select, value){
        for (var i = 0; i < select.options.length; i++) {
        for (var i = 0; i < select.options.length; i++) {
            if (select.options[i].value == value) {
            if (select.options[i].value == value) {
                select.options[i].selected = 'selected';    
                select.options[i].selected = 'selected';    
        }
        }
        }
        }
}
}
 
 
// translate utility
// custom tabs interaction begin
function bysoftdeveloperTranslate(){
$tabsInteractionHTML
    var sourceText = document.getElementById('bysoftdeveloper-translate-source').value;
// custom tabs interaction end
 
 
 
 
 
 
 
 
    sourceText = sourceText + '';
 
    sourceText = sourceText.replace(/\\&/g, '&amp;');
 
    sourceText = sourceText.replace(/\\\"/g, '&quot;');
 
    sourceText = sourceText.replace(/\\'/g, '&apos;');
 
    sourceText = sourceText.replace(/\\</g, '&lt;');
 
    sourceText = sourceText.replace(/\\>/g, '&gt;');
 
   
 
    // target
 
    document.getElementById('bysoftdeveloper-translate-result').value = sourceText;
 
}
 
</script>
</script>
EOT;
EOT;
// end of bysoft developer  
// end of bysoft developer  
            echo $outputBysoft;
            echo $outputBysoft;
        }
        }