Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1] 2   Go Down

Author Topic: Frage zur Plugin Einbindung  (Read 8424 times)

0 Members and 1 Guest are viewing this topic.

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Frage zur Plugin Einbindung
« on: January 23, 2012, 05:15:15 pm »

Hallo,

ich habe mir ein kleines Plugin geschrieben, das ich auch gerne hier veröffentliche. Jedoch habe ich noch einige Fragen.
Die Installation(Tabellen anlegen etc.) ist fertig, auch die Ausgabe in einer separaten Seite klappt. Was ich nun noch erreichen möchte, wo ich nicht vorwärts komme, ist das die Ausgabe in der index.php zwischen "alblist" und "lastup" stattfinden soll.
Was genau muss ich wo anpassen? bzw wie muss die Ausgabe in der codebase.php aussehen? Das Plugin Visible Hookpoints Plugin habe ich mir angeschaut, werde daraus aber nicht richtig schlau und es bringt meinen Browser zum absturz(wenn die Option "Visible permanently for everyone" gewählt wird).
Der angehängte Code ist, die funktionieren Ausgabe Datei ohne die Inhalt. Die müsste dann ja irgendwie in die codebase.php?

VG
TT

PS.: Testseite ist auf eine Localhost :o

Code: [Select]
<?php
define
('IN_COPPERMINE'true);
define('BDW_PHP'true);

require_once(
'include/init.inc.php');
$CONFIG['TABLE_BDW'] = $CONFIG['TABLE_PREFIX'].'plugins_bdw';


pageheader($lang_index_php['welcome']);
$superCage Inspekt::makeSuperCage();
if (
$superCage->get->keyExists('id') == "history") {   //$superCage->post->getInt
  
archiv();
}else{
  
bdw();
}

function 
archiv(){
 global 
$CONFIG;
 
$date date("W"); //in config auslagern
 
$year date("Y"); //in config auslagern
 
$kw $date.'_'.$year;

 
$bdw cpg_db_query("SELECT * FROM {$CONFIG['TABLE_BDW']} WHERE kw_year < '$kw' ");
   if (!
$bdw) { die('<p>Error performing query: ' mysql_error() . '</p>');} 
starttable("100%""..");
echo <<<EOT
  <table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#d3d3d3">
    <td align="center"><br><h2>.. <br /></h2></td>
  </table>
EOT;
 while(
$row mysql_fetch_array($bdwMYSQL_ASSOC)) {
   
$User_TB cpg_db_query("SELECT user_name FROM cpg15x_users WHERE user_id = {$row['owner_id']}");
     
$raw mysql_fetch_row($User_TB);
      
$ownername $raw[0];
      
$rest substr($row['filepath'], -6,-1);
 echo <<<EOT
    .
    .
    .
    </table>
EOT;
   }
endtable();
}

function 
bdw(){
    global 
$CONFIG;
$date date("W"); //in config auslagern
$year date("Y"); //in config auslagern
$kw $date.'_'.$year;

$bdw cpg_db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE bdw = '$date' Limit 1");
   if (!
$bdw) { die('<p>Error performing query: ' mysql_error() . '</p>');}

while(
$row mysql_fetch_array($bdwMYSQL_ASSOC)) {
  .
  .
  .
   }
}

starttable("100%""..");
$html <<<EOT
<table align="center" width="$width" cellspacing="1" cellpadding="0" bgcolor="#d3d3d3" class="maintable $zebra_class">
    <!--<table width="100%" border="0" cellpadding="1" cellspacing="1" > -->
      <tr>
<td width="50%">&nbsp;</td>
      </tr>
        <div class="cpg_starttable_inner">
          .
          .
          .
        </div>
    </table>
EOT;
endtable();
mysql_free_result($bdw);
mysql_free_result($raw);
}
pagefooter();
ob_end_flush();
?>
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #1 on: January 23, 2012, 05:55:06 pm »

Was ich nun noch erreichen möchte, wo ich nicht vorwärts komme, ist das die Ausgabe in der index.php zwischen "alblist" und "lastup" stattfinden soll.
Dafür musst du den Plugin-Hook plugin_block verwenden. Denk dir einen Namen für den deinen Block aus und füge ihn dann an gewünschter Stelle hier ein: http://documentation.coppermine-gallery.net/de/configuration.htm#admin_album_list_content

