JOOM::GALLERY::FORUM

Archiv => Zusammenspiel mit anderen Komponenten => Thema gestartet von: Sobies am 01-04-2010 14:56:19



Titel: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Sobies am 01-04-2010 14:56:19
Hallo everybody!

Vielen Dank für die tolle Galerie und auch die Regeln für Alphauserpoints. Beides
funktioniert bei mir reibungslos.

Ich habe eine Frage bzw. eine Bitte in Bezug auf die Regeln für Alphauserpoints.
Meine Community erhält Punkte für den Upload von Bildern. Für das Löschen von
Bildern soll jedoch die entsprechende Punktzahl wieder in Abzug gebracht werden.

Gibt es vielleicht hierfür schon einen Ansatz oder könnte jemand so freundlich
und mir eine Hilfestellung leisten? Ich habe mich am Plugin schon selbst versucht,
bin aber leider gescheitert.

Vielen Dank im voraus und schöne Ostern!

Sobies


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 02-04-2010 12:58:41
Hi,

dafür wäre auch im Code der Galerie eine Änderung nötig, nämlich das Auslösen eines Plugin-Events an der entsprechenden Stelle. Beim Upload kannst du zum Beispiel die beiden Events 'onBeforeJoomUpload' und 'onAfterJoomUpload' finden. Mit diesen Events kann dann in Plugins wie JoomAlphaUserPoints gearbeitet werden.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 02-05-2010 18:07:37
... schon etwas älter dieser Beitrag :(

Ich bin nun auch gannz frischer AUP Nutzer und möchte gerne für jedes Bildbetrachten (Detailseite) und für jedes Bildlöschen einen Punkt abziehen lassen.

Habe bis jetzt den "UNZIP_FIRST_plg_joomalphauserpoints_V1_5_BETA.zip" installiert -> klappt sehr gut! .. es gibt nun für das Hochladen 2 Punkte ;)

Hat da Jemand Erfahrungen und kann mir helfen ???

Vielen Dank & lieben Grüße
skvarel.


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 03-05-2010 20:16:42
... geschaft !!!

Bei jedem Upload gibts enun 2 Punkte, bei jedem Bildklick wird ein Punkt abgezogen.

Die Systemmeldung "Sie haben nicht genug Punkte" erscheint, trotzdem zeigt die Gallery das Bild an :(

... hat Jemand einen Tipp ??


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 03-05-2010 22:53:27
Hi,

das kommt darauf an, wie genau du den Code eingebunden hast. Es müsste danach ein Redirect ausgeführt werden.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 04-05-2010 03:51:24
... update ;)

Ich habe es nun mit if / else gelöst. Wenn nun ein User keine Punkte hat, wird er zu einer Infoseite umgeletet. Klappt gut!

Jetzt fehlt mir nur noch die Funktion des Punktabzugs beim Bilderlöschen :(


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 04-05-2010 10:07:18
Hi,

welchen Code hast du genau eingefügt?

Einen ähnlichen müsste man dann im Userpanel des Frontends und im Bildermanager des Backends bei den Löschfunktionen einbauen.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 04-05-2010 16:04:34
Angepasste habe ich die Datei: joom.viewdetails.php

... mit folgendem Code

<?php
      $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints( 'plgaup_joomgallery_view' );
      }
require_once ($api_AUP);
$referreid = AlphaUserPointsHelper::getAnyUserReferreID( $user->id );
$user_info = AlphaUserPointsHelper::getUserInfo( $referreid );   
$points = $user_info->points;

if($points>0){

... hier der "normale" Inhalt!

} else if($points==0){
Header("Location: index.php?option=com_content&view=article&id=4");
exit();
}
?>

Die passende Regel dazu heisst: view.xml

... und folgenden Inhalt:

<?xml version="1.0" encoding="utf-8"?>
<alphauserpoints type="plugin">
  <rule>View image</rule>
  <description>Reduce points when a registered user view an image in JoomGallery</description>
  <component>JoomGallery</component>
  <plugin_function>plgaup_joomgallery_view</plugin_function>
  <fixed_points>true</fixed_points>
</alphauserpoints>


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 04-05-2010 16:12:50
Wenn ich nun den Code zum Löschen abändere und im Userpanel einbaue, löscht er bei jedem Zugriff aus das Userpanel meine Punkte :(

---> erlediegt !! <---

... man muss nur den Code an die richtige Stelle setzen ;)


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 04-05-2010 16:24:33
Code in der Datei joom.userpanel.php

/**
* Loeschen eines Bildes
*/
  function Joom_User_DeletePic()
  {
   
    $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints( 'plgaup_joomgallery_delete' );
      }

... die Regel dazu:

<?xml version="1.0" encoding="utf-8"?>
<alphauserpoints type="plugin">
  <rule>Delete image</rule>
  <description>Delete points when a registered user delete an image in JoomGallery</description>
  <component>JoomGallery</component>
  <plugin_function>plgaup_joomgallery_delete</plugin_function>
  <fixed_points>true</fixed_points>
</alphauserpoints>

... it works! ... absolutely  delighted !!


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 14-05-2010 18:10:42
Das mit dem Punktabzug für's Bildergucken klappt gut, allerdings hätte ich gern den Punktabzug nur einmalig (so wie das Bewerten nur einmal geht)

Hat Jemand einen Tipp ???


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 15-05-2010 00:50:42
Hi,

