!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\copia nuevo\phpMyAdmin\libraries\   drwxrwxrwx
Free 1.2 GB of 239.26 GB (0.5%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     browse_foreigners.lib.php (12.05 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Contains functions used by browse_foreigners.php
 *
 * @package PhpMyAdmin
 */
if (! defined('PHPMYADMIN')) {
    exit;
}

/**
 * Function to get html for relational field selection
 *
 * @param string $db          current database
 * @param string $table       current table
 * @param string $field       field
 * @param array  $foreignData foreign column data
 * @param string $fieldkey    field key
 * @param array  $data        data
 *
 * @return string
 */
function PMA_getHtmlForRelationalFieldSelection($db$table$field$foreignData,
    
$fieldkey$data
) {
    
$gotopage PMA_getHtmlForGotoPage($foreignData);
    
$showall PMA_getHtmlForShowAll($foreignData);

    
$output '<form action="browse_foreigners.php" method="post">'
        
'<fieldset>'
        
PMA_URL_getHiddenInputs($db$table)
        . 
'<input type="hidden" name="field" value="' htmlspecialchars($field)
        . 
'" />'
        
'<input type="hidden" name="fieldkey" value="'
        
. (isset($fieldkey) ? htmlspecialchars($fieldkey) : '') . '" />';

    if (isset(
$_REQUEST['rownumber'])) {
        
$output .= '<input type="hidden" name="rownumber" value="'
            
htmlspecialchars($_REQUEST['rownumber']) . '" />';
    }
    
$output .= '<span class="formelement">'
        
'<label for="input_foreign_filter">' __('Search:') . '</label>'
        
'<input type="text" name="foreign_filter" '
        
'id="input_foreign_filter" value="'
        
. (isset($_REQUEST['foreign_filter'])
        ? 
htmlspecialchars($_REQUEST['foreign_filter'])
        : 
'')
        . 
'" />'
        
'<input type="submit" name="submit_foreign_filter" value="'
        
.  __('Go') . '" />'
        
'</span>'
        
'<span class="formelement">' $gotopage '</span>'
        
'<span class="formelement">' $showall '</span>'
        
'</fieldset>'
        
'</form>';

    
$output .= '<table width="100%">';

    if (!
is_array($foreignData['disp_row'])) {
        
$output .= '</tbody>'
            
'</table>';

        return 
$output;
    }

    
$header '<tr>
        <th>' 
__('Keyname') . '</th>
        <th>' 
__('Description') . '</th>
        <td width="20%"></td>
        <th>' 
__('Description') . '</th>
        <th>' 
__('Keyname') . '</th>
    </tr>'
;

    
$output .= '<thead>' $header '</thead>' "\n"
        
'<tfoot>' $header '</tfoot>' "\n"
        
'<tbody>' "\n";

    
$descriptions = array();
    
$keys   = array();
    foreach (
$foreignData['disp_row'] as $relrow) {
        if (
$foreignData['foreign_display'] != false) {
            
$descriptions[] = $relrow[$foreignData['foreign_display']];
        } else {
            
$descriptions[] = '';
        }

        
$keys[] = $relrow[$foreignData['foreign_field']];
    }

    
asort($keys);

    
$hcount 0;
    
$odd_row true;
    
$indexByDescription 0;

    
// whether the keyname corresponds to the selected value in the form
    
$rightKeynameIsSelected false;
    
$leftKeynameIsSelected false;

    foreach (
$keys as $indexByKeyname => $value) {
        
$hcount++;

        if (
$GLOBALS['cfg']['RepeatCells'] > 0
            
&& $hcount $GLOBALS['cfg']['RepeatCells']
        ) {
            
$output .= $header;
            
$hcount 0;
            
$odd_row true;
        }

        
// keynames and descriptions for the left section,
        // sorted by keynames
        
$leftKeyname $keys[$indexByKeyname];
        list(
            
$leftDescription,
            
$leftDescriptionTitle
        
) = PMA_getDescriptionAndTitle($descriptions[$indexByKeyname]);

        
// keynames and descriptions for the right section,
        // sorted by descriptions
        
$rightKeyname $keys[$indexByDescription];
        list(
            
$rightDescription,
            
$rightDescriptionTitle
        
) = PMA_getDescriptionAndTitle($descriptions[$indexByDescription]);

        
$indexByDescription++;

        if (! empty(
$data)) {
            
$rightKeynameIsSelected $rightKeyname == $data;
            
$leftKeynameIsSelected $leftKeyname == $data;
        }

        
$output .= '<tr class="noclick ' . ($odd_row 'odd' 'even') . '">';
        
$odd_row = ! $odd_row;

        
$output .= PMA_getHtmlForColumnElement(
            
'class="nowrap"'$leftKeynameIsSelected,
            
$leftKeyname$leftDescription,
            
$leftDescriptionTitle$field
        
);

        
$output .= PMA_getHtmlForColumnElement(
            
''$leftKeynameIsSelected$leftKeyname,
            
$leftDescription$leftDescriptionTitle$field
        
);

        
$output .= '<td width="20%">'
            
'<img src="' $GLOBALS['pmaThemeImage'] . 'spacer.png" alt=""'
            
' width="1" height="1" /></td>';

        
$output .= PMA_getHtmlForColumnElement(
            
''$rightKeynameIsSelected$leftKeyname,
            
$rightDescription$rightDescriptionTitle$field
        
);

        
$output .= PMA_getHtmlForColumnElement(
            
'class="nowrap"'$rightKeynameIsSelected,
            
$rightKeyname$rightDescription,
            
$rightDescriptionTitle$field
        
);
        
$output .= '</tr>';
    } 
// end while
    
$output .= '</tbody>'
        
'</table>';

    return 
$output;
}

/**
 * Get the description (possibly truncated) and the title
 *
 * @param string $description the keyname's description
 *
 * @return array the new description and title
 */
function PMA_getDescriptionAndTitle($description)
{
    
$pmaString $GLOBALS['PMA_String'];
    
$limitChars $GLOBALS['cfg']['LimitChars'];
    if (
$pmaString->strlen($description) <= $limitChars) {
        
$description htmlspecialchars(
            
$description
        
);
        
$descriptionTitle '';
    } else {
        
$descriptionTitle htmlspecialchars(
            
$description
        
);
        
$description htmlspecialchars(
            
$pmaString->substr(
                
$description0$limitChars
            
)
            . 
'...'
        
);
    }
    return array(
$description$descriptionTitle);
}

/**
 * Function to get html for each column element
 *
 * @param string $cssClass    class="nowrap" or ''
 * @param bool   $isSelected  whether current equals form's value
 * @param string $keyname     current key
 * @param string $description current value
 * @param string $title       current title
 * @param string $field       field
 *
 * @return string
 */
function PMA_getHtmlForColumnElement($cssClass$isSelected$keyname,
    
$description$title$field
) {
    
$output '<td ' $cssClass '>'
        
. ($isSelected '<strong>' '')
        . 
'<a href="#" title="' __('Use this value')
        . (
$title != ''
            
': ' $title
            
'')
        . 
'" onclick="formupdate(\'' md5($field) . '\', \''
        
PMA_jsFormat($keynamefalse)
        . 
'\'); return false;">';
    if (
$cssClass !== '') {
        
$output .= htmlspecialchars($keyname);
    } else {
        
$output .= $description;
    }

    
$output .=  '</a>' . ($isSelected '</strong>' '') . '</td>';

    return 
$output;
}

/**
 * Function to get javascript code to handle display selection for relational
 * field values
 *
 * @return string
 */
function PMA_getJsScriptToHandleSelectRelationalFields()
{
    
$element_name PMA_getElementName();
    
$fieldkey PMA_getFieldKey();
    
$error PMA_getJsError();
    
$code = <<<EOC
self.focus();
function formupdate(fieldmd5, key) {
    var \$inline = window.opener.jQuery('.browse_foreign_clicked');
    if (\$inline.length != 0) {
        \$inline.removeClass('browse_foreign_clicked')
            // for grid editing,
            // puts new value in the previous element which is
            // a span with class curr_value, and trigger .change()
            .prev('.curr_value').text(key).change();
        // for zoom-search editing, puts new value in the previous
        // element which is an input field
        \$inline.prev('input[type=text]').val(key);
        self.close();
        return false;
    }

    if (opener && opener.document && opener.document.insertForm) {
        var field = 'fields';
        var field_null = 'fields_null';

        
$element_name

        var element_name_alt = field + '[
$fieldkey]';

        if (opener.document.insertForm.elements[element_name]) {
            // Edit/Insert form
            opener.document.insertForm.elements[element_name].value = key;
            if (opener.document.insertForm.elements[null_name]) {
                opener.document.insertForm.elements[null_name].checked = false;
            }
            self.close();
            return false;
        } else if (opener.document.insertForm.elements[element_name_alt]) {
            // Search form
            opener.document.insertForm.elements[element_name_alt].value = key;
            self.close();
            return false;
        }
    }

    alert('
$error');
}
EOC;

    return 
$code;
}

/**
 * Function to get formatted error message for javascript
 *
 * @return string
 */
function PMA_getJsError()
{
    return 
PMA_jsFormat(
        
__(
            
'The target browser window could not be updated. '
            
'Maybe you have closed the parent window, or '
            
'your browser\'s security settings are '
            
'configured to block cross-window updates.'
        
)
    );
}

/**
 * Function to get the field key
 *
 * @return string
 */
function PMA_getFieldKey()
{
    if (! isset(
$_REQUEST['fieldkey']) || ! is_numeric($_REQUEST['fieldkey'])) {
        
$fieldkey 0;
    } else {
        
$fieldkey $_REQUEST['fieldkey'];
    }

    return 
$fieldkey;
}

/**
 * Function to get the element name
 *
 * @return string
 */
function PMA_getElementName()
{
    
// When coming from Table/Zoom search
    
if (isset($_REQUEST['fromsearch'])) {
        
// In table or zoom search, input fields are named "criteriaValues"
        
$element_name " var field = 'criteriaValues';\n";
    } else {
        
// In insert/edit, input fields are named "fields"
        
$element_name " var field = 'fields';\n";
    }

    if (isset(
$_REQUEST['rownumber'])) {
        
$element_name  .= "        var element_name = field + '[multi_edit]["
            
htmlspecialchars($_REQUEST['rownumber']) . "][' + fieldmd5 + ']';\n"
            
"        var null_name = field_null + '[multi_edit]["
            
htmlspecialchars($_REQUEST['rownumber']) . "][' + fieldmd5 + ']';\n";
    } else {
        
$element_name .= "var element_name = field + '[]'";
    }

    return 
$element_name;
}

/**
 * Function to get html for show all case
 *
 * @param array $foreignData foreign data
 *
 * @return string
 */
function PMA_getHtmlForShowAll($foreignData)
{
    
$showall '';
    if (
is_array($foreignData['disp_row'])) {
        if (
$GLOBALS['cfg']['ShowAll']
            && (
$foreignData['the_total'] > $GLOBALS['cfg']['MaxRows'])
        ) {
            
$showall '<input type="submit" name="foreign_navig" value="'
                     
__('Show all') . '" />';
        }
    }

    return 
$showall;
}

/**
 * Function to get html for the goto page option
 *
 * @param array $foreignData foreign data
 *
 * @return string
 */
function PMA_getHtmlForGotoPage($foreignData)
{
    
$gotopage '';
    isset(
$_REQUEST['pos']) ? $pos $_REQUEST['pos'] : $pos 0;
    if (!
is_array($foreignData['disp_row'])) {
        return 
$gotopage;
    }

    
$session_max_rows $GLOBALS['cfg']['MaxRows'];
    
$pageNow = @floor($pos $session_max_rows) + 1;
    
$nbTotalPage = @ceil($foreignData['the_total'] / $session_max_rows);

    if (
$foreignData['the_total'] > $GLOBALS['cfg']['MaxRows']) {
        
$gotopage PMA_Util::pageselector(
            
'pos',
            
$session_max_rows,
            
$pageNow,
            
$nbTotalPage,
            
200,
            
5,
            
5,
            
20,
            
10,
            
__('Page number:')
        );
    }

    return 
$gotopage;
}

/**
 * Function to get foreign limit
 *
 * @param string $foreign_navig foreign navigation
 *
 * @return string
 */
function PMA_getForeignLimit($foreign_navig)
{
    if (isset(
$foreign_navig) && $foreign_navig == __('Show all')) {
        return 
null;
    }
    isset(
$_REQUEST['pos']) ? $pos $_REQUEST['pos'] : $pos 0;
    return 
'LIMIT ' $pos ', ' $GLOBALS['cfg']['MaxRows'] . ' ';
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0468 ]--