Dann musst du deinem Plugin natürlich sagen was genau es machen soll, wenn dein Blockname gefunden wurde.
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #2 on: February 06, 2012, 08:03:54 pm »

hallo,

durch Urlaub und Krankheit komme ich erst heute dazu zu antworten.
Das Plugin ist soweit fertig, mit
Code: [Select]
$thisplugin->add_filter('main_page_layout','bdw_main')wird es auch erkannt, jedoch nur noch das Plugin alle anderen sachen sind weg.
Was genau fehlt jetzt noch das alles wieder angezeigt wird?

TT
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #3 on: February 06, 2012, 09:02:45 pm »

sorry falsche kopiert
richtig muss es sein
Code: [Select]
$thisplugin->add_filter('plugin_block','bdw_main');
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #4 on: February 06, 2012, 09:45:33 pm »

Klappe die dritte,
 ;)
habe es hin bekommen, wird jetzt ordnungsgemäß angezeigt, muss jetzt nur noch die Readme schreiben, dann kann ich es veröffentlichen.

VG

TT
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #5 on: February 23, 2012, 04:28:11 pm »

Hallo,

eine Frage habe ich da dann doch noch. Mein Plugin hat eine Archivfunktion. Diese soll genaus so funktionieren wie die Thumbinalansicht.
Aktuell werden mir alle Bilder aus dem Archiv nebeneinander angezeigt. Es sollte aber nur vier Bilder neben einander angezeigt werden, dann darunter die nächsten usw.
Wie bekomme ich das hin, habe bisher nicht eine wirkliche Idee wie das in der GAllerie aufgebaut ist. Kann man evtl. auf vorhanden Teile der Gallerie zur Ausgabe zurückgreifen?

VG
TT
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #6 on: February 23, 2012, 05:33:39 pm »

habe es hin bekommen, wird jetzt ordnungsgemäß angezeigt
In Zukunft bitte die Lösung mit angeben, das hilft sonst keinem weiter.

Offensichtlich hast du mit einem doppelt vergebenen Funktionsnamen (der zweite Parameter) die ursprüngliche Funktion überschrieben:
Code: [Select]
$thisplugin->add_filter('main_page_layout','bdw_main')
Code: [Select]
$thisplugin->add_filter('plugin_block','bdw_main');


Zu deiner letzten Frage, da könnte dir eventuell die Funktion display_thumbnails bzw. theme_display_thumbnails weiterhelfen. Ich habe mir deinen Quellcode jetzt nicht genauer angesehen, keine Ahnung was genau du vorhast. Ein Link zu deiner Galerie um den derzeitigen Stand zu sehen wäre durchaus hilfreich.
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #7 on: February 23, 2012, 09:07:15 pm »

Hallo,

zum ersten Problem ich hatte es an die falsche Stelle kopiert und hatte einen Schreibfehler drin. :o
Zum zweiten Problem. Ich möchte einfach nur erreichen, das mein Archiv an das Layout der Seite angepasst ist. Aktuell ist es so, das alle Bilder im
Archiv in einer Zeile/Reihe angezeigt werden, wo durch das Layout zerrissen wird.
Es sollen genau 4 bild nebeneinander sein Tabelle hat ja 100% und der Rest soll dann 25% haben somit die 4.
Hier ist der Link zum Archiv auf der Partnerseite von mir, wo du das "fertige" Ergebnis siehst.

Wie geht eigentlich die Veröffentlichung von statten? Wenn das Archiv noch nicht wirklich fertig ist steht der Veröffentlichung etwas im Wege?

TT
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #8 on: February 24, 2012, 09:29:24 am »

Ich habe keine Ahnung was dein Plugin da macht bzw. was dein "Archiv" genau ist. Wie genau sieht denn der Code aus, der die (momentan 7) Bilder ausgibt?

Es schadet auch nicht, wenn du aktuelle Zwischenstände einfach als Archiv mit anhängst. Wenn du dein Plugin veröffentlichen möchtest, erstellst du am besten im Forum "cpg1.5.x plugins" einen neuen Thread, erklärst dort was dein Plugin so macht und hängst es selbstverständlich auch gleich mit an.
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #9 on: February 24, 2012, 01:23:45 pm »

hi,