laut der API-Dokumentation von AlphaUserPoints kann man der Funktion 'newpoints' einen eindeutigen Schlüssel übergeben, der dann dafür sorgt, dass nur einmal die Punkte verteilt werden (das System erkennt, wenn genau der gleiche Schlüssel schon einmal vergeben wurde). Als Schlüssel könntest du eine Kombination aus Bild- und Benutzer-ID verwenden.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 15-05-2010 09:34:02
Vielen Dank soweit, leider bin ich nun ein wenig überfordert !?

Wo vergebe ich diesen Schlüssel?


$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints( 'plgaup_Joom_ShowPicture' );
      }]

So habe ich den Code in der Datei joom.viewdetails.php

Das ist die Regel dazu:

<?xml version="1.0" encoding="utf-8"?>
<alphauserpoints type="plugin">
<rule>Joomgallery View</rule>
<description>Punktabzug beim Bildbetrachten</description>
<component>com_joomgallery</component>
<plugin_function>plgaup_Joom_ShowPicture</plugin_function>
<fixed_points>true</fixed_points>
</alphauserpoints>

Was muss ich jetzt wo ändern?


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 15-05-2010 10:32:17
... 'reference_key' Variante sieht vielversprechend aus. ... nur, wie gehts weiter?


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 15-05-2010 11:07:26
/**************************************************************************************** PUNKTABZUG **/
$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints( 'plgaup_Joom_ShowPicture', '', 'reference_key');
      }
/**************************************************************************************** PUNKTABZUG **/


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 15-05-2010 11:09:30
Hi,

jep, übergebe der Funktion 'newpoints' bitte einfach mal die Bild-ID als Reference-Key.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 15-05-2010 11:24:17
OK!

Hast Du die Variable im Kopf? Ich habe schon diverse ausprobiert. Fazit war, es wird nur beim ersten Bild ein Punkt abgezogen. Alle weiteren Klicks auf alle anderen Bilder verlaufen ohne Punktabzug.

Ich denke, es liegt an einem falschen Reference_Key, oder ?!

... bin ich überhaupt in der richtigen Datei?

"joom.viewdetails.php" an der Stelle function "Joom_ShowPicture()"


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 16-05-2010 00:42:07
Hi,

ja, das sollte die richtige Datei sein.

Am Besten holst du dir die ID mit 'JRequest::getInt('id')' direkt aus der URL.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 16-05-2010 10:45:47
... ich glaub, ich bin zu doof dazu ?!

      $pic_id = JRequest::getInt('id');
      $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints(' plgaup_Joom_ShowPicture', '', ' $pic_id');
      }

Nun werden gar keine Punkte mehr abgezogen.


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 16-05-2010 12:18:31
Hi,

du darfst die Variable $pic_id nicht zwischen zwei Anführungszeichen setzen.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 16-05-2010 12:26:35
AlphaUserPointsHelper::newpoints(' plgaup_Joom_ShowPicture', '', $pic_id);

Klappt leider auch nicht :(

Es werden keine Punkte mehr abgezogen.


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 16-05-2010 12:34:54
Ich denke er kann so nicht zwischen Bild-ID und Kat-ID unterscheiden.


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: Chraneco am 16-05-2010 13:34:05
Hi,

in dieser Ansicht dürfte die Kategorie-ID keine Rolle spielen.

Vielleicht ist der Stopp des Punktabzugs schon aktiv. Versuche es mal bitte mit einem Bild, das du bestimmt noch nicht angesehen hast.

Gruß
Chraneco


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 16-05-2010 15:13:31
Ich habe gerade ein Bild hochgeladen, mich abgemeldet und unter einem anderen Namen wieder angemeldet um mir das neue Foto anzusehen.

Es gab leider keinen Punktabzug dafür!

Es geht also so nicht, schade.


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: skvarel am 16-05-2010 15:41:21
... läuft !!! ... vielen, vielen Dank !!!

Hier der fertige Code:

/********************************************************************* PUNKTABZUG **/
      $pic_id  = JRequest::getInt('id');
      $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
      if ( file_exists($api_AUP))
      {
      require_once ($api_AUP);
      AlphaUserPointsHelper::newpoints( 'plgaup_Joom_ShowPicture', '', $pic_id);
      }
/********************************************************************* PUNKTABZUG **/

... es war nur ein fehlendes Leerzeichen innerhalb einer Klammer. Manchmal sieht man den Wald vor lauter Bäumen nicht ;)


Als nächstes kommt die Punktübertragung. ... bei jedem Klick auf ein Bild soll der Fotograf den abgezogenen Punkt bekommen ;)

Ich halte Euch auf dem Laufenden !!


Titel: Re: JoomGallery + Alphauserpoints = Regel für das Löschen von Bildern
Beitrag von: lec am 17-05-2012 09:38:36
...hmm, würde mich hier gerne einhängen auch wenn es bereits eine Zeit her ist.

Ich bin auch auf der Suche nach einer Möglichkeit, für jedes angeschaute Bild in der Detailview Punkte abzuziehen. Alphauserpoints-Regeln für den Bilder Upload funktionieren gut...aber irgendwie müssen die Benutzer Ihre Punkte ja auch wieder einlösen ;) Einzel-Download für ein Bild ist kein Thema. Das schönste wäre natürlich der jeweilige Benutzer könnte einfach den ganzen Ordner kaufen mit AUP - und dies würde über AUP/DB gespeichert werden und weitere Zugänge zu diesem Ordner erlauben.

Ich gehe davon aus, dass es noch keine anderen Wege gibt dies zu erreichen. Daher wäre ich für den Moment zufrieden, wenn einfach bei der Detail-View Punkte abgezogen werden.

@skvarel: in welchen Dateien hast Du nun was genau verändert. Bin dankbar für jede Hilfe.

joomla 1.5, AUP 1.5.13