Seite 1 von 16

[Final] Partner Mod / [Final] Partner Mod 2.1

Verfasst: 17.09.2005 13:50
von fanrpg
Partner Mod 2.1


Link zur Beschreibung vom Partner Mod 2.1: http://www.phpbb.de/viewtopic.php?p=746148#746148

--

Partner Mod 1.x.x

Also mir kam heute eine Idee, weil viele Boards Partner haben und man keine genaue Auskunft darüber kriegt wie viele Klicks so ein Partner erzeugt habe ich schnell was geschrieben das sieht so aus:

http://www.fanrpg.de/mods/partner.php

und das ist noch eine Datei die die Aurfufe zählt die wird in die index.php includiert die sieht so aus:

Code: Alles auswählen

<?php
if($_GET['partner'] != "")
{
$partnerid = $_GET['partner'];
$sql_plus = "SELECT * FROM `".$table_prefix."partner` WHERE `partner` = '".$partnerid."'";
$sql_plus_result = mysql_query($sql_plus) or sql_error($sql_plus, "3");
while($row_partner = mysql_fetch_assoc($sql_plus_result))
{
if($_GET['partner'] != "")
  {
  if($_GET['partner'] != $row_partner['partner'])
    {
      message_die(GENERAL_ERROR, "Partner ID nicht vorhanden", "", __LINE__, __FILE__, $sql);
    }
    else
    {
      define('PARTNER_OK', true);
    }
  }	

  $sql_partnerid = $row_partner['partner'];
  $clicks = $row_partner['clicks'];
  
}


if(defined('PARTNER_OK'))
{
  if($_GET['partner'] == $sql_partnerid)
  {
    $clicks++;
	$new_clicks = $clicks;
    $sql_plus1 = "UPDATE `".$table_prefix."partner` SET `clicks` = '".$new_clicks."' WHERE `partner` = '".$partnerid."'";
    $result_plus = mysql_query($sql_plus1) or sql_error($sql_plus1, "3");
  }

}
}
?>
und die partner.php sieht so aus:

Code: Alles auswählen

echo '<table border="0" class="forumline" width="50%" align="center">
<tr>
<td class="gen" align="center" width="50%"><b>Name / Nummer des Partners</b></td>
<td class="gen" align="center" width="50%"><b>Klicks von der Partnerseite</b></td>
</tr>';
$sql = "SELECT * FROM `".$table_prefix."partner`";
$result = mysql_query($sql) or sql_error($sql, "3");
while($row = mysql_fetch_assoc($result))
{
?>
<tr>
<td align="center" class="gensmall"><?= $row['partner'] ?></td>
<td align="center" class="gensmall"><?= $row['clicks'] ?></td>
</tr>
<?
}
echo '</table><br />';


if ( $userdata['user_level'] == ADMIN )
{
if(isset($_POST['new_submit']))
{
$newest_partner = $_POST['new_partner'];
$newest_partner = htmlspecialchars($newest_partner);
$sql_insert = "INSERT INTO `".$table_prefix."partner` (`partner`) VALUES ('".$newest_partner."')";
$result = mysql_query($sql_insert) or sql_error($sql_insert, "3");
echo '<meta http-equiv="refresh" content="1 url=partner.php?ok=ok">';
}
echo '<table border="0" width="100%" class="forumline">
<tr>
<td class="row2" align="center">Administration</td>
</tr>
<tr>
<td class="row1">Einen Partner hinzufügen:<br />
<form method="post">
Name oder Nummer des neuen Partners: <input type="text" name="new_partner"><br />
<input type="submit" name="new_submit" value="Absenden">
</form>
</td>
</tr>
</table>';
}
Und die Links werden gezählt wenn man die index.php mit einer partner id aufruft also so z.B index.php?partner=bla dann wird dem partner bla ein Klick gutgeschrieben

Und jetzt meine Frage, besteht Interesse an dem Mod?

Wenn ja dann würde ich ihn in die lang dateine packen und nen Template Syntax verpassen

Also besteht Interesse an sowasß

Aktuelle Version: Final 1.1.0
Download: http://fanrpg.com/download.php?dl=partnermod_1_1_0.zip

Verfasst: 17.09.2005 13:54
von 240709Gast
Jepp Interesse besteht! So kann man seine Partner dann besser an die Benutzer des Forums anpassen.


Gibt es vielleicht noch eine möglichkeit da zu ergänzen, wie viele Leute "von" der Partnerseite gekommen sind?

Also Quasi so:

Partner ID // Clicks Out // Clicks In

?



mfg, Cold

Verfasst: 17.09.2005 13:56
von fanrpg
Cold hat geschrieben:Jepp Interesse besteht! So kann man seine Partner dann besser an die Benutzer des Forums anpassen.


Gibt es vielleicht noch eine möglichkeit da zu ergänzen, wie viele Leute "von" der Partnerseite gekommen sind?
Verstehe zwar nicht so recht was du meinst aber gehen tut so ziemlich alles mit PHP

Verfasst: 17.09.2005 14:02
von 240709Gast
Jepp Interesse besteht! So kann man seine Partner dann besser an die Benutzer des Forums anpassen.


Bedeutet: Man sieht, ob die User Interesse an dem Partner haben und ob sich eine Partnerschaft dementsprechend überhaupt lohnt (für den Partner).
Gibt es vielleicht noch eine möglichkeit da zu ergänzen, wie viele Leute "von" der Partnerseite gekommen sind?
Bedeutet: Ob sich eine Partnerschaft mit dem Partner für einen selbst lohnt.


