| Current Path : /home/bonneesp/www/components/com_gallery_wd/framework/ |
| Current File : /home/bonneesp/www/components/com_gallery_wd/framework/WDWLibrary.php |
<?php
/**
* @package Gallery WD
* @author Web-Dorado
* @copyright (C) 2014 Web-Dorado. All rights reserved.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/
defined('_JEXEC') or die('Restricted access');
class WDWLibrary {
////////////////////////////////////////////////////////////////////////////////////////
// Events //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Constants //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Variables //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Constructor & Destructor //
////////////////////////////////////////////////////////////////////////////////////////
public function __construct() {
}
////////////////////////////////////////////////////////////////////////////////////////
// Public Methods //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Getters & Setters //
////////////////////////////////////////////////////////////////////////////////////////
public static function get($key) {
if (isset($_GET[$key])) {
$value = $_GET[$key];
}
elseif (isset($_POST[$key])) {
$value = $_POST[$key];
}
else {
$value = '';
}
return htmlspecialchars($value);
}
public static function message($message, $type) {
return '<div style="width:95%"><div class="' . $type . '"><p><strong>' . $message . '</strong></p></div></div>';
}
public static function search($search_by, $search_value, $form_id) {
?>
<div class="alignleft actions" style="clear:both;">
<script>
function spider_search() {
/* document.getElementById("page_number").value = "1";
document.getElementById("search_or_not").value = "search";*/
document.getElementById("<?php echo $form_id; ?>").submit();
}
function spider_reset() {
if (document.getElementById("search_value")) {
document.getElementById("search_value").value = "";
}
if (document.getElementById("search_select_value")) {
document.getElementById("search_select_value").value = 0;
}
if (document.getElementById("search_select_gal_value")) {
document.getElementById("search_select_gal_value").value = 0;
}
document.getElementById("<?php echo $form_id; ?>").submit();
}
</script>
<div class="alignleft actions" style="">
<label for="search_value" style="font-size:14px; width:50px; display:inline-block;"><?php echo $search_by; ?>:</label>
<input type="text" id="search_value" name="search_value" class="spider_search_value" value="<?php echo htmlspecialchars($search_value); ?>" style="width:150px;" />
</div>
<div class="alignleft actions">
<input type="button" value="Search" onclick="spider_search()" class="button-secondary action">
<input type="button" value="Reset" onclick="spider_reset()" class="button-secondary action">
</div>
</div>
<?php
}
public static function search_select($search_by,$search_select_value, $playlists, $form_id,$select_id="search_select_value") {
?>
<div class="alignleft actions" style="clear:both;">
<script>
function spider_search_select() {
/*document.getElementById("page_number").value = "1";
document.getElementById("search_or_not").value = "search";*/
document.getElementById("<?php echo $form_id; ?>").submit();
}
</script>
<div class="alignleft actions" >
<select id="<?php echo $select_id ?>" name="<?php echo $select_id ?>" onchange="spider_search_select();" style="float:none; width:220px;">
<?php
foreach ($playlists as $id => $playlist) {
?>
<option value="<?php echo $id; ?>" <?php echo (($search_select_value == $id) ? 'selected="selected"' : ''); ?>><?php echo $playlist; ?></option>
<?php
}
?>
</select>
</div>
</div>
<?php
}
public static function html_page_nav($count_items, $page_number, $form_id, $items_per_page = 20) {
$limit = 20;
if ($count_items) {
if ($count_items % $limit) {
$items_county = ($count_items - $count_items % $limit) / $limit + 1;
}
else {
$items_county = ($count_items - $count_items % $limit) / $limit;
}
}
else {
$items_county = 1;
}
?>
<script type="text/javascript">
function spider_page(x, y) {
var items_county = <?php echo $items_county; ?>;
switch (y) {
case 1:
if (x >= items_county) {
document.getElementById('page_number').value = items_county;
}
else {
document.getElementById('page_number').value = x + 1;
}
break;
case 2:
document.getElementById('page_number').value = items_county;
break;
case -1:
if (x == 1) {
document.getElementById('page_number').value = 1;
}
else {
document.getElementById('page_number').value = x - 1;
}
break;
case -2:
document.getElementById('page_number').value = 1;
break;
default:
document.getElementById('page_number').value = 1;
}
document.getElementById('<?php echo $form_id; ?>').submit();
}
</script>
<div class="tablenav-pages">
<span class="displaying-num">
<?php
if ($count_items != 0) {
echo $count_items; ?> item<?php echo (($count_items == 1) ? '' : 's');
}
?>
</span>
<?php
if ($count_items > $items_per_page) {
$first_page = "first-page";
$prev_page = "prev-page";
$next_page = "next-page";
$last_page = "last-page";
if ($page_number == 1) {
$first_page = "first-page disabled";
$prev_page = "prev-page disabled";
$next_page = "next-page";
$last_page = "last-page";
}
if ($page_number >= $items_county) {
$first_page = "first-page ";
$prev_page = "prev-page";
$next_page = "next-page disabled";
$last_page = "last-page disabled";
}
?>
<span class="pagination-links">
<a class="<?php echo $first_page; ?>" title="Go to the first page" href="javascript:spider_page(<?php echo $page_number; ?>,-2);">«</a>
<a class="<?php echo $prev_page; ?>" title="Go to the previous page" href="javascript:spider_page(<?php echo $page_number; ?>,-1);">‹</a>
<span class="paging-input">
<span class="total-pages"><?php echo $page_number; ?></span> of <span class="total-pages">
<?php echo $items_county; ?>
</span>
</span>
<a class="<?php echo $next_page ?>" title="Go to the next page" href="javascript:spider_page(<?php echo $page_number; ?>,1);">›</a>
<a class="<?php echo $last_page ?>" title="Go to the last page" href="javascript:spider_page(<?php echo $page_number; ?>,2);">»</a>
<?php
}
?>
</span>
</div>
<input type="hidden" id="page_number" name="page_number" value="<?php echo ((isset($_POST['page_number'])) ? (int) $_POST['page_number'] : 1); ?>" />
<input type="hidden" id="search_or_not" name="search_or_not" value="<?php echo ((isset($_POST['search_or_not'])) ? htmlspecialchars($_POST['search_or_not']) : ''); ?>"/>
<?php
}
public static function ajax_search($search_by, $search_value, $form_id,$token) {
?>
<div class="alignleft actions" style="clear:both;">
<script>
function spider_search() {
document.getElementById("page_number").value = "1";
document.getElementById("search_or_not").value = "search";
spider_ajax_save('<?php echo $form_id; ?>','','<?php echo $token ?>');
}
function spider_reset() {
if (document.getElementById("search_value")) {
document.getElementById("search_value").value = "";
}
spider_ajax_save('<?php echo $form_id; ?>','','<?php echo $token ?>');
}
</script>
<div class="alignleft actions" style="">
<label for="search_value" style="font-size:14px; width:60px; display:inline-block;"><?php echo $search_by; ?>:</label>
<input type="text" id="search_value" name="search_value" class="spider_search_value" value="<?php echo htmlspecialchars($search_value); ?>" style="width:150px;" />
</div>
<div class="alignleft actions">
<input type="button" value="Search" onclick="spider_search()" class="button-secondary action">
<input type="button" value="Reset" onclick="spider_reset()" class="button-secondary action">
</div>
</div>
<?php
}
public static function ajax_html_page_nav($count_items, $page_number, $form_id,$token) {
$limit = 20;
if ($count_items) {
if ($count_items % $limit) {
$items_county = ($count_items - $count_items % $limit) / $limit + 1;
}
else {
$items_county = ($count_items - $count_items % $limit) / $limit;
}
}
else {
$items_county = 1;
}
?>
<script type="text/javascript">
function spider_page(x, y) {
var items_county = <?php echo $items_county; ?>;
switch (y) {
case 1:
if (x >= items_county) {
document.getElementById('page_number').value = items_county;
}
else {
document.getElementById('page_number').value = x + 1;
}
break;
case 2:
document.getElementById('page_number').value = items_county;
break;
case -1:
if (x == 1) {
document.getElementById('page_number').value = 1;
}
else {
document.getElementById('page_number').value = x - 1;
}
break;
case -2:
document.getElementById('page_number').value = 1;
break;
default:
document.getElementById('page_number').value = 1;
}
spider_ajax_save('<?php echo $form_id; ?>','','<?php echo $token ?>');
}
</script>
<div id="tablenav-pages" class="tablenav-pages">
<span class="displaying-num">
<?php
if ($count_items != 0) {
echo $count_items; ?> item<?php echo (($count_items == 1) ? '' : 's');
}
?>
</span>
<?php
if ($count_items > $limit) {
$first_page = "first-page";
$prev_page = "prev-page";
$next_page = "next-page";
$last_page = "last-page";
if ($page_number == 1) {
$first_page = "first-page disabled";
$prev_page = "prev-page disabled";
$next_page = "next-page";
$last_page = "last-page";
}
if ($page_number >= $items_county) {
$first_page = "first-page ";
$prev_page = "prev-page";
$next_page = "next-page disabled";
$last_page = "last-page disabled";
}
?>
<span class="pagination-links">
<a class="<?php echo $first_page; ?>" title="Go to the first page" onclick="spider_page(<?php echo $page_number; ?>,-2)">«</a>
<a class="<?php echo $prev_page; ?>" title="Go to the previous page" onclick="spider_page(<?php echo $page_number; ?>,-1)">‹</a>
<span class="paging-input">
<span class="total-pages"><?php echo $page_number; ?></span> of <span class="total-pages">
<?php echo $items_county; ?>
</span>
</span>
<a class="<?php echo $next_page ?>" title="Go to the next page" onclick="spider_page(<?php echo $page_number; ?>,1)">›</a>
<a class="<?php echo $last_page ?>" title="Go to the last page" onclick="spider_page(<?php echo $page_number; ?>,2)">»</a>
<?php
}
?>
</span>
</div>
<input type="hidden" id="page_number" name="page_number" value="<?php echo ((isset($_POST['page_number'])) ? (int) $_POST['page_number'] : 1); ?>" />
<input type="hidden" id="search_or_not" name="search_or_not" value="<?php echo ((isset($_POST['search_or_not'])) ? htmlspecialchars($_POST['search_or_not']) : ''); ?>"/>
<?php
}
public static function ajax_html_frontend_page_nav($theme_row, $count_items, $page_number, $form_id, $limit = 20, $current_view, $id, $cur_alb_gal_id = 0) {
$type = (isset($_POST['type_' . $current_view]) ? htmlspecialchars($_POST['type_' . $current_view]) : 'album');
$album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? htmlspecialchars($_POST['album_gallery_id_' . $current_view]) : $cur_alb_gal_id);
if ($count_items) {
if ($count_items % $limit) {
$items_county = ($count_items - $count_items % $limit) / $limit + 1;
}
else {
$items_county = ($count_items - $count_items % $limit) / $limit;
}
}
else {
$items_county = 1;
}
?>
<script type="text/javascript">
function spider_page_<?php echo $current_view; ?>(cur, x, y) {
if (jQuery(cur).hasClass('disabled')) {
return false;
}
var items_county_<?php echo $current_view; ?> = <?php echo $items_county; ?>;
switch (y) {
case 1:
if (x >= items_county_<?php echo $current_view; ?>) {
document.getElementById('page_number_<?php echo $current_view; ?>').value = items_county_<?php echo $current_view; ?>;
}
else {
document.getElementById('page_number_<?php echo $current_view; ?>').value = x + 1;
}
break;
case 2:
document.getElementById('page_number_<?php echo $current_view; ?>').value = items_county_<?php echo $current_view; ?>;
break;
case -1:
if (x == 1) {
document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
}
else {
document.getElementById('page_number_<?php echo $current_view; ?>').value = x - 1;
}
break;
case -2:
document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
break;
default:
document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
}
spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $id; ?>', '<?php echo $album_gallery_id; ?>', '', '<?php echo $type; ?>');
}
</script>
<div class="tablenav-pages_<?php echo $current_view; ?>">
<?php
if ($theme_row->page_nav_number) {
?>
<span class="displaying-num_<?php echo $current_view; ?>"><?php echo $count_items . JText::_('ITEMS'); ?></span>
<?php
}
if ($count_items > $limit) {
if ($theme_row->page_nav_button_text) {
$first_button = JText::_('FIRST');
$previous_button = JText::_('PREVIOUS');
$next_button = JText::_('NEXT');
$last_button = JText::_('LAST');
}
else {
$first_button = '«';
$previous_button = '‹';
$next_button = '›';
$last_button = '»';
}
$first_page = "first-page";
$prev_page = "prev-page";
$next_page = "next-page";
$last_page = "last-page";
if ($page_number == 1) {
$first_page = "first-page disabled";
$prev_page = "prev-page disabled";
$next_page = "next-page";
$last_page = "last-page";
}
if ($page_number >= $items_county) {
$first_page = "first-page ";
$prev_page = "prev-page";
$next_page = "next-page disabled";
$last_page = "last-page disabled";
}
?>
<span class="pagination-links_<?php echo $current_view; ?>">
<a class="<?php echo $first_page; ?>" title="<?php echo JText::_('GO_TO_FIRST'); ?>" onclick="spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, -2)"><?php echo $first_button; ?></a>
<a class="<?php echo $prev_page; ?>" title="<?php echo JText::_('GO_TO_PREV'); ?>" onclick="spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, -1)"><?php echo $previous_button; ?></a>
<span class="paging-input_<?php echo $current_view; ?>">
<span class="total-pages_<?php echo $current_view; ?>"><?php echo $page_number; ?></span> <?php echo JText::_('OF'); ?> <span class="total-pages_<?php echo $current_view; ?>">
<?php echo $items_county; ?>
</span>
</span>
<a class="<?php echo $next_page ?>" title="<?php echo JText::_('GO_TO_NEXT'); ?>" onclick="spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, 1)"><?php echo $next_button; ?></a>
<a class="<?php echo $last_page ?>" title="<?php echo JText::_('GO_TO_LAST'); ?>" onclick="spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, 2)"><?php echo $last_button; ?></a>
</span>
<?php
}
?>
<input type="hidden" id="page_number_<?php echo $current_view; ?>" name="page_number_<?php echo $current_view; ?>" value="<?php echo ((isset($_POST['page_number_' . $current_view])) ? (int) $_POST['page_number_' . $current_view] : 1); ?>" />
</div>
<?php
}
public static function ajax_html_frontend_search_box($form_id, $current_view, $cur_gal_id, $images_count, $search_box_width) {
$bwg_search = ((isset($_POST['bwg_search_' . $current_view]) && htmlspecialchars($_POST['bwg_search_' . $current_view]) != '') ? htmlspecialchars($_POST['bwg_search_' . $current_view]) : '');
$type = (isset($_POST['type_' . $current_view]) ? htmlspecialchars($_POST['type_' . $current_view]) : 'album');
$album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? htmlspecialchars($_POST['album_gallery_id_' . $current_view]) : 0);
?>
<style>
.bwg_search_container_1 {
display: inline-block;
width: 100%;
text-align: right;
margin: 0 5px 20px 5px;
background-color: rgba(0,0,0,0);
}
.bwg_search_container_2 {
display: inline-block;
position: relative;
border-radius: 4px;
box-shadow: 0 0 3px 1px #CCCCCC;
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
width: <?php echo $search_box_width; ?>px;
max-width: 100%;
}
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search_input_container {
display: block;
margin-right: 45px;
}
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search_loupe_container {
display: inline-block;
margin-right: 1px;
vertical-align: middle;
float: right;
padding-top: 3px;
}
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search_reset_container {
display: inline-block;
margin-right: 5px;
vertical-align: middle;
float: right;
padding-top: 3px;
}
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search,
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_reset {
font-size: 18px;
color: #CCCCCC;
cursor: pointer;
}
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search_input_<?php echo $current_view; ?>,
#bwg_search_container_1_<?php echo $current_view; ?> #bwg_search_container_2_<?php echo $current_view; ?> .bwg_search_input_<?php echo $current_view; ?>:focus {
color: hsl(0, 1%, 3%);
outline: none;
border: none;
box-shadow: none;
background: none;
padding: 0 5px;
font-family: inherit;
width: 100%;
margin: 0px;
height: 23px;
}
</style>
<script type="text/javascript">
function clear_input_<?php echo $current_view; ?> (current_view) {
jQuery("#bwg_search_input_" + current_view).val('');
}
function check_enter_key(e) {
var key_code = e.which || e.keyCode;
if (key_code == 13) {
return false;
}
return true;
}
</script>
<div class="bwg_search_container_1" id="bwg_search_container_1_<?php echo $current_view; ?>">
<div class="bwg_search_container_2" id="bwg_search_container_2_<?php echo $current_view; ?>">
<span class="bwg_search_reset_container" >
<i title="<?php echo JText::_('RESET'); ?>" class="bwg_reset fa fa-times" onclick="clear_input_<?php echo $current_view; ?>('<?php echo $current_view; ?>'),spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1)"></i>
</span>
<span class="bwg_search_loupe_container" >
<i title="<?php echo JText::_('SEARCH'); ?>" class="bwg_search fa fa-search" onclick="spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1)"></i>
</span>
<span class="bwg_search_input_container">
<input id="bwg_search_input_<?php echo $current_view; ?>" class="bwg_search_input_<?php echo $current_view; ?>" type="text" onkeypress="return check_enter_key(event)" name="bwg_search_<?php echo $current_view; ?>" value="<?php echo $bwg_search; ?>" >
<input id="bwg_images_count_<?php echo $current_view; ?>" class="bwg_search_input" type="hidden" name="bwg_images_count_<?php echo $current_view; ?>" value="<?php echo $images_count; ?>" >
</span>
</div>
</div>
<?php
}
public static function ajax_html_frontend_sort_box($form_id, $current_view, $cur_gal_id, $sort_by = '', $search_box_width = 180) {
$bwg_search = ((isset($_POST['bwg_search_' . $current_view]) && htmlspecialchars($_POST['bwg_search_' . $current_view]) != '') ? htmlspecialchars($_POST['bwg_search_' . $current_view]) : '');
$type = (isset($_POST['type_' . $current_view]) ? htmlspecialchars($_POST['type_' . $current_view]) : 'album');
$album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? htmlspecialchars($_POST['album_gallery_id_' . $current_view]) : 0);
?>
<style>
.bwg_order_cont_<?php echo $current_view; ?> {
background-color: rgba(0,0,0,0);
display: block;
margin: 0 5px 20px 5px;
text-align: right;
width: 100%;
}
.bwg_order_label_<?php echo $current_view; ?> {
border: none;
box-shadow: none;
color: #BBBBBB;
font-family: inherit;
font-weight: bold;
outline: none;
}
.bwg_order_<?php echo $current_view; ?> {
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
box-shadow: 0 0 3px 1px #CCCCCC;
border-radius: 4px;
max-width: 100%;
width: <?php echo $search_box_width; ?>px;
}
</style>
<div class="bwg_order_cont_<?php echo $current_view; ?>">
<span class="bwg_order_label_<?php echo $current_view; ?>"><?php echo JText::_('Order by: ', 'bwg'); ?></span>
<select class="bwg_order_<?php echo $current_view; ?>" onchange="spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1, '', this.value)">
<option <?php if ($sort_by == 'default') echo 'selected'; ?> value="default"><?php echo JText::_('Default', 'bwg'); ?></option>
<option <?php if ($sort_by == 'filename') echo 'selected'; ?> value="filename"><?php echo JText::_('Filename', 'bwg'); ?></option>
<option <?php if ($sort_by == 'size') echo 'selected'; ?> value="size"><?php echo JText::_('Size', 'bwg'); ?></option>
<option <?php if ($sort_by == 'RAND()') echo 'selected'; ?> value="random"><?php echo JText::_('Random', 'bwg'); ?></option>
</select>
</div>
<?php
}
public static function spider_hex2rgb($colour) {
if ($colour[0] == '#') {
$colour = substr( $colour, 1 );
}
if (strlen($colour) == 6) {
list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5]);
}
else if (strlen($colour) == 3) {
list($r, $g, $b) = array($colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2]);
}
else {
return FALSE;
}
$r = hexdec($r);
$g = hexdec($g);
$b = hexdec($b);
return array('red' => $r, 'green' => $g, 'blue' => $b);
}
////////EMBED MEDIA
public static function delimit_wd_output($data) {
if(is_string ( $data )){
return "WD_delimiter_start". $data . "WD_delimiter_end";
}
else{
return $data;
}
}
/////////////END EMBED MEDIA
////////////////////////////////////////////////////////////////////////////////////////
// Private Methods //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Listeners //
////////////////////////////////////////////////////////////////////////////////////////
}