Ejemplo n.º 1
0
 function pmove()
 {
     global $set, $db, $apx;
     //Mehrere
     if (is_array($_REQUEST['multiid'])) {
         $_REQUEST['gid'] = (int) $_REQUEST['gid'];
         if (!$_REQUEST['gid']) {
             die('missing gallery ID!');
         }
         $ids = array_map('intval', $_REQUEST['multiid']);
         if (!count($ids)) {
             printJSRedirect(get_index('gallery.pshow'));
             return;
         }
         if ($_POST['send'] == 1) {
             if (!checkToken()) {
                 printInvalidToken();
             } elseif ($ids) {
                 require BASEDIR . 'lib/class.mediamanager.php';
                 $mm = new mediamanager();
                 $data = $db->fetch("SELECT id,thumbnail,picture FROM " . PRE . "_gallery_pics WHERE ( id IN (" . implode(',', $ids) . ") AND galid='" . $_REQUEST['gid'] . "' )");
                 if (count($data)) {
                     foreach ($data as $res) {
                         list($theid, $thumbnail, $picture) = $res;
                         $new_thumbnail = 'gallery/' . intval($_POST['newgal']) . '/' . $mm->getfile($thumbnail);
                         $new_picture = 'gallery/' . intval($_POST['newgal']) . '/' . $mm->getfile($picture);
                         $mm->movefile($thumbnail, $new_thumbnail);
                         $mm->movefile($picture, $new_picture);
                         $db->query("UPDATE " . PRE . "_gallery_pics SET galid='" . intval($_POST['newgal']) . "',thumbnail='" . addslashes($new_thumbnail) . "',picture='" . addslashes($new_picture) . "' WHERE ( id='" . $theid . "' AND galid='" . $_REQUEST['gid'] . "' ) LIMIT 1");
                         logit('GALLERY_PMOVE', 'ID #' . $theid);
                         //Gallery Updatetime
                         $this->setGalleryUpdatetime($_REQUEST['gid']);
                         $this->setGalleryUpdatetime($_POST['newgal']);
                     }
                 }
             }
             printJSRedirect(get_index('gallery.pshow'));
             return;
         }
         //Galerien auflisten
         if ($set['gallery']['subgals']) {
             $data = $this->cat->getTree(array('*'), null, section_filter(false, 'secid'));
         } else {
             $data = $db->fetch("SELECT id,title FROM " . PRE . "_gallery ORDER BY title ASC");
         }
         if (count($data)) {
             foreach ($data as $res) {
                 $space = '';
                 if ($res['level']) {
                     $space = str_repeat('  ', $res['level'] - 1);
                 }
                 $gallist .= '<option value="' . $res['id'] . '"' . iif($res['id'] == $_REQUEST['gid'], ' selected="selected"') . '>' . $space . replace($res['title']) . '</option>';
             }
         }
         $idsdata = array();
         foreach ($ids as $id) {
             $idsdata[] = array('ID' => $id);
         }
         $apx->tmpl->assign('MULTIID', $idsdata);
         $apx->tmpl->assign('GID', $_REQUEST['gid']);
         $apx->tmpl->assign('GALLIST', $gallist);
         tmessageOverlay('multi_pmove');
     } else {
         $_REQUEST['id'] = (int) $_REQUEST['id'];
         $_REQUEST['gid'] = (int) $_REQUEST['gid'];
         if (!$_REQUEST['id']) {
             die('missing ID!');
         }
         if (!$_REQUEST['gid']) {
             die('missing gallery ID!');
         }
         if ($_POST['send'] == 1) {
             if (!checkToken()) {
                 printInvalidToken();
             } else {
                 //Bild verschieben
                 if ($_POST['newgal'] != $_REQUEST['gid']) {
                     list($thumbnail, $picture) = $db->first("SELECT thumbnail,picture FROM " . PRE . "_gallery_pics WHERE ( id='" . $_REQUEST['id'] . "' AND galid='" . $_REQUEST['gid'] . "' ) LIMIT 1");
                     require BASEDIR . 'lib/class.mediamanager.php';
                     $mm = new mediamanager();
                     $new_thumbnail = 'gallery/' . intval($_POST['newgal']) . '/' . $mm->getfile($thumbnail);
                     $new_picture = 'gallery/' . intval($_POST['newgal']) . '/' . $mm->getfile($picture);
                     $mm->movefile($thumbnail, $new_thumbnail);
                     $mm->movefile($picture, $new_picture);
                     //Preview-Bild-Zuweisung löschen (falls vorhanden)
                     $db->query("UPDATE " . PRE . "_gallery SET preview='' WHERE preview='" . addslashes($thumbnail) . "'");
                     $db->query("UPDATE " . PRE . "_gallery_pics SET galid='" . intval($_POST['newgal']) . "',thumbnail='" . addslashes($new_thumbnail) . "',picture='" . addslashes($new_picture) . "' WHERE ( id='" . $_REQUEST['id'] . "' AND galid='" . $_REQUEST['gid'] . "' ) LIMIT 1");
                     logit('GALLERY_PMOVE', 'ID #' . $_REQUEST['id']);
                     //Gallery Updatetime
                     $this->setGalleryUpdatetime($_REQUEST['gid']);
                     $this->setGalleryUpdatetime($_POST['newgal']);
                 }
                 printJSRedirect('action.php?action=gallery.pshow&id=' . $_POST['newgal']);
             }
         } else {
             //Galerien auflisten
             if ($set['gallery']['subgals']) {
                 $data = $this->cat->getTree(array('*'), null, section_filter(false, 'secid'));
             } else {
                 $data = $db->fetch("SELECT id,title FROM " . PRE . "_gallery ORDER BY title ASC");
             }
             if (count($data)) {
                 foreach ($data as $res) {
                     $space = '';
                     if ($res['level']) {
                         $space = str_repeat('&nbsp;&nbsp;', $res['level'] - 1);
                     }
                     $gallist .= '<option value="' . $res['id'] . '"' . iif($res['id'] == $_REQUEST['gid'], ' selected="selected"') . '>' . $space . replace($res['title']) . '</option>';
                 }
             }
             $apx->tmpl->assign('ID', $_REQUEST['id']);
             $apx->tmpl->assign('GID', $_REQUEST['gid']);
             $apx->tmpl->assign('GALLIST', $gallist);
             tmessageOverlay('pmove');
         }
     }
 }