das Plugin habe ich gerade eingestellt.
Der Code sieht so aus.
Habe mir auch die beiden von die vorgeschlagen func. angesehen, werde daraus nicht wirklich schlau.
Für mein Plugin ist es nur wichtig, für den Fall das jemand diese Funktion nutzen möchte sich an seine Theme anpasst.
Wie auf der Partner Seite zusehen gelinkt mir das nicht wirklich.

VG

TT


Code: [Select]
<?php

if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

require_once(
'include/init.inc.php');
require(
'./plugins/bdw/include/init.inc.php');

pageheader($lang_plugin_archiv_bdw['archiv_display']);

global 
$CONFIG$lang_plugin_archiv_bdw$lang_plugin_code_bdw$width$zebra_class;

$bdw cpg_db_query("SELECT * FROM {$CONFIG['TABLE_BDW']} WHERE kw_year < '$kw_year' ORDER BY kw_year ASC");
   if (!
$bdw) { die('<p>Error performing query: ' mysql_error() . '</p>');}
    
starttable("100%"$icon_array['lob'].$lang_plugin_archiv_bdw['archiv_display'],1);

echo <<<EOT
 <table align="center" width="$width" cellspacing="1" cellpadding="0" class="maintable  $zebra_class">
EOT;
   
while(
$row mysql_fetch_array($bdwMYSQL_ASSOC)) {
   
$bdwowner cpg_db_query("SELECT user_name FROM {$CONFIG['TABLE_USERS']} WHERE user_id = {$row['owner_id']}");
     
$raw mysql_fetch_row($bdwowner);
      
$ownername $raw[0];

      if (
$CONFIG['bdw_path'] != $CONFIG['userpics']){
         if (
strlen($row['owner_id'])== 1){
            
$rest '1000'.$row['owner_id'];
        }elseif (
strlen($row['owner_id'])== 2){
            
$rest '100'.$row['owner_id'];
        }elseif (
strlen($row['owner_id'])== 3){
            
$rest '10'.$row['owner_id'];
        }  
      }else{
         
$rest      substr($row['filepath'], -6,-1);
        }
      
$kw_aus    substr($row['kw_year'], -2).' '.substr($row['kw_year'], 04);

echo <<<EOT
<td valign="top" class="thumbnails" width ="25%" align="center">
  <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
      <span class="thumb_caption">KW: 
{$kw_aus} <br /><br /></span>
        <td align="center"><img src="
{$CONFIG['ecards_more_pic_target']}{$CONFIG['fullpath']}{$row['filepath']}{$CONFIG['bdw_vor_1']}{$row['filename']}" class="image" alt=Gewinner der letzten Wochen><br /></a>
          <span class="thumb_title"> 
{$row['title']} <br /></span>
          <span class="thumb_title">Fotograf: <a href="
{$CONFIG['ecards_more_pic_target']}index.php?cat={$rest}">{$ownername}<br /></span>
        </td>
    </tr> 
  </table>
  <img src="images/spacer.gif" width="1" height="5" border="" alt="" /><br />
</td>
EOT;
}

echo <<<EOT
</table>
EOT;

endtable();
mysql_free_result($bdw);
mysql_free_result($bdwowner);
ob_end_flush();

pagefooter();
?>
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #10 on: February 24, 2012, 01:32:27 pm »

Versuch mal was passiert, wenn du nach
Code: [Select]
$kw_aus    = substr($row['kw_year'], -2).' '.substr($row['kw_year'], 0, 4);folgendes einfügt:
Code: [Select]
if ($count > 0 && $count++ % $CONFIG['thumbcols'] == 0) {
    echo "</tr><tr>";
}
$count++;

Jedoch fehlt in deiner äußeren Tabelle jegliche Angabe von <tr> und </tr>.
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #11 on: February 24, 2012, 01:46:50 pm »

unverändertes Bild,
<tr> & </tr> hinzugefügt


TT

Code: [Select]
<?php

if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

require_once(
'include/init.inc.php');
require(
'./plugins/bdw/include/init.inc.php');

pageheader($lang_plugin_archiv_bdw['archiv_display']);

global 
$CONFIG$lang_plugin_archiv_bdw$lang_plugin_code_bdw$width$zebra_class;

$bdw cpg_db_query("SELECT * FROM {$CONFIG['TABLE_BDW']} WHERE kw_year < '$kw_year' ORDER BY kw_year ASC");
   if (!
$bdw) { die('<p>Error performing query: ' mysql_error() . '</p>');}

