!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)

C:\AmbienteBogota\cpg1418\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.32%)
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:     picmgr.php (15.72 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2008 Dev Team
  v1.1 originally written by Gregory DEMAR

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License version 3
  as published by the Free Software Foundation.
  
  ********************************************
  Coppermine version: 1.4.18
  $HeadURL: https://coppermine.svn.sourceforge.net/svnroot/coppermine/trunk/cpg1.4.x/picmgr.php $
  $Revision: 4380 $
  $Author: gaugau $
  $Date: 2008-04-12 12:00:19 +0200 (Sa, 12 Apr 2008) $
**********************************************/

define('IN_COPPERMINE'true);
define('PICMGR_PHP'true);

require(
'include/init.inc.php');

if (!(
GALLERY_ADMIN_MODE || USER_ADMIN_MODE)) cpg_die(ERROR$lang_errors['access_denied'], __FILE____LINE__);

function 
get_album_data()
{
    global 
$CONFIG$ALBUM_LIST;

   
$result cpg_db_query("SELECT aid, title FROM {$CONFIG['TABLE_ALBUMS']} ORDER BY title");
   if (
mysql_num_rows($result) > 0){
      
$rowset cpg_db_fetch_rowset($result);
      foreach (
$rowset as $alb){
         
$ALBUM_LIST[]=array($alb['aid'], $alb['title']);
      }
   }
}

function 
albumselect($id "album") {
// frogfoot re-wrote this function to present the list in categorized, sorted and nicely formatted order

    
global $CONFIG$lang_picmgr_php$aid$lang_errors$cpg_udb;
    static 
$select "";

    
// Reset counter
    
$list_count 0;

    if (
$select == "") {
        
// albums in root category
        
if (GALLERY_ADMIN_MODE) {
            
$result cpg_db_query("SELECT aid, title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = 0");
            while (
$row mysql_fetch_array($result)) {
                
// Add to multi-dim array for later sorting
                
$listArray[$list_count]['cat'] = $lang_search_new_php['albums_no_category'];
                
$listArray[$list_count]['aid'] = $row['aid'];
                
$listArray[$list_count]['title'] = $row['title'];
                
$list_count++;
            }
            
mysql_free_result($result);
        }

        
// albums in public categories
        
if (GALLERY_ADMIN_MODE) {
            
$result cpg_db_query("SELECT DISTINCT a.aid AS aid, a.title AS title, c.name AS cname FROM {$CONFIG['TABLE_ALBUMS']} AS a, {$CONFIG['TABLE_CATEGORIES']} AS c WHERE a.category = c.cid AND a.category < '" FIRST_USER_CAT "'");
            while (
$row mysql_fetch_array($result)) {
                
// Add to multi-dim array for later sorting
                
$listArray[$list_count]['cat'] = $row['cname'];
                
$listArray[$list_count]['aid'] = $row['aid'];
                
$listArray[$list_count]['title'] = $row['title'];
                
$list_count++;
            }
            
mysql_free_result($result);
        }

        
// albums in user's personal galleries
//        if (defined('UDB_INTEGRATION')) {
            //if (GALLERY_ADMIN_MODE) {
//                $sql = $cpg_udb->get_admin_album_list();
            /*} else {
                $sql = "SELECT aid, title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = ".(FIRST_USER_CAT + USER_ID);
            }*/
//       } else {
            
if (GALLERY_ADMIN_MODE) {
//                $sql = "SELECT aid, CONCAT('(', user_name, ') ', title) AS title " . "FROM {$CONFIG['TABLE_ALBUMS']} AS a " . "INNER JOIN {$CONFIG['TABLE_USERS']} AS u ON category = (" . FIRST_USER_CAT . " + user_id)";
                
$sql $cpg_udb->get_admin_album_list();  //it's always bridged so we no longer need to check.
            
} else {
                
$sql "SELECT aid, title AS title FROM {$CONFIG['TABLE_ALBUMS']}  WHERE category = " . (FIRST_USER_CAT USER_ID);
            }
//       }
        
$result cpg_db_query($sql);
        while (
$row mysql_fetch_array($result)) {
            
// Add to multi-dim array for later sorting
            
$listArray[$list_count]['cat'] = $lang_search_new_php['personal_albums'];
            
$listArray[$list_count]['aid'] = $row['aid'];
            
$listArray[$list_count]['title'] = $row['title'];
            
$list_count++;
        }
        
mysql_free_result($result);

        if (!
$aid) {
            
$select '<option value="0">' $lang_picmgr_php['no_album'] . "</option>\n";
        }

        
// Sort the pulldown options by category and album name
        
$listArray array_csort($listArray,'cat','title');

        
// Create the nicely sorted and formatted drop down list
        
$alb_cat '';


        foreach (
$listArray as $val) {
            if (
$val['cat'] != $alb_cat) {
          if (
$alb_cat$select .= "</optgroup>\n";
                
$select .= '<optgroup label="' $val['cat'] . '">' "\n";
                
$alb_cat $val['cat'];
            }
            
$select .= '<option value="' $val['aid'] . '"' . ($val['aid'] == $aid ' selected="selected"' '') . '>   ' $val['title'] . "</option>\n";
        }
        if (
$alb_cat$select .= "</optgroup>\n";
    }

    return 
"\n<select name=\"$id\" class=\"listbox\"  onChange=\"if(this.options[this.selectedIndex].value) window.location.href='{$_SERVER['PHP_SELF']}?aid='+this.options[this.selectedIndex].value;\" >\n$select</select>\n";
}

pageheader($lang_picmgr_php['pic_mgr']);
?>

<script language="javascript" type="text/javascript">
<!--
    function CheckPictureForm(frm)
    {
        var select_len = frm.to.length;
        var picture = new Object();
        var changed = false;

        for (i=0; i<select_len; i++) {
            picture = new parseSelectValue(frm.to, i);

            if (picture.action != '0') {
                if (picture.picture_nm == '') {
                    alert("<?php echo $lang_picmgr_php['pic_need_name'?>");
                    frm.to.options[i].selected = true;
                    return false;
                }
                changed = true;
            }
        }

        if (frm.delete_picture.value.len !=0)
            changed = true;

        if (changed) {
            if (confirm("<?php echo $lang_picmgr_php['confirm_modifs'?>")) {
                for (i=0; i<select_len; i++) {
                    picture = new parseSelectValue(frm.to, i);
                    if (picture.action != '0') {
                        frm.to.options[i].selected = true;
                    }
                }
                return true;
            }
            else
                return false;
        }
        else {
            alert("<?php echo $lang_picmgr_php['no_change'?>");
            return false;
        }
    }

    function page_init()
    {
        document.picture_menu.delete_picture.value = "";
    }
-->
</script>

<script language="javascript" type="text/javascript">
<!--
    var selectedOptIndex;

    function Picture_Select(selectedIndex)
    {
        selectedOptIndex = selectedIndex;

        for (i=0; i<document.picture_menu.to.length; i++) {
            document.picture_menu.to.options[i].selected = false;
        }
        document.picture_menu.to.options[selectedIndex].selected = true;

        var picture = new Object();
        picture = new parseSelectValue(document.picture_menu.to, selectedIndex);

        picture.deleteFrm();
        picture.changeFrm();
    }

    function Moveup_Option()
    {
        var to = document.picture_menu.to;
        var pos = selectedOptIndex;
        if (pos == 0) {
            return;
        }

        swap_option(to, pos, pos-1);
        selected_option(to, pos-1);
    }

    function Movedown_Option()
    {
        var to = document.picture_menu.to;
        var pos = selectedOptIndex;
        if (pos == to.length-1) {
            return;
        }

        swap_option(to, pos, pos+1);
        selected_option(to, pos+1);
    }


    function Picture_Delete()
    {
        var picture = new Object();
        var to = document.picture_menu.to;
        picture = new parseSelectValue(to, selectedOptIndex);

        var msg = "<?php echo $lang_picmgr_php['confirm_delete1'?>";

        if (picture.action == '1') {
            if (confirm(msg)) {
                to.options[selectedOptIndex] = null;
                document.picture_menu.picture_nm.value='';
            }
            else {
                return;
            }
        }
        else {
            msg = msg + "<?php echo $lang_picmgr_php['confirm_delete2'?>";

            if (confirm(msg)) {
                var picture = new Object();
                picture =  new parseSelectValue(to, selectedOptIndex);
                to.options[selectedOptIndex] = null;
                document.picture_menu.picture_nm.value='';

                document.picture_menu.delete_picture.value = document.picture_menu.delete_picture.value + picture.picture_no + ',';
            }
            else {
                return;
            }
        }
    }

    function make_option(text, value, target, index)
    {
        target[index] = new Option(text, value);
    }

    function move_list(target, pos)
    {
        var picture = new Object();
        var listlen = target.length;

        for (j=listlen-1; j>pos-1; j--) {
            picture = new parseSelectValue(target, j)
            if (picture.action == '1') {
                value = make_value(picture.picture_no, picture.picture_nm, Number(picture.picture_sort)+1, '1');
            }
            else {
                value = make_value(picture.picture_no, picture.picture_nm, Number(picture.picture_sort)+1, '2');
            }
            text  = target.options[j].text;

            make_option(text, value, target, j+1);
        }
    }

    function _private_update_frm_element(name)
    {
        var frm = document.picture_menu;
        frm.picture_nm.value = name;
    }

    function _private_change()
    {
        _private_update_frm_element(this.picture_nm);
    }

    function _private_delete()
    {
        _private_update_frm_element('');
    }

    function parseSelectValue(select, selectedIndex)
    {
        var temp_nm
        var option_value = select.options[selectedIndex].value;

        this.picture_no = option_value.substring(option_value.indexOf('picture_no=') + 11, option_value.indexOf(','));
        option_value = option_value.substring(option_value.indexOf(',') + 1);

        temp_nm = option_value.substring(option_value.indexOf('picture_nm=') + 11, option_value.indexOf('picture_sort=')-1);
        this.picture_nm = temp_nm.substring(1, temp_nm.length-1);
        option_value = option_value.substring(option_value.indexOf('picture_sort='));

        this.picture_sort = option_value.substring(option_value.indexOf('picture_sort=') + 13 ,option_value.indexOf(','));
        option_value = option_value.substring(option_value.indexOf(',') + 1);

        this.action = option_value.substring(option_value.indexOf('action=') + 7);

        this.changeFrm = _private_change;
        this.deleteFrm = _private_delete;

        return this;
    }

    function selected_option(target, pos)
    {
        target.options[pos].selected = true;
        Picture_Select(pos);
    }

    function swap_option(target, swap_a, swap_b)
    {
        var picture_a = new Object();
        var picture_b = new Object();

        picture_a = new parseSelectValue(target, swap_a);
        picture_b = new parseSelectValue(target, swap_b);

        if (picture_a.action == '0') picture_a.action = '2';
        if (picture_b.action == '0') picture_b.action = '2';

        var temp_option = new Option(target.options[swap_a].text, make_value(picture_a.picture_no, picture_a.picture_nm,picture_b.picture_sort,picture_a.action));
        target[swap_a] = new Option(target.options[swap_b].text, make_value(picture_b.picture_no, picture_b.picture_nm,picture_a.picture_sort,picture_b.action));
        target[swap_b] = temp_option;
    }

    function make_value(picture_no, picture_nm, picture_sort, action)
    {
        return "picture_no=" + picture_no + ",picture_nm='" + picture_nm + "',picture_sort=" + picture_sort + ",action=" + action;
    }
-->
</script>

<?php starttable("100%"$lang_picmgr_php['pic_mgr'], 1); ?>
<tr>
<?php
   $aid 
= isset($_GET['aid']) ? (int) $_GET['aid'] : 0;

   if (
GALLERY_ADMIN_MODE || USER_ADMIN_MODE) {
      
$result cpg_db_query("SELECT aid, pid, filename FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = $aid ORDER BY position ASC, pid");
//BM in case I have to fix an album      $result = cpg_db_query("SELECT aid, pid, filename FROM {$CONFIG['TABLE_PICTURES']} WHERE aid = $aid ORDER BY filename");
   
} else cpg_die(ERROR$lang_errors['perm_denied'], __FILE____LINE__);

   
$rowset cpg_db_fetch_rowset($result);
   
$i=100;
   
$sort_order '';

   if (
count ($rowset) > 0) foreach ($rowset as $picture){
      
$sort_order .= $picture['pid'].'@'.($i++).',';
   }
?>
   <form name="picture_menu" method="post" action="delete.php?what=picmgr" onSubmit="return CheckPictureForm(this);">
   <input type="hidden" name="delete_picture" value="" />
   <input type="hidden" name="sort_order" value="<?php echo $sort_order ?>" />
   <td class="tableb" valign="top" align="center">
      <br />
      <table width="300" border="0" cellspacing="0" cellpadding="0">
<?php
//Joe Ernst - Added USER_ADMIN_MODE
if (GALLERY_ADMIN_MODE || USER_ADMIN_MODE) {
        
$ALBUM_LIST = array();
        
$ALBUM_LIST[] = array(0$lang_picmgr_php['no_album']);
        
get_album_data(FIRST_USER_CAT USER_ID,'');

echo <<<EOT
      <tr>
         <td>
            <b>
{$lang_picmgr_php['select_album']}</b>
EOT;
        print 
albumselect('aid');
echo <<<EOT
         </td>
      </tr>

EOT;
}
?>
      <tr>
         <td>
            <select id="to" name="to[]" size="<?php echo min(max(count ($rowset)+3,15), 40?>" multiple onChange="Picture_Select(this.selectedIndex);" class="listbox" style="width: 300px">
<?php
   $i
=100;
   
$lb '';
   if (
count ($rowset) > 0) foreach ($rowset as $picture){
         
$lb .= '               <option value="picture_no=' $picture['pid'] .',picture_nm=\'' $picture['filename'] .'\',picture_sort=' .($i++). ',action=0">' stripslashes($picture['filename']) . "</option>\n";
   }
   echo 
$lb;
   echo <<<EOT
   </select>
         </td>
      </tr>
      <tr>
         <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
               <td><a href="javascript:Moveup_Option();"><img src="images/move_up.gif" width="26" height="21" border="0" alt="" /></a><a href="javascript:Movedown_Option();"><img src="images/move_down.gif" width="26" height="21" border="0" alt="" /></a>
               </td>
<!-- Joe Ernst: I commented this out because I can't get it to work. -->
               <td align="center" style="width: 1px;"><img src="images/spacer.gif" width="1" alt=""><br />
               </td>
            </tr>
            </table>
         </td>
      </tr>
      <tr>
         <td><br />
            <br />
         </td>
      </tr>
        </table>
   </td>
</tr>
EOT;
    if(
$CONFIG['default_sort_order'] != 'pa' && $CONFIG['default_sort_order'] != 'pd') {
    echo <<<EOT
<tr>
    <td colspan="2" align="left" class="tableh2">
        
{$lang_picmgr_php['explanation_header']}:
        <ul style="margin-top:0px;margin-bottom:0px;">
            <li>
{$lang_picmgr_php['explanation1']}</li>
            <li>
{$lang_picmgr_php['explanation2']}</li>
        </ul>
    </td>
</tr>
EOT;
     }
     echo <<<EOT
<tr>
   <td colspan="2" align="center" class="tablef">
   <input type="submit" class="button" value="
{$lang_picmgr_php['apply_modifs']}" />
   </td>
   </form>
</tr>
EOT;
   
endtable();
   
pagefooter();
   
ob_end_flush();
?>

:: 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 ]--