Jump to content

[REQ] Donatie Thermometer


Recommended Posts

  • 2 weken later...
Geplaatst:

Hey, ik weet niet of ze kant-en-klaar bestaan, maar ik kan je een idee geven hoe het moet.

Je zou in princiepe een poll systeem kunnen slopen en kunnen kijken naar hoe hij het aantal stemmen weergeeft in een balkje, meestal doe je 100*'aantal geld dat je hebt ontvangen' / 'Aantal geld dat je wilt verdienen'.

Dus dan krijg je zoiets:

100*€150=15000/240=44,1176471 => 44,1%

Hiermee kan je dan waarschijnlijk met javascript of php de code maken:

heigth: 44,1px;

Hopelijk helpt dit je een beetje op weg. :cya:

  • 1 maand later...
Geplaatst:
<?php /*
  +------------------------------------------------------------------+
  | Green-Beast.com                                                  |
  | MIX: Donations Gauge                                             |
  | PHP Hypertext Preprocessor                                       |
  | Copyright May 2006                                               |
  | Use with attribution by visible link please!                     |
  | Attribute to: <a href="http://green-beast.com/">Mike Cherim</a>  |
  +------------------------------------------------------------------+
*/ ?>

<?php
/*
  This file's contents can be simply placed where you want the gauge to display
  Or you can break it out into separate files. your call. If you have a secure
  admin, you can create a form to submit the variables similar to the demo
*/

#####################################################
// Begin editable variables

  $current_amt=   3450;     // How much have you recieved (this moves the marker)
  $goal_level=    5000;     // How much are you looking for
  $contact_link=  "#";      // Contact URL or email "mailto:acct@domain.com";
  $currency=      "$";  // Set currency used (See these examples or find your own)
                            // $=Dollars, £=Pounds, ¥=Yen, €=Euros

// End editable variables
######################################################
echo( "<!--donation gauge begin-->" );

// First step is to do a little math (our current amount divided by our goal level x 100 to get a % or current level)
  @$current_level = ( ($current_amt / $goal_level) * 100 );

// Here we need to round that percentage to display it before converting it to pixels (margin-bottom)
  $exact_level = round( $current_level );

/*
  Now we keep the marker down one close to the goal for exact level (% display)
  and to keep the goal from showing it's prematurely met when it's not.
  We also fix the bottom so if the level is 0 or close to it it displays as 1 so we see visible progress
*/
if ( $current_level < 100 && $exact_level == 100 ) {
  $exact_level = 99;
} else if ( $current_level > 0 && $exact_level == 0 ) {
  $exact_level = 1;
}

/*
  Now if we're in that 95-99.99% zone, we need to force the marker down (force it down a bit) so as to
  not obscure the goal text with its background
*/
if ( $current_level > 95 && $current_level < 100 ) {
  $current_level = 95;
} else {
  $current_level = round( $current_level );
}

// Here we keep the bottom end stable for negatives and whatever
   $divisible = ( $current_level % 5 );
if ( $divisible != 0 ) {
   $current_level -= $divisible;
}
// And then prevent overflow when the goal is exceeded
if ( $current_level > 100 ) {
  $current_level = 100;
}

// Now we covert that percentage into bottom margin (300px high so 1% = 3px)
  $margin_level = round( $current_level * 3 );

/*
  It's okay to edit these if you simply MUST do it, but due to absolute positioning,
  do try to keep text lengths as is for guaranteed display
*/
  $donate_head=   "Give to our Cause"; // The Box Heading (could be 'Donate Today')
  $goal_line=     "We need";           // Second line (could be 'Our Goal')
  $goal_got=      "Goal met";          // Got the goal text (could be 'Made it')
  $goal_thanks=   "Thanks!";           // Thanks (need we say more? no room)
  $goal_blind=    "Thanks to you we’re at"; // This is the non-visual line
                                       // This last line is the no fundraiser text (the link is below, though)
  $goal_none=     "Hello. We’re not having a fundraiser at this time, but we thank you for your interest. Care to donate anyway? Please";

// Here we echo the box it all comes in and we pass some variables.
echo( '<div id="cdg-shell">
 <h2 id="cdg_h2">'.$donate_head.'</h2>' );

// Goal status marker plus or the Goal met text... thanks!
  $goal_met2 = "or ".$exact_level."% <span class=\"cdg_arw\">→</span>";
if ( $margin_level == 300 ) {
   $goal_met = "<strong>".$goal_got."";
   $goal_met2 = "".$goal_thanks."</strong>";

// Else nothing, the margin level stays as is (typically 0)
} else {
   $margin_level = "$margin_level";
}

// And here is the guage body if we have a goal to meet
  $gauge_body = "
<p id=\"cdg_goal\">".$goal_line.": ".$currency."".$goal_level."</p>
 <div id=\"cdg\">
   <p title=\"So far we’ve received donations of ".$currency."".$current_amt." or ".$exact_level."% of our goal of ".$currency."".$goal_level." - Thank you!\" style=\"cursor:help;margin-bottom:".$margin_level."px;\" id=\"cdg_p\"><span class=\"blind\">".$goal_blind."</span> ".@$goal_met."  ".$currency."".$current_amt." ".$goal_met2."</p>
   <div id=\"cdg_m\" style=\"height:".$margin_level."px\"></div>
      <img src=\"images/cdg_tmom.gif\" width=\"60\" height=\"300\" alt=\"\" />
 </div>";

// Here it is displayed, the gauge body, or none, all depends on if we have a goal
if ( $goal_level != 0 ) {
   echo ''.$gauge_body.'';
} else {
   echo '<div id="cdg-noshell">
   <p id="cdg_no">'.$goal_none.' <a href="'.$contact_link.'">Contact Us</a>.</p>
 </div>';
}
   echo "</div>
<!--donation gauge output end-->";
?> 

Geplaatst:

Plaats dan meteen de bron erbij in plaats van na bijna twee maanden eens een stuk code te kopiëren en te plakken, zonder ook maar toevoeging te geven. Hier leert niemand wat van. Als je bovendien goed gelezen had, had je in de openingspost kunnen lezen dat deze thermometer (die je van dezelfde site hebt gehaald) bij de topicstarter niet werkt. Volgende keer zulke posts dus achterwegen laten graag.

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...