Seite 3 von 21

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 19.02.2010 16:38
von Schattentraum
Hey ,

vielen Dank für das tolle Teil :)
Grad bei mir implantiert und bishe fehlerfrei.
Aber war ja auch nicht anders zu erwarten.

Könnte man eventuell noch ne kleine Anleitung für die Plugins erstellen? Weil weis da momentan nix mit anzufangen.
Ich mein Farbige Namen ist ja klar , posts auch nur das mit der Lottery bereitet mir kopfzerbrechen -g-

Grueße!

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 19.02.2010 17:12
von darkonia

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 19.02.2010 17:21
von Schattentraum
Hello,
darkonia hat geschrieben:hier der deutsche special item thread:
http://die-muellers.org/viewtopic.php?f ... 6&start=15

und hier der englische:
http://area53.die-muellers.org/viewforum.php?f=35
Ahhh okay , danke ;)

Grueße!

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 26.02.2010 23:57
von Peter3
Hallo.

Wäre folgendes special-item möglich:

Beim Kauf des Items wird das benutzerdefinierte Profilfeld des Users um 1 erhöht.
Es ist ein Einzeiliges Textfeld, hat die Kennung "beispiel " und den zulässigen Wert "Ziffern 0-9"

Freue mich auf Antwort
MfG Peter3

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 27.02.2010 10:13
von darkonia
alle special items müssen die user schon selber machen, die dev umgebung ist ja deswegen eingebaut worden.

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 27.02.2010 11:57
von Peter3
darkonia hat geschrieben:alle special items müssen die user schon selber machen, die dev umgebung ist ja deswegen eingebaut worden.
Würde ich gerne, nur leider habe ich so gut wie keine Ahnung von php
Kann mir vielleicht jemand helfen?

Also ich habe ein neues benutzerdefiniertes Feld erstellt.
FELD-KENNUNG: level
ART DES FELDES: Zahlen

Er hat das Feld auch wunderbar in der Datenbank erstellt: Siehe Bild.

Jetzt habe ich die vorgefertigte Datei user_posts_100.php genommen und versucht nach meinen Wünschen zu ändern...

Zuerst habe ich sie kopiert und in level_1.php umbenannt.

Ich habe zum einen oben den Wert geändert:
find:

Code: Alles auswählen

class user_posts_100 extends item
replace with:

Code: Alles auswählen

class level_1 extends item
Und zu anderen den Block unten modifiziert:
find:

Code: Alles auswählen

	function use_item()
	{
		global $user, $shop, $db, $phpEx, $phpbb_root_path;

		$this->remove_item();

		$posts 	= $user->data['user_posts'] + 100;

		$sql_ary = array(
			'user_posts '		=> $posts,
		);

		$sql = 'UPDATE ' . USERS_TABLE  . '
			SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
			WHERE user_id = ' . (int) $user->data['user_id'];
		$db->sql_query($sql);
	}
replace with:

Code: Alles auswählen

	function use_item()
	{
		global $user, $shop, $db, $phpEx, $phpbb_root_path;

		$this->remove_item();

		$level 	= $user->data['pf_level'] + 1;

		$sql_ary = array(
			'pf_level '		=> $level,
		);

		$sql = 'UPDATE ' . USERS_TABLE  . '
			SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
			WHERE user_id = ' . (int) $user->data['user_id'];
		$db->sql_query($sql);
	}
Als ich das Item benutzen wollte, kam folgende Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Unknown column 'pf_level' in 'field list' [1054]

SQL

UPDATE phpbb_users SET pf_level = 1 WHERE user_id = 2

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/shop/items/level_1.php
LINE: 59
CALL: dbal_mysqli->sql_query()

FILE: includes/shop/functions_shop.php
LINE: 159
CALL: level_1->use_item()

FILE: includes/ucp/ucp_shop.php
LINE: 58
CALL: item->action_handler()

FILE: includes/functions_module.php
LINE: 507
CALL: ucp_shop->main()

FILE: ucp.php
LINE: 321
CALL: p_master->load_active()
Weiß jemand, was ich falsch gemacht habe bzw., was ich ändern muss?

Hier noch ein Mal die originale Datei user_posts_100.php

Code: Alles auswählen