starttable("100%"$icon_array['lob'].$lang_plugin_archiv_bdw['archiv_display'],1);

echo <<<EOT
 <table align="center" width="$width" cellspacing="1" cellpadding="0" class="maintable  $zebra_class">
 <tr>
EOT;

while(
$row mysql_fetch_array($bdwMYSQL_ASSOC)) {
   
$bdw_owner cpg_db_query("SELECT user_name FROM {$CONFIG['TABLE_USERS']} WHERE user_id = {$row['owner_id']}");
     
$raw mysql_fetch_row($bdw_owner);
      
$ownername $raw[0];

      if (
$CONFIG['bdw_path'] != $CONFIG['userpics']){
         if (
strlen($row['owner_id'])== 1){
            
$rest '1000'.$row['owner_id'];
        }elseif (
strlen($row['owner_id'])== 2){
            
$rest '100'.$row['owner_id'];
        }elseif (
strlen($row['owner_id'])== 3){
            
$rest '10'.$row['owner_id'];
        }  
      }else{
         
$rest      substr($row['filepath'], -6,-1);
        }
         
$kw_aus    substr($row['kw_year'], -2).' '.substr($row['kw_year'], 04);

         if (
$count && $count++ % $CONFIG['thumbcols'] == 0) {
         echo 
"</tr><tr>";
      }
      
$count++;

echo <<<EOT
<td valign="top" class="thumbnails" width ="25%" align="center">
  <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
      <span class="thumb_caption">KW: 
{$kw_aus} <br /><br /></span>
        <td align="center"><img src="
{$CONFIG['ecards_more_pic_target']}{$CONFIG['fullpath']}{$row['filepath']}{$CONFIG['bdw_vor_1']}{$row['filename']}" class="image" alt=Gewinner der letzten Wochen><br /></a>
          <span class="thumb_title"> 
{$row['title']} <br /></span>
          <span class="thumb_title">Fotograf: <a href="
{$CONFIG['ecards_more_pic_target']}index.php?cat={$rest}">{$ownername}<br /></span>
        </td>
      </tr>
  </table>
</td>
EOT;
}

echo <<<EOT
</tr>
<img src="images/spacer.gif" width="1" height="5" border="" alt="" /><br />
</table>
EOT;

endtable();
mysql_free_result($bdw);
mysql_free_result($bdw_owner);
ob_end_flush();

pagefooter();
?>
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #12 on: February 24, 2012, 02:25:13 pm »

Sorry da war ich wohl zu schnell beim Tippen. Ersetze meinen Code bitte durch
Code: [Select]
if ($count > 0 && $count % $CONFIG['thumbcols'] == 0) {
    echo "</tr><tr>";
}
$count++;
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #13 on: February 24, 2012, 02:28:58 pm »

herzlichen Dank André
das war es. ;D
Wie komme ich jetzt an das eingestellte Plugin ran um es dahingehend abzuändern

TT
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #14 on: February 24, 2012, 02:31:57 pm »

Sorry, aber ich verstehe die Frage nicht. Wo willst du rankommen und was willst du abändern?
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #15 on: February 24, 2012, 02:34:11 pm »

ich meine mein Plugin was ich eingestellt habe http://forum.coppermine-gallery.net/index.php/topic,74462.0.html
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #16 on: February 24, 2012, 02:42:39 pm »

Ich habe den Thread verschoben und dich der Benutzergruppe "Contributor" hinzugefügt. Damit solltest du deine eigenen Beiträge inkl. der Anhänge bearbeiten können. Bitte beachte auch unsere Dateinamenkonvention für plugins, z.B. cpg1.5.x_plugin_bdw_v1.0.zip
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #17 on: February 24, 2012, 02:49:21 pm »

ok danke werde die Änderungen schnellstmöglich einarbeiten.

VG
TT
Logged

Tankertom

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 73
Re: Frage zur Plugin Einbindung
« Reply #18 on: February 24, 2012, 03:06:42 pm »

Hi,

kurze Frage noch, wie kann ich meine Beiträge ändern? Ich finde nicht den Punkt dafür.

VG

TT
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Frage zur Plugin Einbindung
« Reply #19 on: February 24, 2012, 03:14:58 pm »

Siehe Screenshot.
Logged
Pages: [1] 2   Go Up
 

Page created in 0.031 seconds with 19 queries.