Example #1
0
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 "";
}
Example #2
0
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;
Example #3
0
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";
    }
}
Example #4
0
        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>
Example #5
0
/**
 * 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);
    }
}
Example #7
0
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;
}
Example #8
0
/**
 * 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);
    }
}