News:

CPG Release 1.6.28
added submissions from {406man}
cleaned up a few PHP (8.4) deprecations
fixed PHP deprecation in calendar
removed security vulnerability
(please upgrade when possible)

Main Menu

[Done] statistics as an image - have a look

Started by Bruz, March 01, 2004, 11:24:45 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

aem

Are you talking to me or someone else?  :)


aem

Still not 100% sure what you mean but here is the changes i've made. Compare it to the original script.

Quote$im = ImageCreateTrueColor (120, 150);
$bgc = ImageColorAllocate ($im, 223, 230, 239);
$farbe_text = ImageColorAllocate ($im, 0, 0, 132);
$farbe_online = ImageColorAllocate ($im, 255, 0, 0);
$tc = ImageColorAllocate ($im, 1, 5, 17);
ImageFilledRectangle ($im, 0, 0, 120, 150,$bgc);
ImageString($im, 3, 10, 90, "Member Gallery", $farbe_text);
ImageString($im, 2, 10, 100, "$total_pics Pictures", $tc);
ImageString($im, 2, 10, 110, "$total_albums Albums", $tc);
ImageString($im, 2, 10, 120, "$total_comments Comments", $tc);
ImageString($im, 2, 10, 130, "viewed $total_views times", $tc);

Bizzy

You see how you have a pic on your website, you are using a portal right?  Smartor ezPortal  I would also like to have the block with a pic coming from my coppermine album as well.  I was hoping  you could share the code with me, how you did it.  I would like to have 2 pic's horisontal on my Portal.  Help if you can please.
Thank you

Bizzy

Quote from: Bizzy on May 17, 2004, 05:03:32 AM
You see how you have a pic on your website, you are using a portal right?  Smartor ezPortal  I would also like to have the block with a pic coming from my coppermine album as well.  I was hoping  you could share the code with me, how you did it.  I would like to have 2 pic's horisontal on my Portal.  Help if you can please.
Thank you
No sorry not across going down  the right side of my portal

aem

The code/script is made by Bruz. It's on the first page of this thread. Details are all there (4th post down).

The code is for one pic...

Bruz, have you got that amendment for me man? ;)

Bizzy

And how do I place it in a "block"  in my portal page?  I know how to do a "block"  but how I connect signature.php to my portal with block.  hope you understand me.  please forgive me, i'm new to this. :(

aem

I was right about not 100% sure about what you're trying to say. ;D

Do u know how to make new portal boxes with your potal? if so just put the table code i gave earlier in the text area of the new box (assumming your portal box allows for htmls) along with your working script.

If you read this thread from the begining you would know that the code/script was made to work with image tags.

If you still have probs, PMe me your portal admin logon (ie IDs and password) and hopefully i can do it for you.

Bizzy

AEM..........please help!  I have tried installing this album on my portal page. running ezportal "smartor" I have failed miserably over and over.  I have a block with lastest upload, but I did it manually.
Lots of work chaging pic every time my user uploads one.
MY question is AEM......can I give you my info and you config this for me please.  I would like to have a block on my portal.php page with recent pic uploaded.
If you could help it be awsome.

aem

I can try. At the moment i'm still not sure what you are trying to achieve.

PM me the details (access details) and i see what i can do.

luchtzak

I have a question, one of my members asked me this: http://www.luchtzak.be/modules.php?name=Forums&file=viewtopic&p=41306#41306

is this possible to program something in the signature.php ?

seros

luchtzak: I got a question, how to add more information on the image? The total user, Last pic, ...?
thanks

nukeworker

The post that included "all of the code edited" had html where some important characters went. here is the correct code:

<?
// ------------------------------------------------------------------------- //
//  include script for CPG (c) 2003 GauGau (mail@gaugau.de) V1.4             //
//  http://gaugau.de/                                                        //
// ------------------------------------------------------------------------- //
//  Coppermine Photo Gallery v1.1                                     //
// ------------------------------------------------------------------------- //
//  Copyright (C) 2002,2003  Gr&eacute;gory DEMAR <gdemar@wanadoo.fr>               //
//  http://www.chezgreg.net/coppermine/                                      //
// ------------------------------------------------------------------------- //
//  Based on PHPhotoalbum by Henning Støverud <henning@stoverud.com>         //
//  http://www.stoverud.com/PHPhotoalbum/                                    //
// ------------------------------------------------------------------------- //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
// ------------------------------------------------------------------------- //