Jetzt verstanden? ;) Ist vll ein wenig merkwürdig ausgedrückt, wohl aber ganz verständlich jetzt ^^



mfg, Cold

Verfasst: 17.09.2005 14:06
von fanrpg
Also Punkt1 hmm da muss ich mal gucken aber ich denke irgendwie wird es schon klappen im Notfall kann er ja den Mod dann auch installen :D

Zu Punkt2 das ist ja der Sinn des Mods und das macht er ja schon

Verfasst: 17.09.2005 14:17
von 240709Gast
Zu 2) Aso ^^... hab gedacht er zählt die klicks die weggehen, nicht die, die ankommen... Dann ist es ja schon Perfekt ;)...

Zu 1) Hat sich dann ja fast erledigt, ausser du hast Interesse daran einen komplett neuen Partner-MOD zu schreiben ;)


mfg, Cold

Verfasst: 17.09.2005 14:19
von fanrpg
Gut dann vergrabe ich mich mal wieder in der Doku um nen funktionierenden Template Syntax hinzukriegen :wink:

Verfasst: 17.09.2005 15:11
von fanrpg
So hab jetzt mal die erste version fertiggestellt :D

Code: Alles auswählen

## EasyMod compliant
##############################################################
## MOD Title: Partner Mod - Beta
## MOD Author: fanrpg < alexanderschumacher@gmx.de > (Alexander Schumacher) www.fanrpg.de
## MOD Description: Zählt die Klicks von den Partnerseiten und schreibt diese 
##                  in die DB
##                  
##                  CHMOD kompatibel
## MOD Version: 0.0.1
##
## Installation Level: Easy
## Installation Time: 10 min
## Files To Edit: 4
##                includes/functions.php
##                index.php
##                language/lang_english/lang_main.php
##                language/lang_main.php
## Included Files:  partner.php
##                  clicks_mod.php
##                  templates/subSilver/partner_bpdy.tpl
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MODs not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
  includes/functions.php
#
#-----[ FIND ]------------------------------------------
#
function redirect($url)
{
	global $db, $board_config;

	if (!empty($db))
	{
		$db->sql_close();
	}

	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))
	{
		message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
	}

	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
	$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));

	// Redirect via an HTML form for PITA webservers
	if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
	{
		header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
		echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
		exit;
	}

	// Behave as per HTTP/1.1 spec for others
	header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
	exit;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start Add - Partner Mod
function sql_error($query, $fehlertype)
{
if($fehlertype == "0")
{
echo("Ein unerwarteter Fehler ist aufgetreten");
}
elseif($fehlertype == "1")
{
die("Ein unerwarteter Fehler ist aufgetreten");
}
elseif($fehlertype == "2")
{
die(mysql_error());
}
elseif($fehlertype == "3")
{
die("MySQL Fehler: ". mysql_error() . "<br />SQL: ".$query."<br />");
}
}
// End Add - Partner Mod
#
#-----[ OPEN ]------------------------------------------
#
  index.php
#
#-----[ FIND ]------------------------------------------
#
//
// Start session management
//
#
#-----[ BEFORE, ADD ]------------------------------------------
#
include($phpbb_root_path . 'clicks_mod'.$phpEx);

#
#-----[ OPEN ]------------------------------------------
#
  language/lang_german/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['partner_clicks'] = 'Klicks';
$lang['partner_name'] = 'Name oder Nummer des Partners';
$lang['partner_insert'] = 'Partner hinzufügen';
$lang['partner_name_or_number'] = 'Name oder Nummer des Partners';
$lang['partner_absenden'] = 'Abschicken';
$lang['partner_admin'] = 'Administration';
$lang['partner_clicks_from'] = 'Klicks vom Partner';
#
#-----[ OPEN ]------------------------------------------
#
  language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['partner_clicks'] = 'Clicks';
$lang['partner_name'] = 'Name / Number of Pard';
$lang['partner_insert'] = 'Pard add';
$lang['partner_name_or_number'] = 'Name or Number of Pard';
$lang['partner_absenden'] = 'Subscribe';
$lang['partner_admin'] = 'Administration';
$lang['partner_clicks_from'] = 'Clicks from Pard';
#
#-----[ SQL ]------------------------------------------
#
CREATE TABLE `phpbb_partner` (
  `ID` int(11) NOT NULL auto_increment,
  `partner` varchar(255) NOT NULL default '',
  `clicks` int(255) NOT NULL default '0',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=0 ;

#
#-----[ COPY ]------------------------------------------
#
copy partner.php to partner.php
copy clicks_mod.php to clicks_mod.php
copy templates/subSilver/partner_body.tpl to templates/subSilver/partner_bpdy.tpl
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
#
Hab auf die schnelle keine Fehler gefunden

hier der DL: http://www.fanrpg.de/partnermod_beta_vier.zip

Verfasst: 17.09.2005 18:50
von fanrpg
So neue version:

- Engine optimiert
- Administrationsbug entfernt
- Löschen von Partnern möglich
- Zählung der Clicks anhand der ID und nicht mehr über den namen
- und kleinere Bugfixes

Hier der DL: http://www.fanrpg.de/partnermod_beta_vier.zip

EDIT: :oops: Und 3 Bugs in der Engine behoben

Verfasst: 17.09.2005 23:56
von bordum
Cool, wenn es realeased werde ich es sofort einbauen

:grin: