File: /hosting/www/kipepeo.es/public/Fotos/db_ecard.php
<?php
/**
* Coppermine Photo Gallery
*
* v1.0 originally written by Gregory Demar
*
* @copyright Copyright (c) 2003-2022 Coppermine Dev Team
* @license GNU General Public License version 3 or later; see LICENSE
*
* db_ecard.php
* @since 1.6.18
*/
define('IN_COPPERMINE', true);
define('DB_ECARD_PHP', true);
require('include/init.inc.php');
if (!GALLERY_ADMIN_MODE) {
cpg_die(ERROR, $lang_errors['access_denied'], __FILE__, __LINE__);
}
// get the url vars
function cpgGetUrlVars($exception)
{
global $CPG_PHP_SELF, $eid;
$cpgGetUrl = $CPG_PHP_SELF . '?';
foreach ($eid as $key => $value) {
if ($key != $exception) {
$cpgGetUrl .= $key . '=' . $value . '&';
}
}
return $cpgGetUrl;
}
if ($superCage->get->keyExists('sort')) {
$sort = $superCage->get->getAlpha('sort');
} elseif ($superCage->post->keyExists('sort')) {
$sort = $superCage->post->getAlpha('sort');
} else {
$sort = '';
}
if ($superCage->get->keyExists('start')) {
$start = $superCage->get->getInt('start');
} elseif ($superCage->post->KeyExists('start')) {
$start = $superCage->post->getInt('start');
} else {
$start= '';
}
if ($superCage->get->keyExists('count')) {
$count = $superCage->get->getInt('count');
} elseif ($superCage->post->keyExists('count')) {
$count = $superCage->post->getInt('count');
} else {
$count = '';
}
//set default values
$selectOptions = array(25, 50, 75, 100);
$sortBy = 'eid';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_date'];
$sortDirectionText = $lang_db_ecard_php['ecard_descending'];
$startFrom = ($start) ? $start : 0;
$countTo = ($count) ? $count : $selectOptions[0];
$tabOutput = '';
//delete selected ecards
if ($superCage->get->keyExists('eid')) {
$eid = $superCage->get->getInt('eid');
} elseif ($superCage->post->keyExists('eid')) {
$eid = $superCage->post->getInt('eid');
} else {
$eid = array();
}
if ($eid) {
//Check if the form token is valid
if(!checkFormToken()){
cpg_die(ERROR, $lang_errors['invalid_form_token'], __FILE__, __LINE__);
}
foreach ($eid as $key) {
$query = "DELETE FROM {$CONFIG['TABLE_ECARDS']} WHERE eid = $key";
cpg_db_query($query);
}
}
switch ($sort) {
case 'snd':
$sortBy = 'sender_name';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_sender_name'];
break;
case 'sna':
$sortBy = 'sender_name';
$sortDirection = 'ASC';
$sortText = $lang_db_ecard_php['ecard_by_sender_name'];
break;
case 'sed':
$sortBy = 'sender_email';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_sender_email'];
break;
case 'sea':
$sortBy = 'sender_email';
$sortDirection = 'ASC';
$sortText = $lang_db_ecard_php['ecard_by_sender_email'];
break;
case 'id':
$sortBy = 'sender_ip';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_sender_ip'];
break;
case 'ia':
$sortBy = 'sender_ip';
$sortDirection = 'ASC';
$sortText = $lang_db_ecard_php['ecard_by_sender_ip'];
break;
case 'rnd':
$sortBy = 'recipient_name';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_recipient_name'];
break;
case 'rna':
$sortBy = 'recipient_name';
$sortDirection = 'ASC';
$sortText = $lang_db_ecard_php['ecard_by_recipient_name'];
break;
case 'red':
$sortBy = 'recipient_email';
$sortDirection = 'DESC';
$sortText = $lang_db_ecard_php['ecard_by_recipient_email'];
break;
case 'rea':
$sortBy = 'recipient_email';
$sortDirection = 'ASC';
$sortText = $lang_db_ecard_php['ecard_by_recipient_email'];
break;
case 'da':
$sortBy = 'date';
$sortDirection = 'ASC';
break;
}
if ($sortDirection == 'ASC') {
$sortDirectionText = $lang_db_ecard_php['ecard_ascending'];
}
// determine the total number of entries
$result = cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_ECARDS']}");
list($totalEcards) = $result->fetchRow(true);
if ($totalEcards == 0) {
cpg_die(INFORMATION, $lang_errors['ecards_empty'], __FILE__, __LINE__, false);
}
set_js_var('ecards_delete_confirm', $lang_db_ecard_php['ecards_delete_confirm']);
js_include('js/db_ecard.js');
pageheader($lang_db_ecard_php['title']);
$formTarget = cpgGetUrlVars('count');
print '<form method="post" name="ecardselect" id="cpgform" action="'.$formTarget.'" onsubmit="return defaultagree(this)">';
// create tabbed display (non-coppermine standard); maybe this could be changed later using the coppermine standard method
// step 1: calculate the number of pages
$pageTotal = ceil($totalEcards / $countTo);
// step 2: get the current url without 'start' and 'count'
$urlWithoutStart = $CPG_PHP_SELF."?";
foreach ($eid as $key => $value) {
if ($key != 'start' && $key != 'count') {
$urlWithoutStart .= $key . "=" . $value . "&";
}
}
//step 3: loop through the pages & create the links
for ($page = 1; $page <= $pageTotal; $page++) {
if ($page != $startFrom / $countTo + 1) {
$tabOutput .= '<a href="' . $urlWithoutStart . 'start=' . ($page - 1) * $countTo . '&count=' . $countTo . '">';
} else {
$currentPage = $page;
$currentStart = ($page - 1) * $countTo + 1;
$currentEnd = $currentStart + $countTo - 1;
if ($currentEnd > $totalEcards) {
$currentEnd = $totalEcards;
}
}
$tabOutput .= $page;
if ($page != $startFrom / $countTo + 1) {
$tabOutput .= '</a>';
}
$tabOutput .= ' ';
}
$maxPage = $page - 1;
$help = ' '.cpg_display_help('f=admin_menu.htm&as=ecard_log&ae=ecard_log_end&top=1', '830', '400');
$tableHeader1 = $lang_db_ecard_php['title']." (".$lang_db_ecard_php['ecard_sorted']." ".$sortText.", ".$sortDirectionText.")" . $help;
starttable('100%', cpg_fetch_icon('ecard_review', 2) . $tableHeader1, 3);
print '<tr><td class="tableb">';
printf($lang_db_ecard_php['ecard_number'], $currentStart, $currentEnd, $totalEcards);
print '</td><td class="tableb">';
if ($maxPage > 1) {
print $lang_db_ecard_php['ecard_goto_page'] . ' ';
print $tabOutput;
}
print '</td><td align="right" class="tableb">';
print $lang_db_ecard_php['ecard_records_per_page'];
print ' <select onchange="if(this.options[this.selectedIndex].value) window.location.href=\''.$formTarget.'count=\'+this.options[this.selectedIndex].value;" name="count" class="listbox">';
foreach ($selectOptions as $key) {
print ' <option value="'.$key.'" ';
if ($key == $countTo) {
print 'selected="selected"';
}
print '>'.$key.'</option>';
}
print ' </select>';
print '</td></tr>';
endtable();
print '<br />';
$urlWithoutSort = cpgGetUrlVars('sort');
starttable('100%');
print <<< EOT
<tr>
<th class="tableh1" align="left" valign="bottom" rowspan="2"></th>
<th class="tableh1" colspan="3" align="left" valign="bottom">{$lang_db_ecard_php['ecard_sender']}</th>
<th class="tableh1" colspan="2" align="left" valign="bottom">{$lang_db_ecard_php['ecard_recipient']}</th>
<th class="tableh1" rowspan="2" align="left" valign="bottom">{$lang_db_ecard_php['ecard_date']}
<a href="{$urlWithoutSort}sort=da">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=dd">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
<th class="tableh1" rowspan="2" align="left" valign="bottom"></th>
</tr>
<tr>
<th class="tableh1" align="left" valign="bottom">{$lang_db_ecard_php['ecard_name']}
<a href="{$urlWithoutSort}sort=sna">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=snd">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
<th class="tableh1" align="left" valign="bottom">{$lang_db_ecard_php['ecard_email']}
<a href="{$urlWithoutSort}sort=sea">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=sed">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
<th class="tableh1" align="left" valign="bottom">{$lang_db_ecard_php['ecard_ip']}
<a href="{$urlWithoutSort}sort=ia">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=id">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
<th class="tableh1" align="left" valign="bottom">{$lang_db_ecard_php['ecard_name']}
<a href="{$urlWithoutSort}sort=rna">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=rnd">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
<th class="tableh1" align="left" valign="bottom">{$lang_db_ecard_php['ecard_email']}
<a href="{$urlWithoutSort}sort=rea">
<img src="images/ascending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_ascending']}" />
</a>
<a href="{$urlWithoutSort}sort=red">
<img src="images/descending.png" width="9" height="9" border="0" alt="" title="{$lang_db_ecard_php['ecard_descending']}" />
</a>
</th>
</tr>
EOT;
$tempClass = 'tableb';
$ecard_review_icon = cpg_fetch_icon('ecard_review', 0, $lang_db_ecard_php['ecard_display']);
$result = cpg_db_query("SELECT eid, sender_name, sender_email, recipient_name, recipient_email, link, date, sender_ip FROM {$CONFIG['TABLE_ECARDS']} ORDER BY $sortBy $sortDirection LIMIT $startFrom, $countTo");
while ($line = $result->fetchAssoc()) {
$date = date($lang_date['lastcom'], $line['date']);
list($line['ip_detail']) = CPGPluginAPI::filter('ip_information', array('', $line['sender_ip']));
echo <<< EOT
<tr>
<td class="$tempClass" align="center">
<input type="checkbox" name="eid[]" value="{$line['eid']}" id="eidselector" class="checkbox" />
</td>
<td class="$tempClass">
<span class="thumb_caption">{$line['sender_name']}</span>
</td>
<td class="$tempClass">
<span class="thumb_caption">
<a href="mailto:{$line['sender_email']}">{$line['sender_email']}</a>
</span>
</td>
<td class="$tempClass">
<span class="thumb_caption">
<a href="http://whois.domaintools.com/{$line['sender_ip']}">{$line['sender_ip']}</a>{$line['ip_detail']}
</span>
</td>
<td class="$tempClass">
<span class="thumb_caption">{$line['recipient_name']}</span>
</td>
<td class="$tempClass">
<span class="thumb_caption">
<a href="mailto:{$line['recipient_email']}">{$line['recipient_email']}</a>
</span>
</td>
<td class="$tempClass">
<span class="thumb_caption">$date</span>
</td>
<td class="$tempClass" align="center">
<span class="thumb_caption">
<a href="displayecard.php?data={$line['link']}">$ecard_review_icon</a>
</span>
</td>
</tr>
EOT;
if ($tempClass == 'tableb') {
$tempClass = 'tableh2';
} else {
$tempClass = 'tableb';
}
}
$result->free();
echo <<< EOT
<tr>
<td class="tableh1" align="center"></td>
<td colspan="3" class="tableh1">
<input type="button" name="CheckAll" class="button" value="{$lang_db_ecard_php['check_all']}" onclick="check(true)" />
<input type="button" name="UnCheckAll" class="button" value="{$lang_db_ecard_php['uncheck_all']}" onclick="check(false)" />
</td>
<td colspan="4" class="tableh1" align="left">
<input type="submit" class="button" name="delete" value="{$lang_db_ecard_php['ecards_delete_selected']}" disabled="disabled" />
<input name="agreecheck" id="agreecheck" type="checkbox" onclick="agreesubmit()" />
<label for="agreecheck" class="clickable_option">{$lang_db_ecard_php['ecards_delete_sure']}</label>
</td>
</tr>
EOT;
endtable();
list($timestamp, $form_token) = getFormToken();
print '<input type="hidden" name="form_token" value="'.$form_token.'" />
<input type="hidden" name="timestamp" value="'.$timestamp.'" />
</form>' . $LINEBREAK;
pagefooter();
//EOF