/////////////////// edit the following lines //////////////////////////////
$url_of_cpg_dir='http://url of your coppermine/';    // full path to your coppermine gallery (with trailing slash)
$absolute_path_to_coppermine='/path to your coppermine/'; // absolute path on your server to coppermine gallery (with trailing

slash)
// to find more about absolute paths, check http://www.php.net/manual/en/function.phpinfo.php and look for 'DOCUMENT_ROOT' in your

phpinfo.php
$cpg_decimal_point="."; //what character is used to separate decimals in your country, e.g. in Germany ",", in GB "."
$cpg_thousands_separator=","; //what character is used to separate thousands in your country, e.g. in Germany ".", in GB & US ",", in France

" "
$cpg_lang_pics = "Pictures"; //translate this
$cpg_lang_views = "view"; //translate this
$cpg_lang_random = "Random pic of this album"; //translate this
$cpg_lang_keywords = "Keywords"; //translate this

/////// don't edit below this line unless you know what your're doing /////////

include_once( $absolute_path_to_coppermine.'/include/config.inc.php');

// definition taken from init.inc.php
$CONFIG['TABLE_PICTURES']        = $CONFIG['TABLE_PREFIX']."pictures";
$CONFIG['TABLE_ALBUMS']                = $CONFIG['TABLE_PREFIX']."albums";
$CONFIG['TABLE_COMMENTS']        = $CONFIG['TABLE_PREFIX']."comments";
$CONFIG['TABLE_CATEGORIES']        = $CONFIG['TABLE_PREFIX']."categories";
$CONFIG['TABLE_CONFIG']                = $CONFIG['TABLE_PREFIX']."config";
$CONFIG['TABLE_USERGROUPS']        = $CONFIG['TABLE_PREFIX']."usergroups";
$CONFIG['TABLE_VOTES']                = $CONFIG['TABLE_PREFIX']."votes";
$CONFIG['TABLE_USERS']                = $CONFIG['TABLE_PREFIX']."users";
// Connect to database
db_connect() || die("<b>Coppermine critical error</b>:<br />Unable to connect to database !<br /><br />MySQL said:

<b>".mysql_error()."</b>");

// get config data
$result = mysql_query("SELECT * from {$CONFIG['TABLE_CONFIG']} WHERE name='fullpath'");
$row = mysql_fetch_row($result);
$cpg_album_path=$row[1];
$result = mysql_query("SELECT * from {$CONFIG['TABLE_CONFIG']} WHERE name='thumb_pfx'");
$row = mysql_fetch_row($result);
$cpg_thumb_pfx=$row['1'];
$result = mysql_query("SELECT * from {$CONFIG['TABLE_CONFIG']} WHERE name='thumbcols'");
$row = mysql_fetch_row($result);
$cpg_thumbcols=$row['1'];


if ($function == 'cpg_thumb' || $function == 'recentTopics' || $function == 'whosOnline' || $function == 'welcome' || $function == 'menubar'

|| $function == 'logout' || $function == 'login' || $function == 'topBoards' || $function == 'topTopicsViews' || $function ==

'topTopicsReplies' || $function == 'latestMember' || $function == 'boardStats')
{
       $function(); // Execute Function
       exit;
}

function cpg_thumb()
{
GLOBAL $CONFIG,$url_of_cpg_dir,$cpg_album_path,$cpg_thumb_pfx,$cpg_thumbcols,$cpg_lang_random,$cpg_lang_views,$cpg_lang_keywords;
$numargs = func_num_args();
$arg_list = func_get_args();
if ($numargs > 0) {$cpg_include_link=$arg_list[0];}
if ($numargs > 1) {$cpg_link_singlepic=$arg_list[1];}
if ($numargs > 2) {$cpg_how_many=$arg_list[2];}
if ($numargs > 3) {$cgp_limit_album=$arg_list[3];}
if ($numargs > 4) {$cpg_random=$arg_list[4];}
if ($numargs > 5) {$cpg_link_target=$arg_list[5];}
if ($cpg_link_target==""){$cpg_link_target="_top";}


//get pic info
$query = "SELECT * from {$CONFIG['TABLE_PICTURES']} WHERE approved='YES' ";
if($cgp_limit_album!=""){$query.="AND aid='".$cgp_limit_album."'";}
$query.=" AND user2!='1' ORDER BY ";
if($cpg_random=="1"){$query.="RAND()";}else{$query.="ctime";}
$query.=" DESC LIMIT 0,".$cpg_how_many;
$result = mysql_query($query);
if ($cpg_how_many!=1)
{
$return_value="<table align=\"center\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\" class=\"maintable\" border=\"0\">";
$td_start="<td valign=\"middle\" class=\"thumbnails\" align=\"center\">\n";
$td_end="</td>";
$cpg_table_end="</table>";
$tr_start="<tr>\n";
$tr_end="</tr>\n";
}
else
{
$return_value="";
$td_start="";
$td_end="";
$cpg_table_end="";
$tr_start="";
$tr_end="";
}
$counter=0;
if ($cpg_thumbcols > $cpg_how_many) {$cpg_thumbcols=$cpg_how_many;}

while ($row = mysql_fetch_array($result)) {
//------
if ($counter==0){$return_value.=$tr_start;}
$return_value.=$td_start;
if ($cpg_include_link==1)
 {
 $return_value.= "<a href=\"";
   if ($cpg_link_singlepic==1)
     {
      if ($cpg_link_target=="popup")
         {
         $return_value.="javascript:;\"

onClick=\"MM_openBrWindow('".$url_of_cpg_dir."displayimage.php?pid=".$row['pid']."&fullsize=1','".uniqid(rand())."','toolbar=yes,status=yes,r

esizable=yes,width=".($row['pwidth']+16).",height=".($row['pheight']+16)."')\"";
         }
         else
         {
         $return_value.=$url_of_cpg_dir."displayimage.php?&pos=-".$row['pid'];
         }
     }
   else
     {
     $return_value.=$url_of_cpg_dir."thumbnails.php?album=".$row['aid'];
     }
 $return_value.="\" ";

 if($cpg_link_target=="popup"){$return_value.="";}else{$return_value.="target=\"".$cpg_link_target."\"";}
 $return_value.=">";
 }
$return_value.= "".$url_of_cpg_dir.$cpg_album_path.$row[rawurlencode('filepath')].rawurlencode($cpg_thumb_pfx.$row['filename']);
//if ($row['title']!="") {$return_value.= $row['title']."&#10;";}
//if ($row['caption']!="") {$return_value.= $row['caption']."&#10;";}
//if ($row['keywords']!="") {$return_value.= $cpg_lang_keywords . ": " . $row['keywords']."&#10;";}
//if ($row['hits']!="") {$return_value.= $row['hits']." ".$cpg_lang_views."&#10;";}
//if($cpg_random=="1")  {$return_value.= $cpg_lang_random;}
//$return_value.= "\" align=\"left\" class=\"padright\">";
//if ($cpg_include_link==1){$return_value.="</a>";}
//$return_value.=$td_end."\n";
$counter++;
if ($counter==$cpg_thumbcols){$counter=0;$return_value.=$tr_end;}
}

$return_value.=$cpg_table_end;
return $return_value;
}

function cpg_single()
{
$numargs = func_num_args();
$arg_list = func_get_args();
if ($numargs > 0){return cpg_thumb(1,1,1,"",0,$arg_list[0]);}
else{return cpg_thumb(1,1,1,"",0);}
}

function cpg_total_pics($cgp_limit_album)
{
GLOBAL $CONFIG,$cpg_decimal_point,$cpg_thousands_separator;
 $query = "SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'";
 if($cgp_limit_album!=""){$query.=" AND aid='".$cgp_limit_album."'";}
 $result = mysql_query($query);
 $nbEnr = mysql_fetch_array($result);
 $pic_count = $nbEnr[0];
 mysql_free_result($result);
 return number_format($pic_count,0,$cpg_decimal_point,$cpg_thousands_separator);
}

function cpg_total_views($cgp_limit_album)
{
GLOBAL $CONFIG,$cpg_decimal_point,$cpg_thousands_separator;
 $query = "SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1";
 if($cgp_limit_album!=""){$query.=" AND aid='".$cgp_limit_album."'";}
 $result = mysql_query($query);
 $nbEnr = mysql_fetch_array($result);
 $view_count = $nbEnr[0];
 mysql_free_result($result);
 return number_format($view_count,0,$cpg_decimal_point,$cpg_thousands_separator);
}

function cpg_hit_ratio($cgp_limit_album)
{
GLOBAL $CONFIG;
//get stats
$result=mysql_query("SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$hit_count = (int)$nbEnr[0];
$result=mysql_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$picture_count = $nbEnr[0];
$cpg_ratio_string=str_replace(".", ",",(floor(((str_replace(".", "", cpg_total_views($cgp_limit_album))/str_replace(".", "",

cpg_total_pics($cgp_limit_album)))*10)/($hit_count/$picture_count)))/10);
//$cpg_ratio_string=cpg_total_views($cgp_limit_album).'|'.cpg_total_pics($cgp_limit_album).'|'.$hit_count.'|'.$picture_count;
return $cpg_ratio_string;


}

function cpg_stat_string($cgp_limit_album)
{
GLOBAL $url_of_cpg_dir,$cpg_lang_pics,$cpg_lang_views;
$cpg_stat_string='[<a href="'.$url_of_cpg_dir.'thumbnails.php?album='.$cgp_limit_album.'"><b>';
$cpg_stat_string.=cpg_total_pics($cgp_limit_album);
$cpg_stat_string.='</b> ' . $cpg_lang_pics . '</a>, <a href="'.$url_of_cpg_dir.'thumbnails.php?album=topn&cat=-'.$cgp_limit_album.'"><b>';
$cpg_stat_string.=cpg_total_views($cgp_limit_album);
$cpg_stat_string.='</b> ' . $cpg_lang_views . '</a>';
$cpg_stat_string.=', <span class="tool" title="SF=Spanner-Faktor:&#10;Wie oft sind die Bilder dieses Albums durchschnittlich angeklickt

worden, im Vergleich zur gesamten Galerie?">SF: '.cpg_hit_ratio($cgp_limit_album).'</span>';
$cpg_stat_string.=']';
return $cpg_stat_string;
}

function cpg_total_albums()
{
GLOBAL $CONFIG,$cpg_decimal_point,$cpg_thousands_separator;
 $query = "SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} WHERE 1";
 $result = mysql_query($query);
 $nbEnr = mysql_fetch_array($result);
 $album_count = $nbEnr[0];
 mysql_free_result($result);
 return number_format($album_count,0,$cpg_decimal_point,$cpg_thousands_separator);
}

function cpg_total_comments()
{
GLOBAL $CONFIG,$cpg_decimal_point,$cpg_thousands_separator;
 $query = "SELECT count(*) FROM {$CONFIG['TABLE_COMMENTS']} WHERE 1";
 $result = mysql_query($query);
 $nbEnr = mysql_fetch_array($result);
 $comments_count = $nbEnr[0];
 mysql_free_result($result);
 return number_format($comments_count,0,$cpg_decimal_point,$cpg_thousands_separator);
}

function cpg_total_cats()
{
GLOBAL $CONFIG,$cpg_decimal_point,$cpg_thousands_separator;
 $query = "SELECT count(*) FROM {$CONFIG['TABLE_CATEGORIES']} WHERE 1";
 $result = mysql_query($query);
 $nbEnr = mysql_fetch_array($result);
 $cats_count = $nbEnr[0];
 mysql_free_result($result);
 return number_format($cats_count,0,$cpg_decimal_point,$cpg_thousands_separator);
}


function cpg_random()
{
return cpg_thumb(1,1,1,"",1);
}

function random_picture()
{
return cpg_thumb(0,0,1,"",1);
}

function cpg_search($cpg_size,$cpg_question,$cpg_submit_text)
{
GLOBAL $url_of_cpg_dir;
$cpg_search_string = "<form method=\"get\" action=\"" . $url_of_cpg_dir . "thumbnails.php\" name=\"search_cpg\">
<input type=\"hidden\" name=\"album\" value=\"search\" />
<input type=\"hidden\" name=\"type\" value=\"full\" />
<input type=\"input\" name=\"search\" maxlength=\"255\" size=\"" . $cpg_size . "\" value=\"" . $cpg_question . "\" class=\"textfield\"

onfocus=\"this.value=''\" />";
if ($cpg_submit_text!="" and $cpg_submit_text!="0")
 {
 $cpg_search_string.= " <input type=\"submit\" value=\"" . $cpg_submit_text . "\" class=\"submit\" />";
 }
$cpg_search_string.= "</form>";
return $cpg_search_string;
}

function cpg_stats()
{
GLOBAL $CONFIG;
$result=mysql_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$album_count = $nbEnr[0];
mysql_free_result($result);

$result=mysql_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$picture_count = $nbEnr[0];
mysql_free_result($result);

$result=mysql_query("SELECT count(*) FROM {$CONFIG['TABLE_COMMENTS']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$comment_count = $nbEnr[0];
mysql_free_result($result);

$result=mysql_query("SELECT count(*) FROM {$CONFIG['TABLE_CATEGORIES']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$cat_count = $nbEnr[0] - $HIDE_USER_CAT;
mysql_free_result($result);

$result=mysql_query("SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1");
$nbEnr = mysql_fetch_array($result);
$hit_count = (int)$nbEnr[0];
mysql_free_result($result);


print $picture_count.", ".$album_count.", ".$cat_count.", ".$comment_count.", ".$hit_count;
}


//function taken from functions.inc.php
function db_connect()
{
       global $CONFIG;
       $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
       if (!$result)
               return false;
       if (!mysql_select_db($CONFIG['dbname']))
               return false;
       return $result;
}

$total_pics = cpg_total_pics("");
$total_albums = cpg_total_albums();
$total_comments = cpg_total_comments();
$total_views = cpg_total_views("");
$random_picture = random_picture();

$im = ImageCreateTrueColor (375, 150);
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$farbe_text = ImageColorAllocate ($im, 0, 0, 132);
$farbe_online = ImageColorAllocate ($im, 255, 0, 0);
$tc = ImageColorAllocate ($im, 3, 5, 17);
ImageFilledRectangle ($im, 0, 0, 375, 150 ,$bgc);
ImageString($im, 3, 155, 7, "Your name here Statistics", $farbe_text);
ImageString($im, 2, 155, 20, "$total_pics Pictures", $tc);
ImageString($im, 2, 155, 30, "$total_albums Albums", $tc);
ImageString($im, 2, 155, 40, "$total_comments Comments", $tc);
ImageString($im, 2, 155, 50, "viewed $total_views times", $tc);

imagecolortransparent($im, $bgc);

$background = $im ;
$insert = imagecreatefromjpeg($random_picture);

imagecolortransparent($insert, imagecolorexact($insert,255,0,255));

$insert_x = imagesx($insert);
$insert_y = imagesy($insert);

imagecopymerge($background,$insert,0,0,0,0,$insert_x,$insert_y,100);

header("Content-Type: image/png");
imagepng($background,"",100);
ImageDestroy ($im);
?>


Edit it with your path...

cerberus

nukeworker, well done! :)
I've started to clean the code manually, but later I've noticed that you have already done it ;D
With Best Regards, Cerberus
Edamus, bibamus, gaudeamus.
http://www.pocketpcrussia.com - My Main Site

nukeworker

Quote from: cerberus on July 19, 2004, 04:38:59 PM
nukeworker, well done! :)
I've started to clean the code manually, but later I've noticed that you have already done it ;D

Thanks,  I didn't translate some of the remarks... Perhaps someone else can.  It might be useful for some people.  I had to play with it a while to work corectly with my image dimentions.

snork13

#55
works great, thanks

:D

ayako

Hello,

I'd already installed this mod into my CPG and it works great.
But I see, this mod allow everyone to see all photos inside the gallery without any restrictions.
For example, all photos inside my private album can be also viewed.
I don't know, do you have ideas to modify this mod to be more less security vulnerabilities? ???

Ayako

Joachim Müller

this hack is based on my ssi_mod hack, which doesn't take permissions into account - that's why I recommend not using my mod anymore. The same thing applies for all hacks that are based on my mod: if you're concerned about privacy, you shouldn't use it. There's no hack to the hack available that takes permissions into account.

GauGau

luchtzak

Hi all,

is there a way to make the signature.php so that when a random picture appears, and you click on the image it auto-directs you to that particular image? I have alot of pics on coppermine and it's difficult to locate that image.

seros