CheckPermission('Use Gallery') ) { echo $this->ShowErrors(lang('needpermissionto', 'Use Gallery')); return; } if( empty($params['fid']) && empty($params['imgselect']) ) { $params['module_error'] = lang('missingparams'); $this->Redirect($id,'defaultadmin','',$params); } if ( !empty($params['imgselect']) && is_array($params['imgselect']) ) { $params['imgselect'] = empty($params['imgselect']) ? '' : implode(',',array_keys($params['imgselect'])); } $fid_array = empty($params['fid']) ? explode(',', $params['imgselect']) : array($params['fid']); $fids = empty($params['fid']) ? $params['imgselect'] : $params['fid']; $gid = empty($params['gid']) ? 0 : $params['gid']; switch( $params['multiaction'] ) { case 'delete': { foreach( $fid_array as $fid ) { $fileinfo = Gallery_utils::Getgalleryinfobyid($fid); if( strpos($fileinfo['filename'],"/") === FALSE ) { // delete only one file Gallery_utils::DeleteGalleryDB('do_not_delete_directory',$fid); } else { // delete directory and files Gallery_utils::DeleteGalleryDB($fileinfo['filepath'] . $fileinfo['filename'],$fid); } } $gid = empty($params['gid']) ? $fileinfo['galleryid'] : $params['gid']; break; } case 'rotateclockwise': case 'rotateanticlockwise': { foreach( $fid_array as $fid ) { $fileinfo = Gallery_utils::Getgalleryinfobyid($fid); $image = '../' . DEFAULT_GALLERY_PATH . $fileinfo['filepath'] . $fileinfo['filename']; $degrees = $params['multiaction'] == 'rotateclockwise' ? 270 : 90; Gallery_utils::RotateImage($image, $degrees); } break; } case 'active': { $query = "UPDATE " . cms_db_prefix() . "module_gallery SET active = 1 WHERE fileid IN (" . $fids . ")"; $db->Execute($query); break; } case 'inactive': { $query = "UPDATE " . cms_db_prefix() . "module_gallery SET active = 0 WHERE fileid IN (" . $fids . ")"; $db->Execute($query); break; } case 'switchactive': { $query = "UPDATE " . cms_db_prefix() . "module_gallery SET active = active^1 WHERE fileid IN (" . $fids . ")"; $db->Execute($query); break; } case 'move': { $galleryinfo = Gallery_utils::Getgalleryinfobyid($params['moveto']); $newdir = $galleryinfo['filepath'] . $galleryinfo['filename']; foreach( $fid_array as $fid ) { if ( $fid != 1 ) { $fileinfo = Gallery_utils::Getgalleryinfobyid($fid); $newpath = '../' . DEFAULT_GALLERY_PATH . $newdir . $fileinfo['filename']; $oldpath = '../' . DEFAULT_GALLERY_PATH . $fileinfo['filepath'] . $fileinfo['filename']; if ( @rename($oldpath, $newpath) ) { if( strpos($fileinfo['filename'],"/") === FALSE ) { // move only one file, let's don't forget the thumb $newpath = '../' . DEFAULT_GALLERY_PATH . $newdir . IM_PREFIX . $fileinfo['filename']; $oldpath = '../' . DEFAULT_GALLERY_PATH . $fileinfo['filepath'] . IM_PREFIX . $fileinfo['filename']; @rename($oldpath, $newpath); $query = "UPDATE " . cms_db_prefix() . "module_gallery SET filepath = ?, galleryid = ? WHERE fileid = ?"; $db->Execute($query, array($newdir, $params['moveto'], $fid)); } else { // move directory $query = "UPDATE " . cms_db_prefix() . "module_gallery SET filepath = ?, galleryid = ? WHERE fileid = ?"; $db->Execute($query, array($newdir, $params['moveto'], $fid)); //move content $oldpath = $fileinfo['filepath'] . $fileinfo['filename']; $newpath = $newdir . $fileinfo['filename']; $query = "UPDATE " . cms_db_prefix() . "module_gallery SET filepath = REPLACE(filepath,?,?) WHERE filepath = ? OR filepath LIKE ?"; $db->Execute($query, array($oldpath, $newpath, $oldpath, $oldpath . '%')); } } } } break; } } $origaction = $params['origaction']; switch( $origaction ) { case 'editgallery': { $params = array('gid' => $gid, 'mode' => 'edit'); break; } case 'defaultadmin': { $params = array(); break; } } $this->Redirect($id, $origaction, $returnid, $params); ?>