<?php
/**
*
* @package - phpbb3 UPS Easy Shop
* @version $Id: user_posts_100.php 79 2010-02-09 08:12:15Z femu $
* @copyright (c) Wuerzi (http://spieleresidenz.de), (c) femu (http://die-muellers.org)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/*
 * @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

class user_posts_100 extends item
{
	function init()
	{

	}

	function get_actions()
	{
		global $user;

		$actions = array();

		//In most cases, items that have an action with them should use the "use" action.
		//To enable it, uncomment the following code:
		$actions['use'] = array(
			'name'		=> $user->lang['ITEM_USE'],
			'confirm'	=> sprintf($user->lang['ITEM_CONFIRM_USE'], $this->data['name']),
			'function'	=> 'use_item'
		);

		$actions = array_merge($actions, parent::get_actions());
		return $actions;
	}

	function use_item()
	{
		global $user, $shop, $db, $phpEx, $phpbb_root_path;

		$this->remove_item();

		$posts 	= $user->data['user_posts'] + 100;

		$sql_ary = array(
			'user_posts '		=> $posts,
		);

		$sql = 'UPDATE ' . USERS_TABLE  . '
			SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
			WHERE user_id = ' . (int) $user->data['user_id'];
		$db->sql_query($sql);
	}
}
?>
Hier noch ein Mal meine Datei level_1.php

Code: Alles auswählen

<?php
/**
*
* @package - phpbb3 UPS Easy Shop
* @version $Id: user_posts_100.php 79 2010-02-09 08:12:15Z femu $
* @copyright (c) Wuerzi (http://spieleresidenz.de), (c) femu (http://die-muellers.org)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/*
 * @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

class level_1 extends item
{
	function init()
	{

	}

	function get_actions()
	{
		global $user;

		$actions = array();

		//In most cases, items that have an action with them should use the "use" action.
		//To enable it, uncomment the following code:
		$actions['use'] = array(
			'name'		=> $user->lang['ITEM_USE'],
			'confirm'	=> sprintf($user->lang['ITEM_CONFIRM_USE'], $this->data['name']),
			'function'	=> 'use_item'
		);

		$actions = array_merge($actions, parent::get_actions());
		return $actions;
	}

	function use_item()
	{
		global $user, $shop, $db, $phpEx, $phpbb_root_path;

		$this->remove_item();

		$level 	= $user->data['pf_level'] + 1;

		$sql_ary = array(
			'pf_level '		=> $level,
		);

		$sql = 'UPDATE ' . USERS_TABLE  . '
			SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
			WHERE user_id = ' . (int) $user->data['user_id'];
		$db->sql_query($sql);
	}
}
?>
Ich bin sehr dankbar für jegliche Hilfe..
MfG Peter3

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 28.02.2010 13:53
von Würzi
Moin,

so einfach ist das ja nicht. :-?

Das Profil Feld ist ja jeweils in der phpbb_profile_fields_data also musst du diese updaten, nicht die user table.

Genauere Aussagen kann ich dir momentan nicht geben, mir fehlt momentan ein bissichen die Zeit.

Mfg

Re: [BETA] UPS Easy Shop 0.5.0

Verfasst: 03.03.2010 12:30
von Würzi
Update auf 0.6.0
  • [FIX]Fehler im UCP mit IE
  • [FIX] Manche Items wurden beim sofort verwenden nicht gelöscht
  • [FIX] SQL Optimierung in viewtopic
  • [CHG] SQL Tabelle geändert für größere Bilder
  • [CHG] MODx auf v1.2.4 aktualisiert
  • [NEU] Artikel können nun verschenkt werden
  • [NEU] Bilder und Backends im ACP sind nun sortiert
  • [NEU] Artikel in der viewtopic lassen sich nun ein/ausklappen
Viel Spaß damit sagen Femu und Wuerzi

Re: [BETA] UPS Easy Shop 0.6.0

Verfasst: 03.03.2010 13:38
von darkonia
danke super update, install/update wie immer fix und fehlerfrei, danke :ugeek:


könnte man noch einbauen das man einen kleinen text schreiben kann wenn man ein Item verschenkt?



mfg

Re: [BETA] UPS Easy Shop 0.6.0

Verfasst: 03.03.2010 15:41
von chrsla
Merci,
habs Update auch gemacht.
Aber eins verstehe ich noch nicht ganz. Habe ich das richtig verstanden, man kann wenn man die Kenntniss dazu hat die Gegendstände mit Rechten versehen?

Ich würde es mir aber schon eher wünschen wenn man das selbst übers ACP machen kann.
Nicht jeder hat so gut php Kenntnisse