function fix_ratepic() { //replaces distribution ratepic by function to manage votes if (defined("RATEPIC_PHP")) { global $CONFIG; // Check if required parameters are present if (!isset($_GET['pic']) || !isset($_GET['rate'])) { return ""; } $pic = (int) $_GET['pic']; $rate = (int) $_GET['rate']; $rate = min($rate, 10); $rate = max($rate, 1); // If user does not accept script's cookies, we don't accept the vote if (!isset($_COOKIE[$CONFIG['cookie_name'] . '_data'])) { header('Location: displayimage.php?pos=' . -$pic); exit; } // If referer is not displayimage.php we don't accept the vote if (!eregi("displayimage", $_SERVER["HTTP_REFERER"])) { header('Location: displayimage.php?pos=' . -$pic); exit; } // Retrieve picture/album information & check if user can rate picture, and if this is a contest - else let go to normal ratepic $sql = "SELECT a.votes as votes_allowed, a.contest, p.votes as votes, pic_rating, owner_id " . "FROM {$CONFIG['TABLE_PICTURES']} AS p, {$CONFIG['TABLE_ALBUMS']} AS a " . "WHERE p.aid = a.aid AND pid = '{$pic}' LIMIT 1"; $result = cpg_db_query($sql); if (!mysql_num_rows($result)) { return ""; } $row = mysql_fetch_array($result); if (!USER_CAN_RATE_PICTURES || $row['votes_allowed'] == 'NO' || $row['contest'] == 'NO') { return ""; } //removed previous votes for USER_ID cpg_db_query("DELETE FROM `{$CONFIG['TABLE_PREFIX']}user_votes` WHERE pid = {$pic} AND user_id = " . USER_ID); // insert new vote cpg_db_query("INSERT INTO `{$CONFIG['TABLE_PREFIX']}user_votes` SET pid = {$pic}, rating = {$rate},user_id = " . USER_ID); // get average rating and store them with the image $result = cpg_db_query("SELECT COUNT(rating), SUM(rating) FROM `{$CONFIG['TABLE_PREFIX']}user_votes` WHERE pid = {$pic}"); if ($row = mysql_fetch_array($result)) { $count = $row[0]; $average = round($row[1] * 2000.0 / $count); } else { $count = 0; $average = 0; } $result = cpg_db_query("UPDATE {$CONFIG['TABLE_PICTURES']} SET pic_rating = '{$average}', votes = {$count} WHERE pid = '{$pic}' LIMIT 1"); // record the details of hits for the picture if the option is set in CONFIG if ($CONFIG['vote_details']) { $client_details = cpg_determine_client(); $os = $client_details['os']; $browser = $client_details['browser']; $time = time(); $referer = addslashes(htmlentities($_SERVER['HTTP_REFERER'])); cpg_db_query("INSERT INTO {$CONFIG['TABLE_VOTE_STATS']} SET pid = {$pic},rating = {$rate},Ip = '{$raw_ip}',sdate = '{$time}',referer = '{$referer}',browser = '{$browser}',os = '{$os}'"); } $location = "displayimage.php?pos=" . -$pic; $header_location = @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ? 'Refresh: 0; URL=' : 'Location: '; header($header_location . $location); pageheader($lang_info, "<META http-equiv=\"refresh\" content=\"1;url={$location}\">"); msg_box($lang_info, $lang_rate_pic_php['rate_ok'], $lang_continue, $location); pagefooter(); ob_end_flush(); } return ""; }
if (!empty($user_id) && $user_id == $row['owner_id'] && !USER_IS_ADMIN) { $send_back = array('status' => 'error', 'msg' => $lang_rate_pic_php['forbidden']); echo json_encode($send_back); exit; } // Update picture rating $new_rating = round(($row['votes'] * $row['pic_rating'] + $rate * (5 / $rating_stars_amount) * 2000) / ($row['votes'] + 1)); $sql = "UPDATE {$CONFIG['TABLE_PICTURES']} " . "SET pic_rating = '{$new_rating}', votes = votes + 1 " . "WHERE pid = '{$pic}' LIMIT 1"; $result = cpg_db_query($sql); // Update the votes table $sql = "INSERT INTO {$CONFIG['TABLE_VOTES']} " . "VALUES ('{$pic}', '{$user_md5_id}', '{$curr_time}')"; $result = cpg_db_query($sql); // // Code to record the details of votes for the picture if the option is set in CONFIG // if ($CONFIG['vote_details']) { // Get the details of user browser, IP, OS, etc $client_details = cpg_determine_client(); // Code to write the user id if a user is logged in $voteUserId = USER_ID; $time = time(); $referer = urlencode($superCage->post->getEscaped('HTTP_REFERER')); // Insert the record in database $query = "INSERT INTO {$CONFIG['TABLE_VOTE_STATS']}\n SET\n pid = {$pic},\n rating = {$rate},\n Ip = '{$raw_ip}',\n sdate = '{$time}',\n referer = '{$referer}',\n browser = '{$client_details['browser']}',\n os = '{$client_details['os']}',\n uid = '{$voteUserId}'"; cpg_db_query($query); } $new_rating = round($new_rating / 2000 / (5 / $rating_stars_amount), 1); $new_rating_text = $lang_rate_pic['already_voted'] . ' ' . sprintf($lang_rate_pic['rating'], $new_rating, $rating_stars_amount, $row['votes'] + 1); $send_back = array('status' => 'success', 'msg' => $lang_rate_pic_php['rate_ok'], 'new_rating_text' => $new_rating_text, 'new_rating' => round($new_rating, 0)); echo json_encode($send_back); exit;
function image_manipulation_include_js() { global $JS, $CONFIG, $lang_plugin_image_manipulation; require_once './plugins/image_manipulation/init.inc.php'; if ($CONFIG['transparent_overlay'] != '1') { if ($CONFIG['plugin_image_manipulation_reset'] == '1') { set_js_var('im_strreset', $lang_plugin_image_manipulation['reset']); } else { set_js_var('im_strreset', ''); } if ($CONFIG['plugin_image_manipulation_bw_sepia'] == '1') { set_js_var('im_strbw', $lang_plugin_image_manipulation['black_and_white']); set_js_var('im_strsepia', $lang_plugin_image_manipulation['sepia']); } else { set_js_var('im_strbw', ''); set_js_var('im_strsepia', ''); } if ($CONFIG['plugin_image_manipulation_flip_v'] == '1') { set_js_var('im_strflipv', $lang_plugin_image_manipulation['flip_vertically']); } else { set_js_var('im_strflipv', ''); } if ($CONFIG['plugin_image_manipulation_flip_h'] == '1') { set_js_var('im_strfliph', $lang_plugin_image_manipulation['flip_horizontally']); } else { set_js_var('im_strfliph', ''); } if ($CONFIG['plugin_image_manipulation_invert'] == '1') { set_js_var('im_strinvert', $lang_plugin_image_manipulation['invert']); } else { set_js_var('im_strinvert', ''); } if ($CONFIG['plugin_image_manipulation_emboss'] == '1') { set_js_var('im_stremboss', $lang_plugin_image_manipulation['emboss']); } else { set_js_var('im_stremboss', ''); } if ($CONFIG['plugin_image_manipulation_blur'] == '1') { set_js_var('im_strblur', $lang_plugin_image_manipulation['blur']); } else { set_js_var('im_strblur', ''); } if ($CONFIG['plugin_image_manipulation_brightness'] == '1') { set_js_var('im_strlightness', $lang_plugin_image_manipulation['brightness']); } else { set_js_var('im_strlightness', ''); } if ($CONFIG['plugin_image_manipulation_contrast'] == '1') { set_js_var('im_strcontrast', $lang_plugin_image_manipulation['contrast']); } else { set_js_var('im_strcontrast', ''); } if ($CONFIG['plugin_image_manipulation_saturation'] == '1') { set_js_var('im_strsatur', $lang_plugin_image_manipulation['saturation']); } else { set_js_var('im_strsatur', ''); } if ($CONFIG['plugin_image_manipulation_sharpness'] == '1') { set_js_var('im_strsharpen', $lang_plugin_image_manipulation['sharpness']); } else { set_js_var('im_strsharpen', ''); } set_js_var('im_useurlvalues', $CONFIG['plugin_image_manipulation_urlvalues']); set_js_var('im_usecookies', $CONFIG['plugin_image_manipulation_cookies']); set_js_var('im_icon_reset', $image_manipulation_icon_array['reset']); set_js_var('im_icon_bw', $image_manipulation_icon_array['black_and_white']); set_js_var('im_icon_sepia', $image_manipulation_icon_array['sepia']); set_js_var('im_icon_flipv', $image_manipulation_icon_array['flip_vertically']); set_js_var('im_icon_fliph', $image_manipulation_icon_array['flip_horizontally']); set_js_var('im_icon_invert', $image_manipulation_icon_array['invert']); set_js_var('im_icon_emboss', $image_manipulation_icon_array['emboss']); set_js_var('im_icon_blur', $image_manipulation_icon_array['blur']); set_js_var('im_icon_brightness', $image_manipulation_icon_array['brightness']); set_js_var('im_icon_contrast', $image_manipulation_icon_array['contrast']); set_js_var('im_icon_saturation', $image_manipulation_icon_array['saturation']); set_js_var('im_icon_sharpness', $image_manipulation_icon_array['sharpness']); $client_array = cpg_determine_client(); if (in_array($client_array['browser'], array('IE8', 'IE7', 'IE6', 'IE5.5', 'IE5')) == TRUE) { $JS['includes'][] = "./plugins/image_manipulation/js/pixastic_compatible.js"; } elseif ($CONFIG['plugin_image_manipulation_contrast'] != '1' && $CONFIG['plugin_image_manipulation_saturation'] != '1' && $CONFIG['plugin_image_manipulation_sharpness'] != '1') { $JS['includes'][] = "./plugins/image_manipulation/js/pixastic_compatible.js"; } else { $JS['includes'][] = "./plugins/image_manipulation/js/pixastic.js"; } $JS['includes'][] = "./plugins/image_manipulation/js/image_manipulation.js"; } }
cpg_die(INFORMATION, $lang_errors['no_img_to_display'], __FILE__, __LINE__); } elseif (count($pic_data) == 0 && $pos >= $pic_count) { $pos = $pic_count - 1; $human_pos = $pos + 1; $pic_data = get_pic_data($album, $pic_count, $album_name, $pos, 1, false); } $CURRENT_PIC_DATA = $pic_data[0]; } if ($action == 'download' && $CURRENT_PIC_DATA['filename'] != '') { $mypath = $CONFIG['fullpath'] . $CURRENT_PIC_DATA['filepath'] . $CURRENT_PIC_DATA['filename']; header('Content-type: image/jpeg'); header('Content-Disposition: attachment; filename="' . $CURRENT_PIC_DATA['filename'] . '"'); ob_end_flush(); readfile($mypath); } elseif ($CURRENT_PIC_DATA['filename'] != '') { $client_array = cpg_determine_client(); if (in_array($client_array['browser'], array('IE8', 'IE7', 'IE6', 'IE5.5', 'IE5', 'Opera', 'Chrome')) == TRUE) { // if IE, Opera or Chrome, open download file in same browser window because they detect // that it's a download. else open in new window, cause mozilla needs this to not stop animated GIFs $download_link = "window.location='index.php?file=enlargeit/download&action=download&pid=" . $pid . "'"; } else { $download_link = "window.open('index.php?file=enlargeit/download&action=download&pid=" . $pid . "'); return false;"; } echo <<<EOT <table cellspacing="1" style="width:100%;height:100%"> \t<tr> \t\t<td align="center" class="tableh1"> \t\t\t<h2>{$lang_plugin_enlargeit['download']}</h2> \t\t</td> \t</tr> \t<tr>
/** * add_hit() * * @param $pid * @return **/ function add_hit($pid) { global $CONFIG, $raw_ip, $HTML_SUBST; cpg_db_query("UPDATE {$CONFIG['TABLE_PICTURES']} SET hits=hits+1, lasthit_ip='{$raw_ip}', mtime=CURRENT_TIMESTAMP WHERE pid='{$pid}'"); /** * Code to record the details of hits for the picture, if the option is set in CONFIG */ if ($CONFIG['hit_details']) { // Get the details of user browser, IP, OS, etc $client_details = cpg_determine_client(); $time = time(); //Sanitize the referer $referer = urlencode(addslashes($_SERVER['HTTP_REFERER'])); // Insert the record in database $query = "INSERT INTO {$CONFIG['TABLE_HIT_STATS']}\n SET\n pid = {$pid},\n search_phrase = '{$client_details['query_term']}',\n Ip = '{$raw_ip}',\n sdate = '{$time}',\n referer='{$referer}',\n browser = '{$client_details['browser']}',\n os = '{$client_details['os']}'"; cpg_db_query($query); } }
/** * add_hit() * * @param $pid * @return **/ function add_hit($pid) { global $CONFIG, $raw_ip; if ($CONFIG['count_file_hits']) { cpg_db_query("UPDATE {$CONFIG['TABLE_PICTURES']} SET hits = hits + 1, lasthit_ip = '{$raw_ip}', mtime = CURRENT_TIMESTAMP WHERE pid = {$pid}"); } /** * Code to record the details of hits for the picture, if the option is set in CONFIG */ if ($CONFIG['hit_details']) { // Get the details of user browser, IP, OS, etc $client_details = cpg_determine_client(); $search_phrase = addslashes($client_details['query_terms']); //Making Cage $superCage = Inspekt::makeSuperCage(); $time = time(); //Sanitize the referer if ($superCage->server->keyExists('HTTP_REFERER')) { $referer = $superCage->server->getEscaped('HTTP_REFERER'); } else { $referer = ''; } $hitUserId = USER_ID; // Insert the record in database $query = "INSERT INTO {$CONFIG['TABLE_HIT_STATS']} SET" . " pid = {$pid}," . " search_phrase = '{$search_phrase}'," . " Ip = '{$raw_ip}'," . " sdate = '{$time}'," . " referer='{$referer}'," . " browser = '{$client_details['browser']}'," . " os = '{$client_details['os']}'," . " uid ='{$hitUserId}'"; cpg_db_query($query); } }
function jsmin_compressjs($jsmin_includes) { global $LINEBREAK, $superCage; if (!GALLERY_ADMIN_MODE && !in_array('plugins/jsmin/cache/basic.js', $jsmin_includes) && !in_array('plugins/jsmin/cache/basic.js.gz', $jsmin_includes)) { // gzip works with Firefox, Opera, Chrome, IE7+ // but browser must be setup to accept gzip encoding $jsmin_clientarray = cpg_determine_client(); $jsmin_acceptencoding = $superCage->server->getRaw('HTTP_ACCEPT_ENCODING'); // default suffix is .js $jsmin_suffix = '.js'; if (in_array($jsmin_clientarray['browser'], array('Firefox', 'Opera', 'Chrome', 'IE8', 'IE7')) == TRUE && substr_count($jsmin_acceptencoding, 'gzip') && defined('FORCE_GZIP')) { // zlib there and browser supports it => suffix is now .js.gz $jsmin_suffix = '.js.gz'; } // basic files if (!file_exists('plugins/jsmin/cache/basic' . $jsmin_suffix)) { $jsmin_content = file_get_contents('js/jquery-1.3.2.js') . $LINEBREAK . file_get_contents('js/scripts.js') . $LINEBREAK . file_get_contents('js/jquery.greybox.js') . $LINEBREAK . file_get_contents('js/jquery.elastic.js') . $LINEBREAK; $jsmin_packedcontent = JSMin::minify($jsmin_content); if ($jsmin_suffix == '.js.gz') { $jsmin_packedcontent = gzencode($jsmin_packedcontent); } $jsmin_newfile = fopen('plugins/jsmin/cache/basic' . $jsmin_suffix, "w+"); fwrite($jsmin_newfile, $jsmin_packedcontent); fclose($jsmin_newfile); } $jsmin_basicfiles = 'plugins/jsmin/cache/' . 'basic' . $jsmin_suffix; if (in_array('js/jquery-1.3.2.js', $jsmin_includes)) { unset($jsmin_includes[array_search('js/jquery-1.3.2.js', $jsmin_includes)]); } if (in_array('js/scripts.js', $jsmin_includes)) { unset($jsmin_includes[array_search('js/scripts.js', $jsmin_includes)]); } if (in_array('js/jquery.greybox.js', $jsmin_includes)) { unset($jsmin_includes[array_search('js/jquery.greybox.js', $jsmin_includes)]); } if (in_array('js/jquery.elastic.js', $jsmin_includes)) { unset($jsmin_includes[array_search('js/jquery.elastic.js', $jsmin_includes)]); } // compress the rest to another file $jsmin_string = ''; foreach ($jsmin_includes as $jsmin_file) { $jsmin_string .= $jsmin_file; } $jsmin_hash = md5($jsmin_string); // generate new file if (!file_exists('plugins/jsmin/cache/' . $jsmin_hash . $jsmin_suffix)) { $jsmin_content = ''; foreach ($jsmin_includes as $jsmin_file) { $jsmin_content .= file_get_contents($jsmin_file) . $LINEBREAK; } $jsmin_packedcontent = JSMin::minify($jsmin_content); // $jsmin_packedcontent .= $LINEBREAK.'//'.$jsmin_string; if ($jsmin_suffix == '.js.gz') { $jsmin_packedcontent = gzencode($jsmin_packedcontent); } $jsmin_newfile2 = fopen('plugins/jsmin/cache/' . $jsmin_hash . $jsmin_suffix, "w+"); fwrite($jsmin_newfile2, $jsmin_packedcontent); fclose($jsmin_newfile2); } $jsmin_includes = array(); $jsmin_includes[] = $jsmin_basicfiles; if ($jsmin_hash != 'd41d8cd98f00b204e9800998ecf8427e') { $jsmin_includes[] = 'plugins/jsmin/cache/' . $jsmin_hash . $jsmin_suffix; } } return $jsmin_includes; }
/** * add_hit() * * @param $pid * @return **/ function add_hit($pid) { global $CONFIG, $raw_ip, $HTML_SUBST; if ($CONFIG['count_file_hits']) { cpg_db_query("UPDATE {$CONFIG['TABLE_PICTURES']} SET hits=hits+1, lasthit_ip='{$raw_ip}', mtime=CURRENT_TIMESTAMP WHERE pid='{$pid}'"); } /** * Code to record the details of hits for the picture, if the option is set in CONFIG */ if ($CONFIG['hit_details']) { // Get the details of user browser, IP, OS, etc $client_details = cpg_determine_client(); //Making Cage $superCage = Inspekt::makeSuperCage(); $time = time(); //Sanitize the referer //Used getRaw() method but sanitized immediately if ($superCage->server->keyExists('HTTP_REFERER')) { $referer = urlencode(addslashes(htmlentities($superCage->server->getRaw('HTTP_REFERER')))); } else { $referer = ''; } // Insert the record in database $query = "INSERT INTO {$CONFIG['TABLE_HIT_STATS']}\n SET\n pid = {$pid},\n search_phrase = '{$client_details['query_term']}',\n Ip = '{$raw_ip}',\n sdate = '{$time}',\n referer='{$referer}',\n browser = '{$client_details['browser']}',\n os = '{$client_details['os']}'"; cpg_db_query($query); } }