Beispiel #1
0
                        }
                    } catch (\ErrorException $ex) {
                        // Not an image, or not a valid image?
                        $img = '-';
                    }
                    // Is there a pending record for this file?
                    $exists_pending = Database::prepare("SELECT 1 FROM `##change` WHERE status='pending' AND new_gedcom LIKE CONCAT('%\n1 FILE ', :unused_file, '\n%')")->execute(array('unused_file' => Filter::escapeLike($unused_file)))->fetchOne();
                    // Form to create new media object in each tree
                    $create_form = '';
                    if (!$exists_pending) {
                        foreach ($media_trees as $media_tree) {
                            $create_form .= '<p><a href="" onclick="window.open(\'addmedia.php?action=showmediaform&amp;ged=' . rawurlencode($media_tree) . '&amp;filename=' . rawurlencode($unused_file) . '\', \'_blank\', edit_window_specs); return false;">' . I18N::translate('Create') . '</a> — ' . Filter::escapeHtml($media_tree) . '<p>';
                        }
                    }
                    $conf = I18N::translate('Are you sure you want to delete “%s”?', Filter::escapeJs($unused_file));
                    $delete_link = '<p><a onclick="if (confirm(\'' . Filter::escapeJs($conf) . '\')) jQuery.post(\'admin_media.php\',{delete:\'' . Filter::escapeJs($media_path . $unused_file) . '\',media_folder:\'' . Filter::escapeJs($media_folder) . '\'},function(){location.reload();})" href="#">' . I18N::Translate('Delete') . '</a></p>';
                    $data[] = array(mediaFileInfo($media_folder, $media_path, $unused_file) . $delete_link, $img, $create_form);
                }
                break;
            default:
                throw new \DomainException('Invalid action');
        }
        header('Content-type: application/json');
        // See http://www.datatables.net/usage/server-side
        echo json_encode(array('draw' => Filter::getInteger('draw'), 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered, 'data' => $data));
        return;
}
/**
 * A unique list of media folders, from all trees.
 *
 * @return string[]