18c2e8227SGreg Roach<?php 28c2e8227SGreg Roachnamespace Fisharebest\Webtrees; 38c2e8227SGreg Roach 48c2e8227SGreg Roach/** 58c2e8227SGreg Roach * webtrees: online genealogy 68c2e8227SGreg Roach * Copyright (C) 2015 webtrees development team 78c2e8227SGreg Roach * This program is free software: you can redistribute it and/or modify 88c2e8227SGreg Roach * it under the terms of the GNU General Public License as published by 98c2e8227SGreg Roach * the Free Software Foundation, either version 3 of the License, or 108c2e8227SGreg Roach * (at your option) any later version. 118c2e8227SGreg Roach * This program is distributed in the hope that it will be useful, 128c2e8227SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 138c2e8227SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 148c2e8227SGreg Roach * GNU General Public License for more details. 158c2e8227SGreg Roach * You should have received a copy of the GNU General Public License 168c2e8227SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>. 178c2e8227SGreg Roach */ 188c2e8227SGreg Roach 198c2e8227SGreg Roach/** 208c2e8227SGreg Roach * Class ClippingsCartModule 218c2e8227SGreg Roach */ 22e2a378d3SGreg Roachclass ClippingsCartModule extends AbstractModule implements ModuleMenuInterface, ModuleSidebarInterface { 238c2e8227SGreg Roach 248c2e8227SGreg Roach /** {@inheritdoc} */ 258c2e8227SGreg Roach public function getTitle() { 268c2e8227SGreg Roach return /* I18N: Name of a module */ I18N::translate('Clippings cart'); 278c2e8227SGreg Roach } 288c2e8227SGreg Roach 298c2e8227SGreg Roach /** {@inheritdoc} */ 308c2e8227SGreg Roach public function getDescription() { 318c2e8227SGreg Roach return /* I18N: Description of the “Clippings cart” module */ I18N::translate('Select records from your family tree and save them as a GEDCOM file.'); 328c2e8227SGreg Roach } 338c2e8227SGreg Roach 348c2e8227SGreg Roach /** {@inheritdoc} */ 358c2e8227SGreg Roach public function defaultAccessLevel() { 364b9ff166SGreg Roach return Auth::PRIV_USER; 378c2e8227SGreg Roach } 388c2e8227SGreg Roach 398c2e8227SGreg Roach /** {@inheritdoc} */ 408c2e8227SGreg Roach public function modAction($mod_action) { 418c2e8227SGreg Roach switch ($mod_action) { 428c2e8227SGreg Roach case 'ajax': 438c2e8227SGreg Roach $html = $this->getSidebarAjaxContent(); 448c2e8227SGreg Roach header('Content-Type: text/html; charset=UTF-8'); 458c2e8227SGreg Roach echo $html; 468c2e8227SGreg Roach break; 478c2e8227SGreg Roach case 'index': 48*31bc7874SGreg Roach global $controller, $WT_TREE; 498c2e8227SGreg Roach 508c2e8227SGreg Roach $MAX_PEDIGREE_GENERATIONS = $WT_TREE->getPreference('MAX_PEDIGREE_GENERATIONS'); 518c2e8227SGreg Roach 52*31bc7874SGreg Roach $cart = Session::get('cart'); 538c2e8227SGreg Roach $clip_ctrl = new ClippingsCart; 548c2e8227SGreg Roach 558c2e8227SGreg Roach $controller = new PageController; 568c2e8227SGreg Roach $controller 578c2e8227SGreg Roach ->setPageTitle($this->getTitle()) 588c2e8227SGreg Roach ->PageHeader() 598c2e8227SGreg Roach ->addExternalJavascript(WT_AUTOCOMPLETE_JS_URL) 608c2e8227SGreg Roach ->addInlineJavascript('autocomplete();'); 618c2e8227SGreg Roach 628c2e8227SGreg Roach echo '<script>'; 638c2e8227SGreg Roach echo 'function radAncestors(elementid) {var radFamilies=document.getElementById(elementid);radFamilies.checked=true;}'; 648c2e8227SGreg Roach echo '</script>'; 658c2e8227SGreg Roach 66*31bc7874SGreg Roach if (!$cart[$WT_TREE->getTreeId()]) { 678c2e8227SGreg Roach echo '<h2>', I18N::translate('Family tree clippings cart'), '</h2>'; 688c2e8227SGreg Roach } 698c2e8227SGreg Roach 708c2e8227SGreg Roach if ($clip_ctrl->action == 'add') { 714e3c4966SGreg Roach $record = GedcomRecord::getInstance($clip_ctrl->id, $WT_TREE); 728c2e8227SGreg Roach if ($clip_ctrl->type === 'FAM') { ?> 738c2e8227SGreg Roach <form action="module.php" method="get"> 748c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 758c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 768c2e8227SGreg Roach <input type="hidden" name="id" value="<?php echo $clip_ctrl->id; ?>"> 778c2e8227SGreg Roach <input type="hidden" name="type" value="<?php echo $clip_ctrl->type; ?>"> 784e3c4966SGreg Roach <input type="hidden" name="action" value="add1"> 794e3c4966SGreg Roach <table> 804e3c4966SGreg Roach <thead> 814e3c4966SGreg Roach <tr> 824e3c4966SGreg Roach <td class="topbottombar"> 834e3c4966SGreg Roach <?php echo I18N::translate('Add to the clippings cart'); ?> 844e3c4966SGreg Roach </td> 854e3c4966SGreg Roach </tr> 864e3c4966SGreg Roach </thead> 874e3c4966SGreg Roach <tbody> 884e3c4966SGreg Roach <tr> 894e3c4966SGreg Roach <td class="optionbox"> 904e3c4966SGreg Roach <input type="radio" name="others" value="parents"> 914e3c4966SGreg Roach <?php echo $record->getFullName(); ?> 924e3c4966SGreg Roach </td> 934e3c4966SGreg Roach </tr> 944e3c4966SGreg Roach <tr> 954e3c4966SGreg Roach <td class="optionbox"> 964e3c4966SGreg Roach <input type="radio" name="others" value="members" checked> 974e3c4966SGreg Roach <?php echo /* I18N: %s is a family (husband + wife) */ I18N::translate('%s and their children', $record->getFullName()); ?> 984e3c4966SGreg Roach </td> 994e3c4966SGreg Roach </tr> 1004e3c4966SGreg Roach <tr> 1014e3c4966SGreg Roach <td class="optionbox"> 1024e3c4966SGreg Roach <input type="radio" name="others" value="descendants"> 1034e3c4966SGreg Roach <?php echo /* I18N: %s is a family (husband + wife) */ I18N::translate('%s and their descendants', $record->getFullName()); ?> 1044e3c4966SGreg Roach </td> 1054e3c4966SGreg Roach </tr> 1064e3c4966SGreg Roach </tbody> 1074e3c4966SGreg Roach <tfoot> 1084e3c4966SGreg Roach <tr> 1094e3c4966SGreg Roach <td class="topbottombar"><input type="submit" value="<?php echo I18N::translate('continue'); ?>"> 1104e3c4966SGreg Roach </td> 1114e3c4966SGreg Roach </tr> 1124e3c4966SGreg Roach </tfoot> 1138c2e8227SGreg Roach </table> 1148c2e8227SGreg Roach </form> 1158c2e8227SGreg Roach <?php } elseif ($clip_ctrl->type === 'INDI') { ?> 1168c2e8227SGreg Roach <form action="module.php" method="get"> 1178c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 1188c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 1198c2e8227SGreg Roach <input type="hidden" name="id" value="<?php echo $clip_ctrl->id; ?>"> 1208c2e8227SGreg Roach <input type="hidden" name="type" value="<?php echo $clip_ctrl->type; ?>"> 1218c2e8227SGreg Roach <input type="hidden" name="action" value="add1"></td></tr> 1224e3c4966SGreg Roach <table> 1234e3c4966SGreg Roach <thead> 1244e3c4966SGreg Roach <tr> 1254e3c4966SGreg Roach <td class="topbottombar"> 1264e3c4966SGreg Roach <?php echo I18N::translate('Add to the clippings cart'); ?> 1274e3c4966SGreg Roach </td> 1284e3c4966SGreg Roach </tr> 1294e3c4966SGreg Roach </thead> 1304e3c4966SGreg Roach <tbody> 1314e3c4966SGreg Roach <tr> 1324e3c4966SGreg Roach <td class="optionbox"> 1334e3c4966SGreg Roach <label> 1344e3c4966SGreg Roach <input type="radio" name="others" checked value="none"> 1354e3c4966SGreg Roach <?php echo $record->getFullName(); ?> 1364e3c4966SGreg Roach </label> 1374e3c4966SGreg Roach </td> 1384e3c4966SGreg Roach </tr> 1394e3c4966SGreg Roach <tr> 1404e3c4966SGreg Roach <td class="optionbox"> 1414e3c4966SGreg Roach <label> 1424e3c4966SGreg Roach <input type="radio" name="others" value="parents"> 1434e3c4966SGreg Roach <?php 1444e3c4966SGreg Roach if ($record->getSex() === 'F') { 1454e3c4966SGreg Roach echo /* I18N: %s is a woman's name */ I18N::translate('%s, her parents and siblings', $record->getFullName()); 1464e3c4966SGreg Roach } else { 1474e3c4966SGreg Roach echo /* I18N: %s is a man's name */ I18N::translate('%s, his parents and siblings', $record->getFullName()); 1484e3c4966SGreg Roach } 1494e3c4966SGreg Roach ?> 1504e3c4966SGreg Roach </label> 1514e3c4966SGreg Roach </td> 1524e3c4966SGreg Roach </tr> 1534e3c4966SGreg Roach <tr> 1544e3c4966SGreg Roach <td class="optionbox"> 1554e3c4966SGreg Roach <label> 1564e3c4966SGreg Roach <input type="radio" name="others" value="members"> 1574e3c4966SGreg Roach <?php 1584e3c4966SGreg Roach if ($record->getSex() === 'F') { 1594e3c4966SGreg Roach echo /* I18N: %s is a woman's name */ I18N::translate('%s, her spouses and children', $record->getFullName()); 1604e3c4966SGreg Roach } else { 1614e3c4966SGreg Roach echo /* I18N: %s is a man's name */ I18N::translate('%s, his spouses and children', $record->getFullName()); 1624e3c4966SGreg Roach } 1634e3c4966SGreg Roach ?> 1644e3c4966SGreg Roach </label> 1654e3c4966SGreg Roach </td> 1664e3c4966SGreg Roach </tr> 1674e3c4966SGreg Roach <tr> 1684e3c4966SGreg Roach <td class="optionbox"> 1694e3c4966SGreg Roach <label> 1704e3c4966SGreg Roach <input type="radio" name="others" value="ancestors" id="ancestors"> 1714e3c4966SGreg Roach <?php 1724e3c4966SGreg Roach if ($record->getSex() === 'F') { 1734e3c4966SGreg Roach echo /* I18N: %s is a woman's name */ I18N::translate('%s and her ancestors', $record->getFullName()); 1744e3c4966SGreg Roach } else { 1754e3c4966SGreg Roach echo /* I18N: %s is a man's name */ I18N::translate('%s and his ancestors', $record->getFullName()); 1764e3c4966SGreg Roach } 1774e3c4966SGreg Roach ?> 1784e3c4966SGreg Roach </label> 1794e3c4966SGreg Roach <br> 1804e3c4966SGreg Roach 1814e3c4966SGreg Roach <?php echo I18N::translate('Number of generations'); ?> 1824e3c4966SGreg Roach <input type="text" size="5" name="level1" value="<?php echo $MAX_PEDIGREE_GENERATIONS; ?>" onfocus="radAncestors('ancestors');"> 1834e3c4966SGreg Roach </td> 1844e3c4966SGreg Roach </tr> 1854e3c4966SGreg Roach <tr> 1864e3c4966SGreg Roach <td class="optionbox"> 1874e3c4966SGreg Roach <label> 1884e3c4966SGreg Roach <input type="radio" name="others" value="ancestorsfamilies" id="ancestorsfamilies"> 1894e3c4966SGreg Roach <?php 1904e3c4966SGreg Roach if ($record->getSex() === 'F') { 1914e3c4966SGreg Roach echo /* I18N: %s is a woman's name */ I18N::translate('%s, her ancestors and their families', $record->getFullName()); 1924e3c4966SGreg Roach } else { 1934e3c4966SGreg Roach echo /* I18N: %s is a man's name */ I18N::translate('%s, his ancestors and their families', $record->getFullName()); 1944e3c4966SGreg Roach } 1954e3c4966SGreg Roach ?> 1964e3c4966SGreg Roach </label> 1974e3c4966SGreg Roach <br > 1984e3c4966SGreg Roach 1994e3c4966SGreg Roach <?php echo I18N::translate('Number of generations'); ?> 2004e3c4966SGreg Roach <input type="text" size="5" name="level2" value="<?php echo $MAX_PEDIGREE_GENERATIONS; ?>" onfocus="radAncestors('ancestorsfamilies');"> 2014e3c4966SGreg Roach </td> 2024e3c4966SGreg Roach </tr> 2034e3c4966SGreg Roach <tr> 2044e3c4966SGreg Roach <td class="optionbox"> 2054e3c4966SGreg Roach <label> 2064e3c4966SGreg Roach <input type="radio" name="others" value="descendants" id="descendants"> 2074e3c4966SGreg Roach <?php 2084e3c4966SGreg Roach if ($record->getSex() === 'F') { 2094e3c4966SGreg Roach echo /* I18N: %s is a woman's name */ I18N::translate('%s, her spouses and descendants', $record->getFullName()); 2104e3c4966SGreg Roach } else { 2114e3c4966SGreg Roach echo /* I18N: %s is a man's name */ I18N::translate('%s, his spouses and descendants', $record->getFullName()); 2124e3c4966SGreg Roach } 2134e3c4966SGreg Roach ?> 2144e3c4966SGreg Roach </label> 2154e3c4966SGreg Roach <br > 2164e3c4966SGreg Roach 2174e3c4966SGreg Roach <?php echo I18N::translate('Number of generations'); ?> 2184e3c4966SGreg Roach <input type="text" size="5" name="level3" value="<?php echo $MAX_PEDIGREE_GENERATIONS; ?>" onfocus="radAncestors('descendants');"> 2194e3c4966SGreg Roach </td> 2204e3c4966SGreg Roach </tr> 2214e3c4966SGreg Roach </tbody> 2224e3c4966SGreg Roach <tfoot> 2234e3c4966SGreg Roach <tr> 2244e3c4966SGreg Roach <td class="topbottombar"> 2254e3c4966SGreg Roach <input type="submit" value="<?php echo I18N::translate('continue'); ?>"> 2264e3c4966SGreg Roach </td> 2274e3c4966SGreg Roach </tr> 2284e3c4966SGreg Roach </tfoot> 2298c2e8227SGreg Roach </table> 2308c2e8227SGreg Roach </form> 2318c2e8227SGreg Roach <?php } elseif ($clip_ctrl->type === 'SOUR') { ?> 2328c2e8227SGreg Roach <form action="module.php" method="get"> 2338c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 2348c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 2358c2e8227SGreg Roach <input type="hidden" name="id" value="<?php echo $clip_ctrl->id; ?>"> 2368c2e8227SGreg Roach <input type="hidden" name="type" value="<?php echo $clip_ctrl->type; ?>"> 2378c2e8227SGreg Roach <input type="hidden" name="action" value="add1"></td></tr> 2384e3c4966SGreg Roach <table> 2394e3c4966SGreg Roach <thead> 2404e3c4966SGreg Roach <tr> 2414e3c4966SGreg Roach <td class="topbottombar"> 2424e3c4966SGreg Roach <?php echo I18N::translate('Add to the clippings cart'); ?> 2434e3c4966SGreg Roach </td> 2444e3c4966SGreg Roach </tr> 2454e3c4966SGreg Roach </thead> 2464e3c4966SGreg Roach <tbody> 2474e3c4966SGreg Roach <tr> 2484e3c4966SGreg Roach <td class="optionbox"> 2494e3c4966SGreg Roach <label> 2504e3c4966SGreg Roach <input type="radio" name="others" checked value="none"> 2514e3c4966SGreg Roach <?php echo $record->getFullName(); ?> 2524e3c4966SGreg Roach </label> 2534e3c4966SGreg Roach </td> 2544e3c4966SGreg Roach </tr> 2554e3c4966SGreg Roach <tr> 2564e3c4966SGreg Roach <td class="optionbox"> 2574e3c4966SGreg Roach <label> 2584e3c4966SGreg Roach <input type="radio" name="others" value="linked"> 2594e3c4966SGreg Roach <?php echo /* I18N: %s is the name of a source */ I18N::translate('%s and the individuals that reference it.', $record->getFullName()); ?> 2604e3c4966SGreg Roach </label> 2614e3c4966SGreg Roach </td> 2624e3c4966SGreg Roach </tr> 2634e3c4966SGreg Roach </tbody> 2644e3c4966SGreg Roach <tfoot> 2654e3c4966SGreg Roach <tr> 2664e3c4966SGreg Roach <td class="topbottombar"> 2674e3c4966SGreg Roach <input type="submit" value="<?php echo I18N::translate('continue'); ?>"> 2684e3c4966SGreg Roach </td> 2694e3c4966SGreg Roach </tr> 2704e3c4966SGreg Roach </tfoot> 2718c2e8227SGreg Roach </table> 2728c2e8227SGreg Roach </form> 2738c2e8227SGreg Roach <?php } 2748c2e8227SGreg Roach } 2758c2e8227SGreg Roach 276*31bc7874SGreg Roach if (!$cart[$WT_TREE->getTreeId()]) { 2778c2e8227SGreg Roach if ($clip_ctrl->action != 'add') { 2788c2e8227SGreg Roach echo I18N::translate('The clippings cart allows you to take extracts (“clippings”) from this family tree and bundle them up into a single file for downloading and subsequent importing into your own genealogy program. The downloadable file is recorded in GEDCOM format.<br><ul><li>How to take clippings?<br>This is really simple. Whenever you see a clickable name (individual, family, or source) you can go to the Details page of that name. There you will see the <b>Add to clippings cart</b> option. When you click that link you will be offered several options to download.</li><li>How to download?<br>Once you have items in your cart, you can download them just by clicking the “Download” link. Follow the instructions and links.</li></ul>'); 2798c2e8227SGreg Roach ?> 2808c2e8227SGreg Roach <form method="get" name="addin" action="module.php"> 2818c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 2828c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 2838c2e8227SGreg Roach <table> 2844e3c4966SGreg Roach <thead> 2858c2e8227SGreg Roach <tr> 2864e3c4966SGreg Roach <td colspan="2" class="topbottombar"> 2874e3c4966SGreg Roach <?php echo I18N::translate('Add to the clippings cart'); ?> 2888c2e8227SGreg Roach </td> 2898c2e8227SGreg Roach </tr> 2904e3c4966SGreg Roach </thead> 2914e3c4966SGreg Roach <tbody> 2928c2e8227SGreg Roach <tr> 2938c2e8227SGreg Roach <td class="optionbox"> 2948c2e8227SGreg Roach <input type="hidden" name="action" value="add"> 2958c2e8227SGreg Roach <input type="text" data-autocomplete-type="IFSRO" name="id" id="cart_item_id" size="5"> 2968c2e8227SGreg Roach </td> 2978c2e8227SGreg Roach <td class="optionbox"> 2988c2e8227SGreg Roach <?php echo print_findindi_link('cart_item_id'); ?> 2998c2e8227SGreg Roach <?php echo print_findfamily_link('cart_item_id'); ?> 3008c2e8227SGreg Roach <?php echo print_findsource_link('cart_item_id', ''); ?> 3018c2e8227SGreg Roach <input type="submit" value="<?php echo I18N::translate('Add'); ?>"> 3028c2e8227SGreg Roach </td> 3038c2e8227SGreg Roach </tr> 3044e3c4966SGreg Roach </tbody> 3058c2e8227SGreg Roach </table> 3068c2e8227SGreg Roach </form> 3078c2e8227SGreg Roach <?php 3088c2e8227SGreg Roach } 3098c2e8227SGreg Roach 3108c2e8227SGreg Roach // -- end new lines 3118c2e8227SGreg Roach echo I18N::translate('Your clippings cart is empty.'); 3128c2e8227SGreg Roach } else { 3138c2e8227SGreg Roach // Keep track of the INDI from the parent page, otherwise it will 3148c2e8227SGreg Roach // get lost after ajax updates 3158c2e8227SGreg Roach $pid = Filter::get('pid', WT_REGEX_XREF); 3168c2e8227SGreg Roach 3178c2e8227SGreg Roach if ($clip_ctrl->action != 'download' && $clip_ctrl->action != 'add') { ?> 3188c2e8227SGreg Roach <table><tr><td class="width33" valign="top" rowspan="3"> 3198c2e8227SGreg Roach <form method="get" action="module.php"> 3208c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 3218c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 3228c2e8227SGreg Roach <input type="hidden" name="action" value="download"> 3238c2e8227SGreg Roach <input type="hidden" name="pid" value="<?php echo $pid; ?>"> 3248c2e8227SGreg Roach <table> 3258c2e8227SGreg Roach <tr><td colspan="2" class="topbottombar"><h2><?php echo I18N::translate('Download'); ?></h2></td></tr> 3266fd6cde8SGreg Roach <tr> 3276fd6cde8SGreg Roach <td class="descriptionbox width50 wrap"> 3286fd6cde8SGreg Roach <?php echo I18N::translate('To reduce the size of the download, you can compress the data into a .ZIP file. You will need to uncompress the .ZIP file before you can use it.'); ?> 3296fd6cde8SGreg Roach </td> 3306fd6cde8SGreg Roach <td class="optionbox wrap"> 3316fd6cde8SGreg Roach <input type="checkbox" name="Zip" value="yes"> 3326fd6cde8SGreg Roach <?php echo I18N::translate('Zip file(s)'); ?> 3336fd6cde8SGreg Roach </td> 3346fd6cde8SGreg Roach </tr> 3356fd6cde8SGreg Roach <tr> 3366fd6cde8SGreg Roach <td class="descriptionbox width50 wrap"> 337d1928687SGreg Roach <?php echo I18N::translate('Include media (automatically zips files)'); ?> 3386fd6cde8SGreg Roach </td> 3398c2e8227SGreg Roach <td class="optionbox"><input type="checkbox" name="IncludeMedia" value="yes"></td></tr> 3408c2e8227SGreg Roach 3414b9ff166SGreg Roach <?php if (Auth::isManager($WT_TREE)) { ?> 342d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap"><?php echo I18N::translate('Apply privacy settings'); ?></td> 3438c2e8227SGreg Roach <td class="optionbox"> 3448c2e8227SGreg Roach <input type="radio" name="privatize_export" value="none" checked> <?php echo I18N::translate('None'); ?><br> 3458c2e8227SGreg Roach <input type="radio" name="privatize_export" value="gedadmin"> <?php echo I18N::translate('Manager'); ?><br> 3468c2e8227SGreg Roach <input type="radio" name="privatize_export" value="user"> <?php echo I18N::translate('Member'); ?><br> 3478c2e8227SGreg Roach <input type="radio" name="privatize_export" value="visitor"> <?php echo I18N::translate('Visitor'); ?> 3488c2e8227SGreg Roach </td></tr> 3494b9ff166SGreg Roach <?php } elseif (Auth::isMember($WT_TREE)) { ?> 350d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap"><?php echo I18N::translate('Apply privacy settings'); ?></td> 3518c2e8227SGreg Roach <td class="optionbox"> 3528c2e8227SGreg Roach <input type="radio" name="privatize_export" value="user" checked> <?php echo I18N::translate('Member'); ?><br> 3538c2e8227SGreg Roach <input type="radio" name="privatize_export" value="visitor"> <?php echo I18N::translate('Visitor'); ?> 3548c2e8227SGreg Roach </td></tr> 3558c2e8227SGreg Roach <?php } ?> 3568c2e8227SGreg Roach 357d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap"><?php echo I18N::translate('Convert from UTF-8 to ISO-8859-1'); ?></td> 3588c2e8227SGreg Roach <td class="optionbox"><input type="checkbox" name="convert" value="yes"></td></tr> 3598c2e8227SGreg Roach 360d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap"><?php echo I18N::translate('Add the GEDCOM media path to filenames'); ?></td> 3618c2e8227SGreg Roach <td class="optionbox"> 3628c2e8227SGreg Roach <input type="checkbox" name="conv_path" value="<?php echo Filter::escapeHtml($WT_TREE->getPreference('GEDCOM_MEDIA_PATH')); ?>"> 3638c2e8227SGreg Roach <span dir="auto"><?php echo Filter::escapeHtml($WT_TREE->getPreference('GEDCOM_MEDIA_PATH')); ?></span> 3648c2e8227SGreg Roach </td></tr> 3658c2e8227SGreg Roach 3668c2e8227SGreg Roach <tr><td class="topbottombar" colspan="2"> 3678c2e8227SGreg Roach <input type="submit" value="<?php echo I18N::translate('Download'); ?>"> 3688c2e8227SGreg Roach </form> 3698c2e8227SGreg Roach </td></tr> 3708c2e8227SGreg Roach </table> 3718c2e8227SGreg Roach </td></tr> 3728c2e8227SGreg Roach </table> 3738c2e8227SGreg Roach <br> 3748c2e8227SGreg Roach 3758c2e8227SGreg Roach <form method="get" name="addin" action="module.php"> 3768c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 3778c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 3788c2e8227SGreg Roach <table> 3794e3c4966SGreg Roach <thead> 3808c2e8227SGreg Roach <tr> 3818c2e8227SGreg Roach <td colspan="2" class="topbottombar" style="text-align:center; "> 3824e3c4966SGreg Roach <?php echo I18N::translate('Add to the clippings cart'); ?> 3838c2e8227SGreg Roach </td> 3848c2e8227SGreg Roach </tr> 3854e3c4966SGreg Roach </thead> 3864e3c4966SGreg Roach <tbody> 3878c2e8227SGreg Roach <tr> 3888c2e8227SGreg Roach <td class="optionbox"> 3898c2e8227SGreg Roach <input type="hidden" name="action" value="add"> 3908c2e8227SGreg Roach <input type="text" data-autocomplete-type="IFSRO" name="id" id="cart_item_id" size="8"> 3918c2e8227SGreg Roach </td> 3928c2e8227SGreg Roach <td class="optionbox"> 3938c2e8227SGreg Roach <?php echo print_findindi_link('cart_item_id'); ?> 3948c2e8227SGreg Roach <?php echo print_findfamily_link('cart_item_id'); ?> 3958c2e8227SGreg Roach <?php echo print_findsource_link('cart_item_id'); ?> 3968c2e8227SGreg Roach <input type="submit" value="<?php echo I18N::translate('Add'); ?>"> 3978c2e8227SGreg Roach </td> 3988c2e8227SGreg Roach </tr> 3994e3c4966SGreg Roach </tbody> 4008c2e8227SGreg Roach </table> 4018c2e8227SGreg Roach </form> 4028c2e8227SGreg Roach 4038c2e8227SGreg Roach 4048c2e8227SGreg Roach <?php } ?> 4058c2e8227SGreg Roach <br><a href="module.php?mod=clippings&mod_action=index&action=empty"><?php echo I18N::translate('Empty the clippings cart'); ?></a> 4068c2e8227SGreg Roach </td></tr> 4078c2e8227SGreg Roach 4088c2e8227SGreg Roach <tr><td class="topbottombar"><h2><?php echo I18N::translate('Family tree clippings cart'); ?></h2></td></tr> 4098c2e8227SGreg Roach 4108c2e8227SGreg Roach <tr><td valign="top"> 4118c2e8227SGreg Roach <table id="mycart" class="sortable list_table width100"> 4128c2e8227SGreg Roach <tr> 4138c2e8227SGreg Roach <th class="list_label"><?php echo I18N::translate('Record'); ?></th> 4148c2e8227SGreg Roach <th class="list_label"><?php echo I18N::translate('Remove'); ?></th> 4158c2e8227SGreg Roach </tr> 4168c2e8227SGreg Roach <?php 417*31bc7874SGreg Roach foreach (array_keys($cart[$WT_TREE->getTreeId()]) as $xref) { 41824ec66ceSGreg Roach $record = GedcomRecord::getInstance($xref, $WT_TREE); 4198c2e8227SGreg Roach if ($record) { 4208c2e8227SGreg Roach switch ($record::RECORD_TYPE) { 4218c2e8227SGreg Roach case 'INDI': $icon = 'icon-indis'; break; 4228c2e8227SGreg Roach case 'FAM': $icon = 'icon-sfamily'; break; 4238c2e8227SGreg Roach case 'SOUR': $icon = 'icon-source'; break; 4248c2e8227SGreg Roach case 'REPO': $icon = 'icon-repository'; break; 4258c2e8227SGreg Roach case 'NOTE': $icon = 'icon-note'; break; 4268c2e8227SGreg Roach case 'OBJE': $icon = 'icon-media'; break; 4278c2e8227SGreg Roach default: $icon = 'icon-clippings'; break; 4288c2e8227SGreg Roach } 4298c2e8227SGreg Roach ?> 4308c2e8227SGreg Roach <tr><td class="list_value"> 4318c2e8227SGreg Roach <i class="<?php echo $icon; ?>"></i> 4328c2e8227SGreg Roach <?php 4338c2e8227SGreg Roach echo '<a href="', $record->getHtmlUrl(), '">', $record->getFullName(), '</a>'; 4348c2e8227SGreg Roach ?> 4358c2e8227SGreg Roach </td> 4368c2e8227SGreg Roach <td class="list_value center vmiddle"><a href="module.php?mod=clippings&mod_action=index&action=remove&id=<?php echo $xref; ?>" class="icon-remove" title="<?php echo I18N::translate('Remove'); ?>"></a></td> 4378c2e8227SGreg Roach </tr> 4388c2e8227SGreg Roach <?php 4398c2e8227SGreg Roach } 4408c2e8227SGreg Roach } 4418c2e8227SGreg Roach ?> 4428c2e8227SGreg Roach </table> 4438c2e8227SGreg Roach </td></tr></table> 4448c2e8227SGreg Roach <?php 4458c2e8227SGreg Roach } 4468c2e8227SGreg Roach break; 4478c2e8227SGreg Roach default: 4488c2e8227SGreg Roach http_response_code(404); 4498c2e8227SGreg Roach break; 4508c2e8227SGreg Roach } 4518c2e8227SGreg Roach } 4528c2e8227SGreg Roach 4538c2e8227SGreg Roach /** {@inheritdoc} */ 4548c2e8227SGreg Roach public function defaultMenuOrder() { 4558c2e8227SGreg Roach return 20; 4568c2e8227SGreg Roach } 4578c2e8227SGreg Roach 4588c2e8227SGreg Roach /** {@inheritdoc} */ 4598c2e8227SGreg Roach public function getMenu() { 4604b9ff166SGreg Roach global $controller, $WT_TREE; 4618c2e8227SGreg Roach 4628c2e8227SGreg Roach if (Auth::isSearchEngine()) { 4638c2e8227SGreg Roach return null; 4648c2e8227SGreg Roach } 4658c2e8227SGreg Roach //-- main clippings menu item 4664b9ff166SGreg Roach $menu = new Menu($this->getTitle(), 'module.php?mod=clippings&mod_action=index&ged=' . $WT_TREE->getNameUrl(), 'menu-clippings'); 4678c2e8227SGreg Roach if (isset($controller->record)) { 4684b9ff166SGreg Roach $submenu = new Menu($this->getTitle(), 'module.php?mod=clippings&mod_action=index&ged=' . $WT_TREE->getNameUrl(), 'menu-clippingscart'); 4698c2e8227SGreg Roach $menu->addSubmenu($submenu); 4708c2e8227SGreg Roach } 4718c2e8227SGreg Roach if (!empty($controller->record) && $controller->record->canShow()) { 4724e3c4966SGreg Roach $submenu = new Menu(I18N::translate('Add to the clippings cart'), 'module.php?mod=clippings&mod_action=index&action=add&id=' . $controller->record->getXref(), 'menu-clippingsadd'); 4738c2e8227SGreg Roach $menu->addSubmenu($submenu); 4748c2e8227SGreg Roach } 4758c2e8227SGreg Roach return $menu; 4768c2e8227SGreg Roach } 4778c2e8227SGreg Roach 4788c2e8227SGreg Roach /** {@inheritdoc} */ 4798c2e8227SGreg Roach public function defaultSidebarOrder() { 4808c2e8227SGreg Roach return 60; 4818c2e8227SGreg Roach } 4828c2e8227SGreg Roach 4838c2e8227SGreg Roach /** {@inheritdoc} */ 4848c2e8227SGreg Roach public function hasSidebarContent() { 4858c2e8227SGreg Roach if (Auth::isSearchEngine()) { 4868c2e8227SGreg Roach return false; 4878c2e8227SGreg Roach } else { 4888c2e8227SGreg Roach // Creating a controller has the side effect of initialising the cart 4898c2e8227SGreg Roach new ClippingsCart; 4908c2e8227SGreg Roach 4918c2e8227SGreg Roach return true; 4928c2e8227SGreg Roach } 4938c2e8227SGreg Roach } 4948c2e8227SGreg Roach 4958c2e8227SGreg Roach /** {@inheritdoc} */ 4968c2e8227SGreg Roach public function getSidebarContent() { 4978c2e8227SGreg Roach global $controller; 4988c2e8227SGreg Roach 4998c2e8227SGreg Roach $controller->addInlineJavascript(' 5008c2e8227SGreg Roach jQuery("#sb_clippings_content").on("click", ".add_cart, .remove_cart", function() { 5018c2e8227SGreg Roach jQuery("#sb_clippings_content").load(this.href); 5028c2e8227SGreg Roach return false; 5038c2e8227SGreg Roach }); 5048c2e8227SGreg Roach '); 5058c2e8227SGreg Roach 5068c2e8227SGreg Roach return '<div id="sb_clippings_content">' . $this->getCartList() . '</div>'; 5078c2e8227SGreg Roach } 5088c2e8227SGreg Roach 5098c2e8227SGreg Roach /** {@inheritdoc} */ 5108c2e8227SGreg Roach public function getSidebarAjaxContent() { 511*31bc7874SGreg Roach global $WT_TREE; 512*31bc7874SGreg Roach 513*31bc7874SGreg Roach $cart = Session::get('cart'); 5148c2e8227SGreg Roach 5158c2e8227SGreg Roach $clip_ctrl = new ClippingsCart; 5168c2e8227SGreg Roach $add = Filter::get('add', WT_REGEX_XREF); 5178c2e8227SGreg Roach $add1 = Filter::get('add1', WT_REGEX_XREF); 5188c2e8227SGreg Roach $remove = Filter::get('remove', WT_REGEX_XREF); 5198c2e8227SGreg Roach $others = Filter::get('others'); 5208c2e8227SGreg Roach $clip_ctrl->level1 = Filter::getInteger('level1'); 5218c2e8227SGreg Roach $clip_ctrl->level2 = Filter::getInteger('level2'); 5228c2e8227SGreg Roach $clip_ctrl->level3 = Filter::getInteger('level3'); 5238c2e8227SGreg Roach if ($add) { 52424ec66ceSGreg Roach $record = GedcomRecord::getInstance($add, $WT_TREE); 5258c2e8227SGreg Roach if ($record) { 5268c2e8227SGreg Roach $clip_ctrl->id = $record->getXref(); 5278c2e8227SGreg Roach $clip_ctrl->type = $record::RECORD_TYPE; 5288c2e8227SGreg Roach $clip_ctrl->addClipping($record); 5298c2e8227SGreg Roach } 5308c2e8227SGreg Roach } elseif ($add1) { 53124ec66ceSGreg Roach $record = Individual::getInstance($add1, $WT_TREE); 5328c2e8227SGreg Roach if ($record) { 5338c2e8227SGreg Roach $clip_ctrl->id = $record->getXref(); 5348c2e8227SGreg Roach $clip_ctrl->type = $record::RECORD_TYPE; 5358c2e8227SGreg Roach if ($others == 'parents') { 5368c2e8227SGreg Roach foreach ($record->getChildFamilies() as $family) { 5378c2e8227SGreg Roach $clip_ctrl->addClipping($family); 5388c2e8227SGreg Roach $clip_ctrl->addFamilyMembers($family); 5398c2e8227SGreg Roach } 5408c2e8227SGreg Roach } elseif ($others == 'ancestors') { 5418c2e8227SGreg Roach $clip_ctrl->addAncestorsToCart($record, $clip_ctrl->level1); 5428c2e8227SGreg Roach } elseif ($others == 'ancestorsfamilies') { 5438c2e8227SGreg Roach $clip_ctrl->addAncestorsToCartFamilies($record, $clip_ctrl->level2); 5448c2e8227SGreg Roach } elseif ($others == 'members') { 5458c2e8227SGreg Roach foreach ($record->getSpouseFamilies() as $family) { 5468c2e8227SGreg Roach $clip_ctrl->addClipping($family); 5478c2e8227SGreg Roach $clip_ctrl->addFamilyMembers($family); 5488c2e8227SGreg Roach } 5498c2e8227SGreg Roach } elseif ($others == 'descendants') { 5508c2e8227SGreg Roach foreach ($record->getSpouseFamilies() as $family) { 5518c2e8227SGreg Roach $clip_ctrl->addClipping($family); 5528c2e8227SGreg Roach $clip_ctrl->addFamilyDescendancy($family, $clip_ctrl->level3); 5538c2e8227SGreg Roach } 5548c2e8227SGreg Roach } 5558c2e8227SGreg Roach } 5568c2e8227SGreg Roach } elseif ($remove) { 557*31bc7874SGreg Roach unset ($cart[$WT_TREE->getTreeId()][$remove]); 558*31bc7874SGreg Roach Session::put('cart', $cart); 5598c2e8227SGreg Roach } elseif (isset($_REQUEST['empty'])) { 560*31bc7874SGreg Roach $cart[$WT_TREE->getTreeId()] = array(); 561*31bc7874SGreg Roach Session::put('cart', $cart); 5628c2e8227SGreg Roach } elseif (isset($_REQUEST['download'])) { 5638c2e8227SGreg Roach return $this->downloadForm($clip_ctrl); 5648c2e8227SGreg Roach } 565*31bc7874SGreg Roach 5668c2e8227SGreg Roach return $this->getCartList(); 5678c2e8227SGreg Roach } 5688c2e8227SGreg Roach 5698c2e8227SGreg Roach /** 5708c2e8227SGreg Roach * A list for the side bar. 5718c2e8227SGreg Roach * 5728c2e8227SGreg Roach * @return string 5738c2e8227SGreg Roach */ 5748c2e8227SGreg Roach public function getCartList() { 575*31bc7874SGreg Roach global $WT_TREE; 5768c2e8227SGreg Roach 577*31bc7874SGreg Roach $cart = Session::get('cart', array()); 578*31bc7874SGreg Roach if (!array_key_exists($WT_TREE->getTreeId(), $cart)) { 579*31bc7874SGreg Roach $cart[$WT_TREE->getTreeId()] = array(); 580*31bc7874SGreg Roach } 5818c2e8227SGreg Roach $pid = Filter::get('pid', WT_REGEX_XREF); 5828c2e8227SGreg Roach 583*31bc7874SGreg Roach if (!$cart[$WT_TREE->getTreeId()]) { 5848c2e8227SGreg Roach $out = I18N::translate('Your clippings cart is empty.'); 5858c2e8227SGreg Roach } else { 5868c2e8227SGreg Roach $out = '<ul>'; 587*31bc7874SGreg Roach foreach (array_keys($cart[$WT_TREE->getTreeId()]) as $xref) { 58824ec66ceSGreg Roach $record = GedcomRecord::getInstance($xref, $WT_TREE); 5898c2e8227SGreg Roach if ($record instanceof Individual || $record instanceof Family) { 5908c2e8227SGreg Roach switch ($record::RECORD_TYPE) { 5918c2e8227SGreg Roach case 'INDI': 5928c2e8227SGreg Roach $icon = 'icon-indis'; 5938c2e8227SGreg Roach break; 5948c2e8227SGreg Roach case 'FAM': 5958c2e8227SGreg Roach $icon = 'icon-sfamily'; 5968c2e8227SGreg Roach break; 5978c2e8227SGreg Roach } 5988c2e8227SGreg Roach $out .= '<li>'; 5998c2e8227SGreg Roach if (!empty($icon)) { 6008c2e8227SGreg Roach $out .= '<i class="' . $icon . '"></i>'; 6018c2e8227SGreg Roach } 6028c2e8227SGreg Roach $out .= '<a href="' . $record->getHtmlUrl() . '">'; 6038c2e8227SGreg Roach if ($record instanceof Individual) { 6048c2e8227SGreg Roach $out .= $record->getSexImage(); 6058c2e8227SGreg Roach } 6068c2e8227SGreg Roach $out .= ' ' . $record->getFullName() . ' '; 6078c2e8227SGreg Roach if ($record instanceof Individual && $record->canShow()) { 6088c2e8227SGreg Roach $out .= ' (' . $record->getLifeSpan() . ')'; 6098c2e8227SGreg Roach } 6108c2e8227SGreg Roach $out .= '</a>'; 6118c2e8227SGreg Roach $out .= '<a class="icon-remove remove_cart" href="module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=clippings&remove=' . $xref . '&pid=' . $pid . '" title="' . I18N::translate('Remove') . '"></a>'; 6128c2e8227SGreg Roach $out .= '</li>'; 6138c2e8227SGreg Roach } 6148c2e8227SGreg Roach } 6158c2e8227SGreg Roach $out .= '</ul>'; 6168c2e8227SGreg Roach } 6178c2e8227SGreg Roach 618*31bc7874SGreg Roach if ($cart[$WT_TREE->getTreeId()]) { 6198c2e8227SGreg Roach $out .= 6208c2e8227SGreg Roach '<br><a href="module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=clippings&empty=true&pid=' . $pid . '" class="remove_cart">' . 6218c2e8227SGreg Roach I18N::translate('Empty the clippings cart') . 6228c2e8227SGreg Roach '</a>' . 6238c2e8227SGreg Roach '<br>' . 6248c2e8227SGreg Roach '<a href="module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=clippings&download=true&pid=' . $pid . '" class="add_cart">' . 6258c2e8227SGreg Roach I18N::translate('Download') . 6268c2e8227SGreg Roach '</a>'; 6278c2e8227SGreg Roach } 62824ec66ceSGreg Roach $record = Individual::getInstance($pid, $WT_TREE); 629*31bc7874SGreg Roach if ($record && !array_key_exists($record->getXref(), $cart[$WT_TREE->getTreeId()])) { 6308c2e8227SGreg Roach $out .= '<br><a href="module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=clippings&add=' . $pid . '&pid=' . $pid . '" class="add_cart"><i class="icon-clippings"></i> ' . I18N::translate('Add %s to the clippings cart', $record->getFullName()) . '</a>'; 6318c2e8227SGreg Roach } 6328c2e8227SGreg Roach return $out; 6338c2e8227SGreg Roach } 6348c2e8227SGreg Roach 6358c2e8227SGreg Roach /** 6368c2e8227SGreg Roach * @param ClippingsCart $clip_ctrl 6378c2e8227SGreg Roach * 6388c2e8227SGreg Roach * @return string 6398c2e8227SGreg Roach */ 6408c2e8227SGreg Roach public function downloadForm(ClippingsCart $clip_ctrl) { 6418c2e8227SGreg Roach global $WT_TREE; 6428c2e8227SGreg Roach 6438c2e8227SGreg Roach $pid = Filter::get('pid', WT_REGEX_XREF); 6448c2e8227SGreg Roach 6458c2e8227SGreg Roach $out = '<script>'; 6468c2e8227SGreg Roach $out .= 'function cancelDownload() { 6478c2e8227SGreg Roach var link = "module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=clippings&pid=' . $pid . '"; 6488c2e8227SGreg Roach jQuery("#sb_clippings_content").load(link); 6498c2e8227SGreg Roach }'; 6508c2e8227SGreg Roach $out .= '</script>'; 6518c2e8227SGreg Roach $out .= '<form method="get" action="module.php"> 6528c2e8227SGreg Roach <input type="hidden" name="mod" value="clippings"> 6538c2e8227SGreg Roach <input type="hidden" name="mod_action" value="index"> 6548c2e8227SGreg Roach <input type="hidden" name="pid" value="' .$pid . '"> 6558c2e8227SGreg Roach <input type="hidden" name="action" value="download"> 6568c2e8227SGreg Roach <table> 6578c2e8227SGreg Roach <tr><td colspan="2" class="topbottombar"><h2>'. I18N::translate('Download') . '</h2></td></tr> 6586fd6cde8SGreg Roach <tr><td class="descriptionbox width50 wrap">'. I18N::translate('Zip file(s)') . '</td> 6598c2e8227SGreg Roach <td class="optionbox"><input type="checkbox" name="Zip" value="yes" checked></td></tr> 6608c2e8227SGreg Roach 661d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap">'. I18N::translate('Include media (automatically zips files)') . '</td> 6628c2e8227SGreg Roach <td class="optionbox"><input type="checkbox" name="IncludeMedia" value="yes" checked></td></tr> 6638c2e8227SGreg Roach '; 6648c2e8227SGreg Roach 6654b9ff166SGreg Roach if (Auth::isManager($WT_TREE)) { 6668c2e8227SGreg Roach $out .= 667d1928687SGreg Roach '<tr><td class="descriptionbox width50 wrap">' . I18N::translate('Apply privacy settings') . '</td>' . 6688c2e8227SGreg Roach '<td class="optionbox">' . 6698c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="none" checked> ' . I18N::translate('None') . '<br>' . 6708c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="gedadmin"> ' . I18N::translate('Manager') . '<br>' . 6718c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="user"> ' . I18N::translate('Member') . '<br>' . 6728c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="visitor"> ' . I18N::translate('Visitor') . 6738c2e8227SGreg Roach '</td></tr>'; 6744b9ff166SGreg Roach } elseif (Auth::isMember($WT_TREE)) { 6758c2e8227SGreg Roach $out .= 676d1928687SGreg Roach '<tr><td class="descriptionbox width50 wrap">' . I18N::translate('Apply privacy settings') . '</td>' . 6778c2e8227SGreg Roach '<td class="list_value">' . 6788c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="user" checked> ' . I18N::translate('Member') . '<br>' . 6798c2e8227SGreg Roach ' <input type="radio" name="privatize_export" value="visitor"> ' . I18N::translate('Visitor') . 6808c2e8227SGreg Roach '</td></tr>'; 6818c2e8227SGreg Roach } 6828c2e8227SGreg Roach 6838c2e8227SGreg Roach $out .= ' 684d1928687SGreg Roach <tr><td class="descriptionbox width50 wrap">'. I18N::translate('Convert from UTF-8 to ISO-8859-1') . '</td> 6858c2e8227SGreg Roach <td class="optionbox"><input type="checkbox" name="convert" value="yes"></td></tr> 6868c2e8227SGreg Roach 6878c2e8227SGreg Roach <tr> 688d1928687SGreg Roach <td class="descriptionbox width50 wrap">'. I18N::translate('Add the GEDCOM media path to filenames') . '</td> 6898c2e8227SGreg Roach <td class="optionbox"> 6908c2e8227SGreg Roach <input type="checkbox" name="conv_path" value="' . Filter::escapeHtml($WT_TREE->getPreference('GEDCOM_MEDIA_PATH')) . '"> 6918c2e8227SGreg Roach <span dir="auto">' . Filter::escapeHtml($WT_TREE->getPreference('GEDCOM_MEDIA_PATH')) . '</span></td> 6928c2e8227SGreg Roach </tr> 6938c2e8227SGreg Roach 6948c2e8227SGreg Roach <input type="hidden" name="conv_path" value="'.$clip_ctrl->conv_path . '"> 6958c2e8227SGreg Roach 6968c2e8227SGreg Roach </td></tr> 6978c2e8227SGreg Roach 6988c2e8227SGreg Roach <tr><td class="topbottombar" colspan="2"> 6998c2e8227SGreg Roach <input type="button" value="'. I18N::translate('Cancel') . '" onclick="cancelDownload();"> 7008c2e8227SGreg Roach <input type="submit" value="'. I18N::translate('Download') . '"> 7018c2e8227SGreg Roach </form>'; 7028c2e8227SGreg Roach 7038c2e8227SGreg Roach return $out; 7048c2e8227SGreg Roach } 7058c2e8227SGreg Roach 7068c2e8227SGreg Roach} 707