4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: rinaldos on June 05, 2009, 01:02:35 PM

Title: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 01:02:35 PM
MOD WIKIPEDIA

 WICHTIG / ATTENTION
- Funktion "simplexml_load_file" steht erst ab PHP5 zur Verfügung ...
- Prüfen, ob der Hoster bei PHP5 die Funktion "simplexml_load_file" aktiviert hat ...
- Erst dann kann diese Modifikation funktionstüchtig installiert werden ...
- Default Wert für image_allow_wiki ist 0, das heisst, der MOD ist erst einmal deaktiviert
------
- Function "simplexml_load_file" works only with PHP5 and above ...
- Check, if HOSTER has activate "simplexml_load_file"  ...
- If these Points are OK, than you can install this ...
- Default Value image_allow_wiki is zero, the MOD is after install deactivated

(Danke an mawenzi für den Hinweis.......)

:flag-de:
Dieser MOD dient dazu, Artikel die zum Bildnamen passen, bei Wikipedia auszulesen und in deine Homepage zu integrieren.
Dazu sind folgende änderungen notwendig.

:flag-en:
This MOD is used to image the article name fit at Wikipedia and use in your website to integrate.
These changes are necessary.

DEMO:
http://rinaldos.homeip.net/img11114.htm

STEP 1
:flag-de:
öffne /includes/functions.php
füge über ?> folgendes ein:

:flag_en:
edit /includes/functions.php
insert above ?>


function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
   ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $image_wiki = str_replace($zeichen,"",$image_wiki);
    if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];    
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}


für eine Ausgabe mit den richtigen LINKS nach Wikipedia fügt anstelle des o.a. Code folgenden Code in Eure functions.php ein
http://www.4homepages.de/forum/index.php?topic=24975.msg137246#msg137246
(Danke an Rembrandt für die andere Darstellung der Ausgabe)


:flag-de:
Möchtest du alle Umlaute rausfiltern, ändere den Code wie folgt ab
finde

:flag-en:
Do you want to filter all accents, change the code as follows


//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
$zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
$image_wiki = str_replace($zeichen,"",$image_wiki);

:flag-de:
ersetze
:flag-en:
replace


$image_wiki = preg_replace('/\\W/', '',$image_wiki);
// $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
// $image_wiki = str_replace($zeichen,"",$image_wiki);


STEP 2
:flag-de:
öffne /details.php
finde:

:flag-en:
open /details.php
find


//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------

:flag-de:
füge darüber ein:

:flag-en:
insert above


$wiki = "";
if ($image_row['image_allow_wiki'] == 1){
    if ($image_row['image_wiki']){
        $image_wiki = $image_row['image_wiki'];
        $wiki = get_wiki($image_wiki);
    }else {
    $image_wiki = $image_name;
    $wiki = get_wiki($image_wiki);
    }
}

:flag-de:
suche:

:flag-en:
find


  "lang_next_image" => $lang['next_image'],
  "lang_file_size" => $lang['file_size']
));

:flag-de:
füge darüber ein
:flag-en:
insert above


  "image_wiki" => $wiki,
  "lang_wiki" => $lang['wikipedia'],


Step 3:
:flag-de:
öffne dein Template Verzeichnis/details.html
finde

:flag-en:
edit Your Template Folder/details.html
find


  <tr>
    <td valign="top" class="row1" width="33%"><b>{lang_description}</b></td>
    <td valign="top" class="row1">{image_description}</td>
  </tr>

:flag-de:
füge darunter ein (oder eben da, wo du den Auszug aus Wikipedia haben magst)
:flag-en:
insert after (or at this Place where you want your WIKI will be shown)


{if image_wiki}
        <tr class="commentrow1">
         <td valign="top" class="row2" width="20%"><b>{lang_wiki}</b></td>
         <td valign="top" class="row2" width="80%">{image_wiki}</td>
        </tr>
{endif image_wiki}


STEP 4
:flag-de:
öffne /lang/deutsch/main.php
füge über ?> folgendes ein:

:flag-en:
edit /lang/deutsch/main.php
insert above ?>


$lang['wikipedia'] ="Textpassage aus Wikipedia<br><img src=\"{template_url}/images/wikipedia.jpg\" border=\"0\">";

:flag-de:
öffne /lang/english/main.php
füge über ?> folgendes ein:

:flag-en:
edit /lang/english/main.php
insert above ?>


$lang['wikipedia'] ="Text from Wikipedia<br><img src=\"{template_url}/images/wikipedia.jpg\" border=\"0\">";


Step 5
:flag-de:
kopiere das Bild in dein TEMPLATE ORDNER/images/
:flag-en:
copy the Picture into your Template Folder /images/

ADDED LATER ON - SPÄTER HINZUGEKOMMEN

STEP 6
:flag-de:
öffne /member.php
finde
:flag-en:
edit /member.php
find


  $image_allow_comments = (isset($HTTP_POST_VARS['image_allow_comments'])) ? intval($HTTP_POST_VARS['image_allow_comments']) : $image_row['image_allow_comments'];


:flag-de:
füge darunter ein
:flag-en:
insert after


  $image_allow_wiki = (isset($HTTP_POST_VARS['image_allow_wiki'])) ? intval($HTTP_POST_VARS['image_allow_wiki']) : $image_row['image_allow_wiki'];


:flag-de:
finde
:flag-en:
find


  $site_template->register_vars(array(
    "image_id" => $image_id,
    "image_name" => format_text($image_name, 2),
    "image_description" => format_text($image_description, 2),
    "image_keywords" => format_text($image_keywords, 2),
    "image_allow_comments_yes" => ($image_allow_comments) ? " checked=\"checked\"" : "",
    "image_allow_comments_no" => (!$image_allow_comments) ? " checked=\"checked\"" : "",


:flag-de:
füge darunter ein
:flag-en:
insert after

    "image_allow_wiki_yes" => ($image_allow_wiki) ? " checked=\"checked\"" : "",
    "image_allow_wiki_no" => (!$image_allow_wiki) ? " checked=\"checked\"" : "",
    "lang_image_allow_wiki" => $lang['image_allow_wiki'],


:flag-de:
finde
:flag-en:
finde


    "lang_allow_comments" => isset($lang['allow_comments']) ? $lang['allow_comments'] : "",
    "lang_submit" => $lang['submit'],
    "lang_reset" => $lang['reset'],
    "lang_yes" => $lang['yes'],
    "lang_no" => $lang['no'],


:flag-de:
füge darunter ein
:flag-en:
insert after

    "lang_image_allow_wiki" => $lang['image_allow_wiki'],


:flag-de:
finde
:flag-en:
finde

  $image_name = un_htmlspecialchars(trim($HTTP_POST_VARS['image_name']));
  $image_description = un_htmlspecialchars(trim($HTTP_POST_VARS['image_description']));
  $image_keywords = un_htmlspecialchars(trim($HTTP_POST_VARS['image_keywords']));
  $image_keywords = preg_replace("/[\n\r]/is", " ", $image_keywords);
  $image_keywords = str_replace(","," ",$image_keywords);
  $image_keywords = ereg_replace("( ){2,}", " ", $image_keywords);


:flag-de:
füge darunter ein
:flag-en:
insert after

     $image_allow_wiki = $HTTP_POST_VARS['image_allow_wiki'];


STEP 7
:flag-de:
öffne DEIN TEMPLATE FOLDER/member_editimage.html
finde
:flag-en:
edit YOUR TEMPLATE FOLDER/member_editimage.html
find

          <tr class="commentrow1">
            <td class="row2" valign="top"><b>{lang_keywords}</b></td>
            <td class="row2">
              <textarea name="image_keywords" cols="30" rows="10" wrap="virtual" class="textarea">{image_keywords}</textarea>
            </td>
          </tr>

:flag-de:
füge darunter ein
:flag-en:
insert after

          <tr>
            <td class="row1"><b>{lang_image_wiki}</b></td>
            <td class="row1">
            <input type="text" name="image_wiki" size="30" value="{image_wiki}" class="input" /> </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_image_allow_wiki}</b></td>
            <td class="row1">
              <input type="radio" name="image_allow_wiki" value="1" {image_allow_wiki_yes} />
              {lang_yes}&nbsp;&nbsp;&nbsp;
              <input type="radio" name="image_allow_wiki" value="0" {image_allow_wiki_no} />
              {lang_no}
</td>
          </tr>



STEP 8

:flag-de:
öffne DEIN TEMPLATE FOLDER/member_uploadform.html
finde
:flag-en:
edit YOUR TEMPLATE FOLDER/member_uploadform.html
find


          <tr>
            <td class="row2" valign="top"><b>{lang_keywords}</b></td>
            <td class="row2">
              <textarea cols="30" class="textarea" rows="10" name="image_keywords">{image_keywords}</textarea>
            </td>
          </tr>

:flag-de:
füge darunter ein
:flag-en:
insert after

          <tr>
            <td class="row1"><b>{lang_image_wiki}</b></td>
            <td class="row1">
            <input type="text" name="image_wiki" size="30" value="{image_wiki}" class="input" /> </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_image_allow_wiki}</b></td>
            <td class="row1">
              <input type="radio" name="image_allow_wiki" value="1" />
              {lang_yes}&nbsp;&nbsp;&nbsp;
              <input type="radio" name="image_allow_wiki" value="0" />
              {lang_no}
</td>
          </tr>


STEP 9
:flag-de:
öffne includes/db_field_definitions.php
füge über ?> folgendes ein
:flag-en:
öffne includes/db_field_definitions.php
insert above ?> these


$additional_image_fields['image_allow_wiki'] = array($lang['image_allow_wiki'], "radio", 0);
$additional_image_fields['image_wiki'] = array($lang['image_wiki'], "text", 0);


STEP 10
:flag-de:
öffne /lang/deutsch/main.php
füge über ?> folgendes ein:

:flag-en:
edit /lang/deutsch/main.php
insert above ?>


$lang['image_allow_wiki'] = "Wikipedia anzeigen(sofern verf&uuml;gbar?";
$lang['image_wiki'] = "Wikipedia Suchwort";

:flag-de:
öffne /lang/english/main.php
füge über ?> folgendes ein:

:flag-en:
edit /lang/english/main.php
insert above ?>


$lang['image_allow_wiki'] = "Show Wikipedia(if available?";
$lang['image_wiki'] = "Wikipedia Keyword";


STEP 11
:flag-de:
Führe nun den INSTALLER aus
http .../WIKIPEDIA_INSTALL.PHP

:flag_en:
BROWSE to the INSTALLER
http .../WIKIPEDIA_INSTALL.PHP



Danke an bergblume und alle anderen für die Idee
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on June 05, 2009, 01:15:48 PM
... und danke für die Umsetzung und Veröffentlichung ...
... verschoben nach "Mods & Plugins (Releases & Support)" ...
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 05, 2009, 01:17:26 PM
Hi!
also ich muß noch immer lachen  :D was es nicht alles für sachen gibt.
ich glaube der MOD wird der HIT.  :thumbup:

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 05, 2009, 01:30:48 PM
der MOD wird nicht der HIT - der MOD ist der Hit....
v.a. auch in verbindung mit der Anzeige von wikipedia artikeln in googlemaps  :D

vielen dank nochmal an Ingo für die Hilfestellung zur Verwirklichung dieser Idee!!
Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 05, 2009, 02:13:26 PM
Was ist denn mit "Möchtest du alle Umlaute rausfiltern, ändere den Code wie folgt ab" gemeint?
Werden dann öäü nicht umgewandelt oder doch!?

Ps.: GEILE MOD
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 02:21:32 PM
Umlaute sind unter anderem Ä Ö Ü usw. Desweiteren werden damit auch alle Sonderzeichen §$%&/()=? und so aus dem Dateinamen gefilter.
Je nach Land gibt es eben einige Zeichen nicht und Wikipedia kommt mit den SONDERZEICHEN im Namen nicht klar. Daher bleibt es jedem selber überlassen, was er zulassen mag.
Sonderzeichen um Namen bringen unweigerlich Fehlermeldungen, daher mein Tip an alle. Nehmt keine Sonderzeichen im Namen. Also ein name wie: Tom & Jerry funktioniert, da & rausgenommen wird, aber Tom & Jerry & Daisy, macht schon Probleme.....

Mit dem \\W werden eben auch bei TOM & JERRY & DAISY die Zeichen entfernt. Dann kommt eben nur TOM JERRY DAISY raus ....

Gruß


Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 05, 2009, 02:27:15 PM
zusätzlich zu diesem genialen mod kann man sich die wikipedia artikel auch in der googlemap anzeigen lassen (voraussetzung ist hierfür allerdings dieser MOD (http://www.4homepages.de/forum/index.php?topic=16533.0))

dann einfach folgenden map-overlay verwenden:

search for:
Code: [Select]
map.addControl(new GScaleControl());
add below:
Code: [Select]
map.addOverlay(new GLayer(\"org.wikipedia.de\"));
Beispiel auf: Tour Alpspitze (http://www.tourendatenbank.com/details.php?image_id=61)

gruss, bergblume
Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 05, 2009, 02:29:23 PM
@ rinaldos,
kannst du das nicht erweitern? Also, dass z.B & dann in - umgewandelt wird?
Ebenso, dass Ä Ö Ü ä ö ü in - AE OE UE ae oe ue | Umgewandelt wird?
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 02:35:48 PM
Eine Erweiterung bringt dir ja nichts. Da dieser MOD ja noch dem Bildnamen bei WIKI sucht. Und WIKI sich leider nicht nach unseren bzw deinen Bildnamen richtet. Ein TOM - Jerry wirst du genausowenig bei WIKI finden wie TOM JERRY. ggf. findest du Tom und Jerry. Ich denke das würde den Rahmen Sprengen, solange die Wörter verändern bis das auch eine Anzeige von WIKI kommt.
Daher habe ich einfach diese Zeichen entfernt und ein paar Bilder bei mir umbenannt. Zum Beispiel habe ich ein Bild mit dem Titel die Zwei, das stellt zwei Gänse dar, und laut Wiki sind diese beiden Gänse nun ein Teil der Filmreihe Die Zwei :-)

http://rinaldos.homeip.net/img11106.search.htm?l=deutsch

Gruß



Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 05, 2009, 05:38:54 PM
Hi!

kannst du den mod noch erweitern,
das man sich aussuchen kann bei welchen bild wiki angezeigt wird, oder nicht angezeigt wird?

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 05:45:38 PM
@rembrandt

Wer soll sich das aussuchen? Der User, der ein Bild sieht, der, der ein Bild hochlädt, oder der ADMIN?

Gruß

Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 05, 2009, 06:13:04 PM
Ich würde sagen, der, der ein Bild hoch lädt und der Admin.

Ich würde gerne auch noch eine kleine Erweiterung begrüßen und zwar:

Kann man das Wiki auch in der Kategorieansicht ausegen?
Also der Name der Kategorie, soll im Wiki gesucht werden!?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 05, 2009, 06:18:59 PM
@rembrandt

Wer soll sich das aussuchen? Der User, der ein Bild sieht, der, der ein Bild hochlädt, oder der ADMIN?
der admin, b.z.w der es hochladet
 bei reportage bilder die keine namen haben sondern z.b. nur nummern wäre das sehr praktisch.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: 4ella on June 05, 2009, 07:05:35 PM
Quote
Kann man das Wiki auch in der Kategorieansicht ausegen?
Also der Name der Kategorie, soll im Wiki gesucht werden!?

@Benny - das interesiert mich auch

Wissen jemand  , ob ist das moglich fur kategorien  diese Mod auch benutzen oder kategorien name (nicht Bilde name ) im detail abnehmen ? For example alles bilden mit Deutschland Thema im Deutschland kategorie wurde Wikipedia Deutschland info haben ,
Danke Daniel

Does anybody knows if is this possible to use this for Wkipedia Category ? or to use Category name for Image Wikipedia info description (in details.html) it means that for example all Germany pictures in Germany category will use Germany category name to have Germany Wiki info description (pictures should have different names )Thanks Daniel
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 07:06:01 PM
ADDON für KATEGORIEN

öffne /includes/functions.php
füge über ?> folgendes ein


function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $cat_name = str_replace($zeichen,"",$cat_name);
    if(!$cat_name) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$cat_name;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];    
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    $summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}


Damit weniger Informationen dargestellt werden  einfach folgende Zeilen entfernen. Achtet darauf das Ihr RÜCKWÄRTS entfernt. Nicht einfach zwischendrin eine Zeile entfernen!!!!!!!


    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];    
    $summary .= $match[0][5];
    $summary .= $match[0][6];



Öffne /categories.php
finde:

//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------


füge darüber ein:

$cat_name = format_text($cat_cache[$cat_id]['cat_name'], 2);
$wiki = get_wiki_cat($cat_name);


finde

$site_template->register_vars(array(
  "msg" => $msg,


füge darunter ein

  "cat_wiki" => $wiki,
  "lang_wiki" => $lang['wikipedia'],



öffnet DEIN TEMPLATE FOLDER/categories.html

finde:

<br />{cat_description} (Hits: {cat_hits})


ersetze mit: (DESIGN IS YOURS)

             {if cat_description}<small>{cat_description} (Hits: {cat_hits})</small>{endif cat_description}
             {if cat_wiki}<br><small>{lang_wiki}<br>{cat_wiki}</small>{endif cat_wiki}



DEMO:
http://rinaldos.homeip.net/cat307.htm?l=deutsch

Title: Re: MOD WIKIPEDIA
Post by: 4ella on June 05, 2009, 07:17:29 PM
 :D super
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on June 05, 2009, 07:18:10 PM
WoW, das muss getestet werden

LG
Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 05, 2009, 08:05:14 PM
Danke vielmals für das Addon!
Habs noch nicht eingebaut, läuft das unter der 1.7.7 ? Dann hau ich das in meiner Liste rein:
http://www.4homepages.de/forum/index.php?topic=24888.0
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 05, 2009, 08:23:04 PM
Hi!
...
Habs noch nicht eingebaut, läuft das unter der 1.7.7 ? ...
ja sicher, du liest eindeutig zu wenig, hast du meine antwort hier nicht gelesen?
http://www.4homepages.de/forum/index.php?topic=24961.msg136670#msg136670

@rinaldos
ich habe zusätzlich bei mir die Quelle des Artikels angegeben:
vor:
Quote
$summary = utf8_decode($summary);
habe ich diese zeile eingefügt:
Quote
$summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 08:54:45 PM
Codeupdate im ersten POST. Schritte 6 - 11 sind neu hinzugekommen, sowie ein INSTALLER. Nun kann beim UPLOAD, bzw. beim IMAGE_EDITIEREN entschieden werden, ob WIKI Infos angezeigt werden.
Wichtig für alle die bisher die Version installiert hatten. STEP 2 wurde geändert.
finde in details.php

$wiki = get_wiki($image_name);


ersetze durch

if ($image_row['image_allow_wiki'] == 1){
    $wiki = get_wiki($image_name);
}else {
    $wiki = "";
}


Das sollte es dann auch gewesen sein ......

Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 05, 2009, 08:58:35 PM
Quote
$summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";
mfg Andi

Hab ich mit aufgenommen :-) Danke :-)
Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 05, 2009, 09:06:17 PM
Saubere Arbeit!  :lol: 8)
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on June 05, 2009, 10:46:11 PM
Hi, einiges ist ja erst ab PHP 5 verfügbar, wie soll denn diese Stelle in PHP 4 lauten ?

Code: [Select]
$xml = simplexml_load_file($url);

LG Harald
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on June 05, 2009, 11:00:39 PM
@Jan-Lukas

... ich denke mal mit PHP4 wirst du mit diesem MOD dann nicht weiter kommen ... leider ...
... andererseits haben auch nicht alle Hoster die Funktion "simplexml_load_file" selbst bei PHP5 aktiviert ...
... da heist es dann meist aus "Sicherheitsgründen" nicht aktiviert ...

@rinaldos
... auf diese event. Einschränkungen solltest du in der MOD-Beschreibung hinweisen ...
... sonst kommen später immer die selben Fragen, wenn der Thread länger wird ...
... also ...
- Funktion "simplexml_load_file" steht erst ab PHP5 zur Verfügung ...
- Prüfen, ob der Hoster bei PHP5 die Funktion "simplexml_load_file" aktiviert hat ...
- Erst dann kann diese Modifikation funktionstüchtig installiert werden ...
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on June 05, 2009, 11:55:10 PM
Hier wird aber ein Weg beschrieben, nur kann ich da nichts mit anfangen  :cry:
weiss auch noch gar nicht ob der Mod bei uns was bringt, nur würde es gerne mal testen.

http://www.yagemi.de/tipps-und-tricks/php/xml-verarbeitung-in-php4-und-php5/
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on June 06, 2009, 01:33:29 AM
@Jan-Lukas

... dein Link zeigt einen interessanten Lösungsansatz, den man unter PHP4 sicher mal testen sollte ...
... und der MOD bei dir ...
... ich denke mal, wenn du mit den Bild-Namen bei dir nach Wiki-Inhalten suchst, so wird sich oft 'ne leere Seite zeigen ...
... die Frage nach dem Sinn bei dir ist also berechtigt ...

@Alle

... da der Bildname nicht immer (meistens sogar nicht) den gewünschten Wiki-Inhalt bringt, habe ich mal andere Varianten getestet ...
... 1.Variante ... Suche nach Wiki-Inhalten mit dem ersten Keyword ... ist schon besser, hatte bei mir aber noch "Nebenwirkungen" ...
... 2.Variante ... Ich habe ein neues Image_Field : image_wiki angelegt ... das läuft schon wesentlich besser ...
                   ... das Feld kann beim Upload frei gewählt werden und durch Editieren es Bildes auch schnell geändert werden ...
                   ... und so ist die Suche nach sinnvollen Wiki-Inhalten erfolgreicher ...
                   ... neues Image_Field : http://www.4homepages.de/forum/index.php?topic=20748.0 ...
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 06, 2009, 10:07:06 AM
Hi!
hier die funktion für  PHP 4

ladet euch die vorher diese datei  (http://www.media-palette.de/xml-line.zip) herrunter, und kopiert sie in den ordner " includes"
Code: [Select]
require_once("xml-line.php");
 function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $cat_name = str_replace($zeichen,"",$cat_name);
    if(!$cat_name) return false;
    //Gesamter Text aus der Wiki-API nehmen
    $xmlfile = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=$cat_name";
$xml = new xml_line($xmlfile,"xml");
$xml->get_record(1,"text");
$xml->xml_stream();
$text = $xml->table_result[1][1]['text'];
$text =  $xml->get_output();

$reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
$summary .= $match[0][4];
$summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";
$summary = utf8_decode($summary);

//wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on June 06, 2009, 10:26:42 AM
Supi, kann es aber erst heute Abend testen, und werde es mit der Variante von Detlev testen

Quote
... 2.Variante ... Ich habe ein neues Image_Field : image_wiki angelegt ... das läuft schon wesentlich besser ...

Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 06, 2009, 11:41:49 AM
@MAWENZI,
ich habe deine IDEE mit dem extra Feld gerade umgesetzt. Poste gleich die Änderungen.
Neuerungen:
- Extra IMAGE_FELD für das Wiki Suchwort
- Wenn kein WIKI Suchwort angegeben, dann wird der Bildname genommen.
folgende Änderungen für die, die bisher den MOD installiert haben.

ONLY UPDATE, IF YOU HAVE INSTALLED THIS MOD BEFORE 06.06.2009 0940z
NUR UPDATE, SOFERN DU DIESEN MOD VOR DEM 06.06. 0940z (1140 MEST) INSTALLIERT HAST


insert above ?>
/includes/db_field_definitions.php

$additional_image_fields['image_wiki'] = array($lang['image_wiki'], "text", 0);


/lang/deutsch/main.php
insert above?>

$lang['image_wiki'] = "Wikipedia Suchwort";


/lang/english/main.php
insert above?>

$lang['image_wiki'] = "Wikipedia Keyword";


/includes/functions.php
replace the whole wiki function

function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $image_wiki = str_replace($zeichen,"",$image_wiki);
    if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];   
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}


/details.php
find

if ($image_row['image_allow_wiki'] == 1){
    $wiki = get_wiki($image_name);
}else {
    $wiki = "";
}


ersetze / replace


$wiki = "";
if ($image_row['image_allow_wiki'] == 1){
    if ($image_row['image_wiki']){
        $image_wiki = $image_row['image_wiki'];
        $wiki = get_wiki($image_wiki);
    }else {
    $image_wiki = $image_name;
    $wiki = get_wiki($image_wiki);
    }
}


füge in DEIN TEMPLATEFOLDER/member_editimage.html

          <tr>
            <td class="row1"><b>{lang_image_wiki}</b></td>
            <td class="row1">
            <input type="text" name="image_wiki" size="30" value="{image_wiki}" class="input" /> </td>
          </tr>


füge in DEIN TEMPLATEFOLDER/member_uploadform.html

          <tr>
            <td class="row1"><b>{lang_image_wiki}</b></td>
            <td class="row1">
            <input type="text" name="image_wiki" size="30" value="{image_wiki}" class="input" /> </td>
          </tr>


Datenbank mit phpmyadmin / INSTALLER FOLGT

ALTER TABLE `4images_images` ADD `image_wiki` VARCHAR( 255 ) NOT NULL ;


MODCODE UPDATE FOLGT!!
Title: Re: MOD WIKIPEDIA
Post by: Sunny C. on June 06, 2009, 11:57:24 AM
Sauber ^^, wird ja immer besser :D
Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 08, 2009, 03:29:12 PM
Will you help me have a Turkish character problem.
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 08, 2009, 03:31:40 PM
I will try, which character makes the Problem?

Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 08, 2009, 03:46:44 PM
http://www.elemegim.info/r-haber-resimler-30-civciv-4204.html?l=turkce

There are links, please review
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 08, 2009, 03:52:17 PM
Sorry, i can not help you, everytime i will be redirect to start Page, and you have a limitation with 5 pictures per guest.
Your link you posted doesn't work for me, if i click there, i will redirect to:
http://www.elemegim.info/?l=turkce

Greets

Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 08, 2009, 04:00:16 PM
ok sorry now edit.

http://www.elemegim.info/r-test-64-tavuk-4205.html?l=turkce
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 08, 2009, 04:02:48 PM
Ok, but there is the wiki infos shown. What kind of Problem do you have exactly?
Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 08, 2009, 06:16:18 PM
(familyas?ndan evcille?tirilebilir bir ku? türüdür ve genelde çiftliklerde yeti?tirilir?)

Turkish state in this manner must be

familyasýndan evcilleþtirilebilir bir kuþ türüdür ve genelde çiftliklerde yetiþtirilir)

proplem:
ý=?
þ=?
ö=?
ð=?
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 09, 2009, 12:02:31 AM
did you gave a special keyword for wiki, or is it from the filename. Maybe there are problems with some turkish character :-(

Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 09, 2009, 08:33:47 AM
please to look the original topic
the orginal topic no proplem

http://tr.wikipedia.org/wiki/Tavuk
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 09, 2009, 09:10:17 AM
Thats a Bigger Problem. It depends on the ISO CHARACTER SET. Your Website ist formated in charset=iso-8859-9 (turkish), The Artikel in WIKI is formated in UTF-8.
if you remove these line in functons.php

$summary = utf8_decode($summary);

and you will reload your website, there are several special charackters. Now change the charset in the Webbrowser to UTF-8 and everything will be shown ok. Maybe you have to reorganize your Website completly to UTF-8.

Otherwise there is a hint on php.net: http://www.php.net/utf8_encode (look for iso-8859-9). To make your Problem a little bit smaller,

add above ?> in functions.php

function str_encode_iso_8859 ($string,$to="iso-8859-9",$from="utf8") {
        $str_array = array(
       chr(196).chr(177) => chr(253),
       chr(196).chr(176) => chr(221),
       chr(195).chr(182) => chr(246),
       chr(195).chr(150) => chr(214),
       chr(195).chr(167) => chr(231),
       chr(195).chr(135) => chr(199),
       chr(197).chr(159) => chr(254),
       chr(197).chr(158) => chr(222),
       chr(196).chr(159) => chr(240),
       chr(196).chr(158) => chr(208),
       chr(195).chr(188) => chr(252),
       chr(195).chr(156) => chr(220)
       );
       return str_replace(array_keys($str_array), array_values($str_array), $string);
    return $string;
}


ach change

$summary = utf8_decode($summary);

to

$summary = str_encode_iso_8859($summary);


The result is:
WIKI
2003 yılında 24 milyar nüfus ile, Dünya'da en fazla bulunan kuş türüdür. İnsanlara iki çeşit sık kullanılan besin kaynağı sunarlar: etleri ve yumurtaları. Tavuklar uçamayan kuşlardandır. Yumurta ile çoğalırlar. Akciğerleri ile nefes alan tavuklar, otçul hayvanlardır.

And with the new function
2003 yýlýnda 24 milyar nüfus ile, Dünya'da en fazla bulunan kuþ türüdür. Ýnsanlara iki çeþit sýk kullanýlan besin kaynaðý sunarlar: etleri ve yumurtalarý. Tavuklar uçamayan kuþlardandýr. Yumurta ile çoðalýrlar. Akciðerleri ile nefes alan tavuklar, otçul hayvanlardýr.

Not exactly the same, but i think a little bit better. To solve the whole Problem, is to format the Webpage to UTF-8 character. I think. Sorry, i have no more Idea :-(

Greets
ingo
Title: Re: MOD WIKIPEDIA
Post by: sanko86 on June 13, 2009, 09:38:47 AM
Was perfect. Thank you very much.

the link : http://www.elemegim.info/r-test-64-tavuk-4205.html?l=turkce
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 09:58:48 PM
ich habe noch eine frage:

wie kann ich z.b. diesen wikipedia-artikel bei mir integrieren?
http://de.wikipedia.org/wiki/Hirschberg_(Bayern)

ich habe bereits als  eingabe folgendes probiert:
Hirschberg_(Bayern)
Hirschberg (Bayern)
bei beiden Einträgen erscheint dann nichts...
wenn ich nur "Hirschberg" eingebe, wird diese Seite http://de.wikipedia.org/wiki/Hirschberg ausgespuckt (die ich aber nicht haben möchte)

daher die frage zum umgang bei wiki-artikeln mit Nachsatz in Klammern....
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 15, 2009, 10:09:59 PM
Hi!
in deinem wunschlink ist die letzte klammer nicht mit verlinkt.

edit: soeben bei mir ausprobiert, funktioniert.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 10:22:23 PM
was hast du in dein wiki-feld eingetragen??
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 15, 2009, 10:24:02 PM
Hirschberg_(Bayern)

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 10:28:54 PM
hi andi,
danke für deine antwort...
bei mir funktioniert es leider (noch) nicht...
kannst du mir mal bitte deinen wiki-code aus deiner functions.php hier kurz posten...
danke!
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 15, 2009, 10:30:48 PM
na sicher.
ich habe ihn ein bischen geändert damit die textausgabe richtig dargestellt wird.


function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
     $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
  $image_wiki = str_replace($zeichen,"",$image_wiki);
if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];
$summary = utf8_decode($summary);
$summary = str_replace('?','"',$summary);
$image_wiki = str_replace(' ','_', $image_wiki);

$summary .= "<a href='http://de.wikipedia.org/wiki/$image_wiki' onclick=\"void(window.open(this.href, '', '')); return false;\" >Quelle:Wikipedia</a>";
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
$summary = str_replace('href="#',"href=\"http://de.wikipedia.org/wiki/$image_wiki#", $summary);
    $summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);
    return $summary;
}


mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 10:35:35 PM
danke-.....

mhhmmm.....
also bei mir klappt das immer noch nicht  :?
normal "hirschberg" klappt aber "hirschberg_(bayern)" klappt nicht...
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 15, 2009, 10:36:16 PM
hast du die funktion genauso übernommen?

edit: sehe gerade auf deiner seite fehlen im link die klammern,
unten in der statuszeile vom IE explorer sieht man sehr schön den link wenn man über "quelle: wikipedia" fährt
Title: Re: MOD WIKIPEDIA
Post by: 4ella on June 15, 2009, 10:37:16 PM
@Bergblume

Rinaldo helped me out like this , maybe will help you too

I had the problems with Austria(33).jpg  , Austria was correct


Rinaldo hab mir gehillft :
http://www.4homepages.de/forum/index.php?topic=24928.msg136689#msg136689
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 10:41:04 PM
hast du die funktion genauso übernommen?

edit: sehe gerade auf deiner seite fehlen im link die klammern,
unten in der statuszeile vom IE explorer sieht man sehr schön den link wenn man über "quelle: wikipedia" fährt

ja, aber es funktioneirt nicht ... http://www.tourendatenbank.com/details.php?image_id=384

Edit: doch jetzt klappt es!! danke, andi!!! habe meinen cache leeren müssen!!!

folgenden code vor ?> in der functions.php habe ich verwendet:

Code: [Select]
function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;

//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
     $zeichen = array('#', '?', '§', '$', '%', '&', '/', '=', '^', '°', '*', '@');
  $image_wiki = str_replace($zeichen,"",$image_wiki);

if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];
    $summary .= $match[0][5];
    $summary .= $match[0][6];

    $summary = utf8_decode($summary);
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 15, 2009, 10:49:29 PM
rofl, wollte es gerade schreiben  :D

na fein ist das auch erledigt, wünsche dir eine gute nacht!

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: bergblume on June 15, 2009, 10:53:40 PM
ebenso! danke nochmals!
Title: Re: MOD WIKIPEDIA
Post by: tom69 on June 19, 2009, 12:04:37 PM
Hallo Leute,

den MOD von rinaldos  finde ich klasse.

Vom ersten Beitrag bis jetzt sind ja viele Sachen dazu bzw. abgeändert worden. Da ich nicht so fit bin in der Sache wollte fragen, ob es quasi eine aktuelle Beschreibung ( wie Post Nr. 1 ) noch einmal geben wird. So das auch "Dummis" den durchblick haben.

Für mich ist die Funktion wichtig, das der Admin bzw. User ( der ein Bild hochlädt ) bestimmen kann ob Wiki angezeigt werden kann. Wiki quasi einmal in der ausführlichen Version oder in der kurzversion


Gruss

Tom
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 19, 2009, 12:41:47 PM
@tom69,
dann nimm den POSt 1, der funktioniert. Der link zwischendrin ist nur eine andere Darstellung vom REMBRANDT, oder die Postings danach, behandeln die Probleme der einzelnen User. Also POST 1 sollte so wie er ist funktionieren....

LG
Ingo
Title: Re: MOD WIKIPEDIA
Post by: XeroX on June 26, 2009, 04:28:03 PM
Help me pls,

http://www.tourendatenbank.com/details.php?image_id=410
this page description rss , wikipedia rss not!

http://www.tourendatenbank.com/rss.php?action=comments&image_id=410


description + wkipedian rss feed add?
Help pls?

 :oops: :cry:
Title: Re: MOD WIKIPEDIA
Post by: UssVoyager on June 27, 2009, 10:01:58 PM
Ein HALLO in die Runde, :D

Dieser MOD ist natürlich klasse, nur leider bekomme ich ihn nicht hin.

Fatal error: Call to undefined function: simplexml_load_file() in /homepages/31/d34389461/htdocs/Flash/4images/includes/functions.php on line 1798

Die Funktion "simplexml_load_file" müsste vorhanden sein laut 1und1, der Index Datei habe ich die Endung .php5 gegeben damit php5 angesprochen wird,
Desweiteren habe ich eine weitere Date eingebaut ".htaccess" mit diesem Inhalt
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Alles damit PHP5 angesprochen wird, aber es klappt nicht, ich habe Step 6-8 nicht durchgeführt weil ich keine Member habe, dass wird ja wohl nicht der Grund sein?! :?

Hat jemand ein TIP?

Lg
UssVoyager :roll:
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 27, 2009, 10:44:26 PM
Hi!
...
Alles damit PHP5 angesprochen wird, aber es klappt nicht, ich habe Step 6-8 nicht durchgeführt weil ich keine Member habe, dass wird ja wohl nicht der Grund sein?! :?
...
nein das ist nicht der grund.
versuche es halt mal damit: http://www.4homepages.de/forum/index.php?topic=24975.msg136738#msg136738

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: XeroX on June 27, 2009, 11:23:36 PM
Help me pls,

http://www.tourendatenbank.com/details.php?image_id=410
this page description rss , wikipedia rss not!

http://www.tourendatenbank.com/rss.php?action=comments&image_id=410


description + wkipedian rss feed add?
Help pls?

 :oops: :cry:

hey help me pls,
this e print rss , wkipedia
image decription + wikipedia --> rss print
pls help
Title: Re: MOD WIKIPEDIA
Post by: UssVoyager on June 28, 2009, 11:08:46 AM
Hi Andi,

das klappt leider auch nicht :? schade.


Fatal error: Call to undefined function: get_wiki()

Laut 1und1 Support dürfte es keine Probleme geben.

1und1 Support:
SimpleXML ist vorhanden.

Eine Liste der installierten PHP-Module und -Einstellungen (phpinfo())
finden Sie hier:

Version 4 (.php/.php4):
http://ihre-webhosting-domain.de/php/phpinfo.php

Version 5 (.php5):
http://ihre-webhosting-domain.de/php/phpinfo.php5


PHP5 ist bereits auf Ihrer Präsenz verfügbar. Skripte, welche durch den
PHP5-Parser analysiert werden sollen, müssen die Endung ".php5" tragen
(für PHP4 die Endung ".php4").

Alternativ können Sie eine Datei namens ".htaccess" (ohne
Anführungszeichen) mit folgendem Inhalt in dasselbe Verzeichnis ablegen,
in dem sich auch die betroffenen Skripte befinden:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Damit werden alle PHP-Skripte als PHP5-Dateien behandelt.

MFG
UssVoyager

Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 28, 2009, 02:13:23 PM
...
PHP5 ist bereits auf Ihrer Präsenz verfügbar. Skripte, welche durch den
PHP5-Parser analysiert werden sollen, müssen die Endung ".php5" tragen
(für PHP4 die Endung ".php4").

Alternativ können Sie eine Datei namens ".htaccess" (ohne
Anführungszeichen) mit folgendem Inhalt in dasselbe Verzeichnis ablegen,
in dem sich auch die betroffenen Skripte befinden:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php....

wenn du eine htaccess date erstellt hast, darfst du die dateiendungen nicht *php5 bennen.
Quote

das klappt leider auch nicht  schade.
Fatal error: Call to undefined function: get_wiki()
ist auch klar, wenn du meinen post den ich dir verlinkt habe, unverändert übernimmst.
in meinen post geht es um die categorie, (get_wiki_cat) und nicht wie bei dir um get_wiki.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: UssVoyager on June 28, 2009, 05:04:13 PM
Hi Andi,

Deine Verlinkung aus der vorletzten Nachricht verstehe ich als Plan "B" wenn PHP5 nicht zur Verfügung steht, ich habe PHP5 Endungen beseitigt und die ".htaccess" weiter nach Vorne gesetzt, die Seite (Detail-Ansicht) wird jetzt zumindest angezeigt, mit 3 Fehlermeldungen, vorher wurde sie gar nicht angezeigt, ich würde also noch an Plan "A" festhalten so wie vorne im Mod beschrieben.

An welcher Stelle wir die "1" vorgegeben, dass Wiki angezeigt wird, ich würde gerne ein "0" davon machen, denn dann habe ich zumindest schon mal keine Fehlermeldung mehr.



Warning: simplexml_load_file() [function.simplexml-load-file]: URL file-access is disabled in the server configuration in /homepages/31/d34389461/htdocs/Flash/4images/includes/functions.php on line 1798

Warning: simplexml_load_file(http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=Duisburg%20Hochfeld%201940) [function.simplexml-load-file]: failed to open stream: no suitable wrapper could be found in /homepages/31/d34389461/htdocs/Flash/4images/includes/functions.php on line 1798

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=Duisburg%20Hochfeld%201940" in /homepages/31/d34389461/htdocs/Flash/4images/includes/functions.php on line 1798

ich hoffe Du hast noch Geduld mit mir
ralf
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 28, 2009, 05:11:27 PM
....
An welcher Stelle wir die "1" vorgegeben, dass Wiki angezeigt wird, ich würde gerne ein "0" davon machen, denn dann habe ich zumindest schon mal keine Fehlermeldung mehr.
..
siiischa siiiischa.... :)
in der datenbank wird die "1" vorgegeben, das habe ich bei mir auch auf "0" gestellt.
kopier die htaccess auch mal in den admin ordner.

Quote
und die ".htaccess" weiter nach Vorne gesetzt,
wie meinst du das?

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: UssVoyager on June 28, 2009, 05:21:39 PM
HI

Quote
wie meinst du das?
in einen übergeordneten Ordner, sie wirkt dann ja für alle Unterordner, so habe ich zumindest gelesen.


Ich habe  .htaccess jetzt im Admin Ordner aber keine Änderung!

Nachtrag:( Der Nachtrag hat sich auch schon erledigt,es geht, wer Wiki nicht aktiviert haben möchte, die beiden Nullen unten (BLAU) in der WIKIPEDIA_INSTALL eintragen.)

Wenn ich in der WIKIPEDIA-INSTALL die beiden Blauen "0" eintrage, kann ich dann noch mal drüber installieren, so das ich alle Bilder mit null habe, denn jetzt habe ich alle mit einer eins, und nach meiner Änderung von Hand werden nur die neuen mit null abgespeichert?
Oder kann es beim drüber installieren Probleme geben?

"WIKIPEDIA-INSTALL"
$sql_data = array(
     "ALTER TABLE ".IMAGES_TABLE."  ADD `image_allow_wiki` TINYINT( 1 ) NOT NULL DEFAULT '0'",
     "ALTER TABLE ".IMAGES_TEMP_TABLE." ADD `image_allow_wiki` TINYINT( 1 ) NOT NULL DEFAULT '0'",
     "ALTER TABLE ".IMAGES_TABLE." ADD `image_wiki` VARCHAR( 255 ) NOT NULL"

Lg
ralf


Aktueller Stand : http://www.die-bildersammlung.de/details.php?image_id=670
 Es wird nichts angezeigt das Bild müsste einen WIKI Eintrag haben, bin diesen Weg jetzt gegangen http://www.4homepages.de/forum/index.php?topic=24975.msg136738#msg136738
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 29, 2009, 11:45:43 AM
Hi!

lösche doch die tabellen ganz einfach, und erstell sie dann mit default "0" neu.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: UssVoyager on June 29, 2009, 03:58:13 PM
Hi Andi,
habe ich ja gemacht, habe die alte Datenbank wiederhergestellt und mit "WIKIPEDIA-INSTALL" neu Installiert, natürlich mit default "o".


Ist denn jemand bei 1und1 der diesen MOD am laufen hat?
Lg
ralf
Title: Re: MOD WIKIPEDIA
Post by: Fryz on July 19, 2009, 05:28:52 PM
Ich bekomme diesen Fehlerhinweis...
Kann mir mal wieder jemand einen Tip geben? ;-)


Fatal error: Call to undefined function: get_wiki() in /var/www/XXX/html/Galerie/details.php on line 941
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on July 19, 2009, 05:32:14 PM
Hi
Hast du auch die Änderungen in der functions.php durchgeführt? Der Fehler zeigt nur an, das er die Funktion nicht findet.
Anscheinend hast du entweder einen Tipfehler, oder die Änderung nicht durchgeführt.
Gruß
Title: Re: MOD WIKIPEDIA
Post by: Fryz on July 19, 2009, 05:36:04 PM
Ja, hab ich. Allerdings hab ich " $xml = simplexml_load_file($url); " mal rausgelöscht, da diese Funktion nicht geht...
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on July 19, 2009, 05:44:05 PM
Das habe ich extra in ROT ganz am Anfang geschrieben. Diese Funktion muss dein Hoster anbieten. Ansonsten wird es nicht funktionieren.
Ich habe auch noch keinen anderen Weg gesehen......
Gruß
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on July 19, 2009, 05:45:19 PM
@Fryz

... " $xml = simplexml_load_file($url); " ist die absolute Grundlage für die Wikipedia Modifikation ... ;) ...
... sollte diese Funktion für deinen Webspace nicht aktiviert sein, so hat sich diese Modifikation für dich erledigt ... sorry ...

...edit ... rinaldos was faster ...  :D
Title: Re: MOD WIKIPEDIA
Post by: Fryz on July 19, 2009, 05:46:34 PM
Ok, alles klar. Ich danke dir :-)
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on July 19, 2009, 05:51:40 PM
Hi!
...... sollte diese Funktion für deinen Webspace nicht aktiviert sein, so hat sich diese Modifikation für dich erledigt ... sorry ...
....
und mit dem gehts nicht?
http://www.4homepages.de/forum/index.php?topic=24975.msg136738#msg136738

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: Fryz on July 19, 2009, 05:56:07 PM
Nein, leider nicht. Ich habs versucht...
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on July 19, 2009, 06:01:01 PM
Hallo Andi,

... danke für den Hiweis ...
... irgendwie habe ich diesem Post noch nicht genug Beachtung geschenkt und die Sache so noch nicht getestet ...
... werde es dann nachholen ...
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on July 19, 2009, 06:07:34 PM
Nein, leider nicht. Ich habs versucht...
was kommt den für eine fehlermeldung, b.z.w. welche php version hast du?

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: Fryz on July 19, 2009, 06:09:55 PM
Hab grad gesehen, daß ich PHP 5 benutzen kann (http://gallery.house-of-qubus.de/phpinfo.php (http://gallery.house-of-qubus.de/phpinfo.php)

Der Fehlerhinweis ist: Fatal error: Call to undefined function get_wiki() in /var/www/XXX/html/Galerie/details.php on line 941
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on July 19, 2009, 06:23:48 PM
Hab grad gesehen, daß ich PHP 5 benutzen kann (http://gallery.house-of-qubus.de/phpinfo.php (http://gallery.house-of-qubus.de/phpinfo.php)
dann stell deine galerie auf php5 um dann funktioniert auch dieser mod,

Quote
Der Fehlerhinweis ist: Fatal error: Call to undefined function get_wiki() in /var/www/XXX/html/Galerie/details.php on line 941
@rinaldos hat dir das schon gesagt, da hast du was beim einbau falsch gemacht.
Title: Re: MOD WIKIPEDIA
Post by: bergblume on February 16, 2010, 09:38:02 AM
hi ingo - hallo andi,

unser toller Wiki-MOD scheint leider nicht mehr zu funktionieren - sowohl bei dir als auch bei mir kommt nun folgende Fehlermeldung:


Code: [Select]
Warning: simplexml_load_file(http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=K%FCken) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /srv/www/rinaldos/includes/functions.php on line 4298

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=K%FCken" in /srv/www/rinaldos/includes/functions.php on line 4298

wie können wir das problem lösen?

Gruss, bergblume
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on February 16, 2010, 09:55:18 AM
... bis gestern lief noch alles bestens ...
... offensichtlich stellt Wikipedia die API nicht mehr zur Verfügung ...
... die Fragen sind : ... ist das temporär ? , ... oder dauerhaft ? ... und gibt es eine Alternative ?
... ähnliche Vorfälle gab es auch bei der Google-Wetter-API ... doch diese wurde immer nur geändert ...
... muss mich bergblume anschließen : gibt es Erkenntnisse dazu ... ?
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on February 16, 2010, 09:58:32 AM
Komisch ist ja nur, wenn ich via Webbrowser http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=Liebe den Link aufrufe, wird mir auch alles angezeigt.
Vielleicht geht es ja bald von selber wieder, in der Zwischenzeit werde ich mir das mal ein wenig genauer anschauen, mit deren API :-)

Gruß

Stoff zum lesen gibbet hier :-)

http://de.wikipedia.org/w/api.php

Title: Re: MOD WIKIPEDIA
Post by: mawenzi on February 16, 2010, 10:09:24 AM
@ rinaldos ...

... sehr reichlich zu lesen ... ;)
... ich denke auch, bevor wir hier in Panik verfallen, sollten wir zunächst noch etwas abwarten ...
... eventuell renkt sich die API ja wieder von alleine ein (also alles temporär) ...
Title: Re: MOD WIKIPEDIA
Post by: bergblume on February 16, 2010, 10:44:06 AM
ja, ich hoffe auch, dass es nur ein temporäres problem ist..
wie gesagt - heute ist es mir zum ersten mal aufgefallen... gestern ging es auch bei mir noch...
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on February 16, 2010, 11:01:31 AM
zum kurzfristigen deaktivieren, einfach in der details.php folgende Zeile ändern

if ($image_row['image_allow_wiki'] == 1){


nach

if ($image_row['image_allow_wiki'] == 2){


Gruß

P.S. Nur merken, nicht das nachher wild Fehler gesucht wird, wie man den MOD wieder aktiviert :-)
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on February 16, 2010, 01:30:23 PM
@rinaldos ...

... da die xml-Datei ja angezeigt wird, so muss man davon ausgehen, dass die API noch funktionstüchtig ist ...
... offensichtlich hat Wikipedia ( analog Google bei der Wetter-API ) Code-Änderungen vorgenommen ...
... und so werden die gewünschten Textpassagen nicht mehr an der bisherigen Stelle gefunden ...
... das Parsen der xml-Datei für diesem MOD müsste also überarbeitet werden ...
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on February 16, 2010, 03:23:43 PM
Ich habe die Funktion nun nur um einen USER_AGENT erweitert. Anscheinend sperrt WIKI nun alle Browser_USER_AGENT von PHP.

function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $image_wiki = str_replace($zeichen,"",$image_wiki);
    if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
     $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
     $xml = simplexml_load_file($url);
     $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];   
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    $summary = str_replace('?','"',$summary);
    $image_wiki = str_replace(' ','_', $image_wiki);
    $summary .= "<a href='http://de.wikipedia.org/wiki/$image_wiki' onclick=\"void(window.open(this.href, '', '')); return false;\" >Quelle:Wikipedia</a>";
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
    $summary = str_replace('href="#',"href=\"http://de.wikipedia.org/wiki/$image_wiki#", $summary);
    $summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);
//     $summary = ereg_replace('</a>', '', $summary);
    return $summary;
}


Damit klappt es nun bei mir, fraglich wie lange....... Wäre schön wenn das jemand mit dieser funktion, bzw mit der Erweiterung
Code: [Select]
ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
bestätigen könnte.......

Gruß
Title: Re: MOD WIKIPEDIA
Post by: bergblume on February 16, 2010, 03:31:31 PM
servus ingo!

du bist genial (bin immer wieder erstaunt, wie du/ ihr solche probleme so schnell lösen könnt  8O )

also bei mir funktioniert es nun wieder einwandfrei"  :thumbup:

gruss, bergblume
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on February 16, 2010, 03:44:38 PM
Google war eben mein Freund, und in irgendeinem Forum hatte zufällig einer so ein ähnliches Problem, und als er einen USER Agenten definiert hatte, klappte es bei ihm.
Nur eben die Sucherei die dauert manchmal :-) Aber schön das es im Moment wieder geht. Schauen wir mal wie lange noch .....

Hast du nur den "USER AGENT" hinzugefügt?

Gruß
Title: Re: MOD WIKIPEDIA
Post by: bergblume on February 16, 2010, 03:50:26 PM
ja, ich habe exakt nur die zeile in meiner functions.php hinzugefügt:

Code: [Select]
ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
mehr nicht!
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on February 16, 2010, 03:54:44 PM
POST auf Seite 1 (Schritt 1) wurde mit
Code: [Select]
ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');

aktualisert.
An alle die immer noch Probleme mit dem Fehler

Warning: simplexml_load_file(http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=K%FCken) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

haben, bitte Schritt 1 erneut ausführen!.

Gruß
Ingo
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on February 16, 2010, 04:46:12 PM
...ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
...
astrein  :thumbup:

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: hitrax on February 16, 2010, 06:21:43 PM
Ingo Du bist genial  :thumbup:


Gruß Helge
Title: Re: MOD WIKIPEDIA
Post by: mawenzi on February 16, 2010, 06:43:52 PM
... danke Ingo für die schnelle Lösung ...
... gaukeln wir nun alle Wikipedia vor, dass wir direkt mit Firefox die xml-Datei betrachten ... ;)
Title: Re: MOD WIKIPEDIA
Post by: Nicky on February 16, 2010, 08:28:56 PM
... bis wikipedia die server ip nicht sperrt (wegen abusivem handling)
dann... haleluja ;)

lieber nachfragen, warum es geändert wurde
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 14, 2010, 06:37:07 PM
Wie kann ich denn in der Datenbank alle Bilder auf null stellen, habe den Mod installiert, und ich würde gerne die Bilder selber aktivieren, stehen aber schon in der Datenbank mit "1"
mit Hand wäre das was mühselig  :wink:

LG

Edit: hat sich erledigt, hab die Install geändert

LG
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on May 14, 2010, 11:36:21 PM
Mit phpmyadmin
Du wählst deine Tabelle 4images_images aus, und gibst dann bei SQL folgendes ein:

update 4images_images SET image_allow_wiki = 0 WHERE image_allow_wiki = 1

Damit sollte eigentlich das ganze für alle Bilder deaktiviert werden. Weiterhin in den Feldeigenschaften image_allow_wiki solltest du die default Werte auf 0 setzen, sofern die nicht schon darauf stehen.
Der MOD ist nun schon etwas älter, werde den  mir  morgen mal zu Gemüte führen :-)

Gruß
Ingo
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 15, 2010, 12:00:33 AM
Danke, aber habe wie gesagt, die Install abgeändert, da ich noch am testen bin, war das die einfachste Lösung  :wink:

solltest Du aber generell auf "null" stehen lassen.

TOP Mod, klappt so auch in der 1.7.7

LG
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on May 15, 2010, 11:00:55 AM
Habe einen neuen Installer hochgeladen, der MOD ist nun nach der Installation erst einmal deaktiviert.

Gruß
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 15, 2010, 03:09:53 PM
kannst Du oder Andy evtl. die Erweiterung von Andy da noch mit einbauen (Links zu Wiki)

http://www.4homepages.de/forum/index.php?topic=24975.msg137246#msg137246

die müsste nämlich neu angepasst werden, weil sie so eine Fehlermeldung ausgibt.

http://www.4homepages.de/forum/index.php?topic=24975.msg145620#msg145620

LG
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on May 15, 2010, 03:41:32 PM
kannst Du oder Andy evtl. die Erweiterung von Andy da noch mit einbauen (Links zu Wiki)
....
^
wer...wie...was...wo? fehlermeldung?

die geschichte mit dem useragent hast du eingebaut?  http://www.4homepages.de/forum/index.php?topic=24975.msg145631#msg145631
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 15, 2010, 04:16:16 PM
Autsch, den hab ich übersehen ;) klappt jetzt

Kann man etwas gegen die roten Links machen, die erzeugen ja einen Link zur eigenen (nicht vorhandenen Seite)

Danke für den Schubs  :wink:

LG
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on May 15, 2010, 08:25:42 PM
...
Kann man etwas gegen die roten Links machen, die erzeugen ja einen Link zur eigenen (nicht vorhandenen Seite)...
meinst du die links in den eckigen klammern, das ist auch in dem von mir verlinkten post.
nach
//Links auf interne Seite Ändern


//Links auf interne Seite Ändern
$summary = str_replace('href="#',"href=\"http://de.wikipedia.org/wiki/$image_wiki#", $summary);
$summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);


mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on May 15, 2010, 08:41:05 PM
Die Geschichte mit dem Useragenten ist aber auch im FIRST POST :-) Ich habe nur den INSTALLER aktualisiert, da JAN meinte es wäre sinnvoll, das der MOD nicht von vornerein aktiv ist. Hat er ja auch recht :-)

Mal schauen wann wir den IE als User-Agenten nehmen müssen....

Gruß

Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 15, 2010, 10:38:04 PM
...
Kann man etwas gegen die roten Links machen, die erzeugen ja einen Link zur eigenen (nicht vorhandenen Seite)...
meinst du die links in den eckigen klammern, das ist auch in dem von mir verlinkten post.
nach
//Links auf interne Seite Ändern


//Links auf interne Seite Ändern
$summary = str_replace('href="#',"href=\"http://de.wikipedia.org/wiki/$image_wiki#", $summary);
$summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);


mfg Andi

Nein, die klappen, ich meine diese roten (siehe Bild)
mache mal ein Testbild mit dem Suchwort "Für immer Shrek" oder nur "Shrek"
dann solltest Du die auch haben, oder bei mir stimmt was nicht ;)
die Url lautet dann http://www.meineTestseite/w/index.php

LG
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on May 16, 2010, 06:02:30 AM
...
Nein, die klappen, ich meine diese roten (siehe Bild)...
so.. die rot eingestellten, sind links wo noch kein artikel darüber verfasst wurde....

wenn du diese zeile in deinen code hast kommentiere sie mittels vorangestellten // aus:
$summary = str_replace('?','"',$summary);

und nach:
$summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);
füge diese zeile ein:
$summary = str_replace('href="/w/', 'href="http://de.wikipedia.org/w/', $summary);

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 16, 2010, 02:13:44 PM
habe ich glatt gemacht  :wink:
Wie immer "TOP"

Danke

Harald
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 18, 2010, 11:02:08 PM
Wie unterschiedlich doch die Menschen sind ;)
OK, in meiner zweiten Galerie, ist mein Admin auch begeistert von diesem Mod, nur er möchte nur den Text haben, also ganz ohne Links.
Dazu habe ich den Code aus dem ersten Posting eingefügt, nur werden dort ja die roten Links auch angezeigt.
Wie bekomme ich diese auch noch raus, das alles ohne Link ist, und mein Admin zufrieden ist ;)

function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
   ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $image_wiki = str_replace($zeichen,"",$image_wiki);
    if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];    
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}

glaube dann haben wir hier alle Möglichkeiten durchgekaut  :D

LG Harald

PS,
um das auch noch aufzuführen, ihr könnt natürlich auch ausser dem Bild Namen, auch anderen Datenbankfeldern aufrufen laasen.
ändert dazu einfach in der detail.php das $image_wiki = $image_name; in eurem Wert.
Bei mir z.B. nach Hersteller = image_hersteller (selbst erstellte Tabelle)

$wiki = "";
if ($image_row['image_allow_wiki'] == 1){
    if ($image_row['image_wiki']){
        $image_wiki = $image_row['image_wiki'];
        $wiki = get_wiki($image_wiki);
    }else {
    $image_wiki = $image_name;
    $wiki = get_wiki($image_wiki);
    }
}

Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on May 19, 2010, 05:47:50 AM
$summary = str_replace('href="/w/', '', $summary);

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 19, 2010, 04:20:51 PM
leider nicht, dann gibt es wieder falsche normale Link, aber so klappt es

$summary = str_replace('href="', '', $summary);

dann wird kein Link mehr angezeigt

LG Harald
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on May 19, 2010, 05:06:34 PM
achso ich dachte du wolltes jetzt nur mehr die roten....
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on May 21, 2010, 06:48:36 PM
in Step 9 bitte ändern, damit es auch in diesem Mod klappt
[MOD] Batch Copy/Move/Edit
http://www.4homepages.de/forum/index.php?topic=6759.msg147741;topicseen#msg147741


$additional_image_fields['image_allow_wiki'] = array($lang['image_allow_wiki'], "text", 0);
$additional_image_fields['image_wiki'] = array($lang['image_wiki'], "text", 0);

LG
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on May 21, 2010, 07:50:15 PM
Dann muss aber auch das Datenbankfeld geändert werden ....

:-)

Nachtrag. Ich nehme alles zurück.
Ich habe das bei mir so drinne, und auhc im ersten POSt nun angepasst

$additional_image_fields['image_allow_wiki'] = array($lang['image_allow_wiki'], "radio", 0);
$additional_image_fields['image_wiki'] = array($lang['image_wiki'], "text", 0);

Gruss
Title: Re: MOD WIKIPEDIA
Post by: batu544 on June 04, 2010, 02:26:32 PM
Hi all -
              when I tried to install this mod for categories.. I got the following error message in my server error log..
Code: [Select]
[Fri Jun 04 07:46:42 2010] [error] [client 207.46.xxx.xxxx] PHP Warning:  simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: I/O warning : failed to load external entity &quot;http://de.wikipedia.org/w/api.php?format=xml&amp;action=parse&amp;page=Amanda%20Bynes&quot; in /home/xxxxxx/public_html/includes/functions.php on line 1959
[Fri Jun 04 07:46:42 2010] [error] [client 207.46.xxx.xxx] PHP Warning:  simplexml_load_file(http://de.wikipedia.org/w/api.php?format=xml&amp;action=parse&amp;page=Amanda%20Bynes) [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: failed to open stream: no suitable wrapper could be found in /home/xxxxxxx/public_html/includes/functions.php on line 1959
[Fri Jun 04 07:46:42 2010] [error] [client 207.46.xxx.xxx] PHP Warning:  simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: URL file-access is disabled in the server configuration in /home/xxxxxx/public_html/includes/functions.php on line 1959


Could anyone please let me know, how to fix this issue ?

Thanks,
batu544
Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 04, 2010, 02:37:01 PM
Hi
replace
Code: [Select]
function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;

with
Code: [Select]
function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');

I fixed post with addon for categories
Title: Re: MOD WIKIPEDIA
Post by: batu544 on June 04, 2010, 03:05:36 PM
Hi rinaldos,
                I applied the above fix.. but no result.. still I am getting the same error message,.. :(


For your information. I only made the changes in 3 files..

1. functions.php
2. categories.php
3. categories.html


Thanks,
batu544

Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 04, 2010, 03:50:58 PM
Thats correct, only 3 files. I have the same code in my HP which i postet for the categories :-)

Maybe, use the originally code, without Modification. And if there are no changes, please send me yout functions and your categories please ....
Title: Re: MOD WIKIPEDIA
Post by: batu544 on June 04, 2010, 04:54:39 PM
Hi,
      I tried the same code in my local machine and it worked fine.. but in the server, it not working.. and I think this is because of  allow_url_fopen option is off .. this is just a guess and I think ini_set is not working with my host..

so, I tried some other way to bypass this thing and now its working.. 

but now the problem is all the internal links are not working ..

Is there anyway to remove those internal links .. ?? I don't want those internal links and if possible <p> </P> tags also in the output...


rinaldos,
                       here is my get_wiki_cat function..

Code: [Select]
function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
    $sign = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@', ' ');
    $cat_name = str_replace($sign,"_",$cat_name);
    if(!$cat_name) return false;
    //The whole test from the API take Wiki

if (!ini_get('allow_url_fopen') && !ini_get('allow_url_include'))
{
# Force allow_url_fopen=on and allow_url_include=off
stream_wrapper_unregister('http');
require('http_wrapper.php');
stream_wrapper_register('http', 'moo_stream_wrapper_http');
}
    $url = "http://en.wikipedia.org/w/api.php?format=xml&action=parse&page=".$cat_name;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Search summary
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary = utf8_decode($summary);
    $summary .= "<a href = 'http://en.wikipedia.org/wiki/$cat_name'>Source: Wikipedia</a>";
    //If item is not available
    if($summary == "<p><b>Article content ??</b></p>") return false;
    //Links to internal pages
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}

Title: Re: MOD WIKIPEDIA
Post by: rinaldos on June 04, 2010, 05:03:00 PM
I think, the wrapper deactivate now all the links .... Sorry, i have at the moment no solution for your problem. Maybe some other guys....

Gruß
Ingo
Title: Re: MOD WIKIPEDIA
Post by: batu544 on June 04, 2010, 05:18:10 PM
I think, the wrapper deactivate now all the links .... Sorry, i have at the moment no solution for your problem. Maybe some other guys....

Gruß
Ingo

:)  Will it help you, if I provide you the wrapper file ?

Is there any other way to remove the <p> and </p> tags from the generated output ?

Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on June 04, 2010, 05:51:03 PM
...

Is there any other way to remove the <p> and </p> tags from the generated output ?

Code: [Select]
function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
    $sign = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@', ' ');
    $cat_name = str_replace($sign,"_",$cat_name);
    if(!$cat_name) return false;
    //The whole test from the API take Wiki

if (!ini_get('allow_url_fopen') && !ini_get('allow_url_include'))
{
# Force allow_url_fopen=on and allow_url_include=off
stream_wrapper_unregister('http');
require('http_wrapper.php');
stream_wrapper_register('http', 'moo_stream_wrapper_http');
}
    $url = "http://en.wikipedia.org/w/api.php?format=xml&action=parse&page=".$cat_name;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Search summary
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary = utf8_decode($summary);
    $summary .= "<a href = 'http://en.wikipedia.org/wiki/$cat_name'>Source: Wikipedia</a>";
    //If item is not available
    if($summary == "<p><b>Article content ??</b></p>") return false;
    //Links to internal pages

$remove= array('<p>','</p>');
$summary = str_replace($remove, "", $summary);

     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}


mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: batu544 on June 04, 2010, 08:20:21 PM
Rembrandt,
                      Thanks for your modified code..

rinaldos ,
                        The wrapper is not removing the links .. The below line in the function actually removes the links..
Code: [Select]
     $summary = ereg_replace('href="/wiki/', '', $summary);

    but the issue is it's not removing the links completely. Its only removing the " href="/wiki/" part and not the </a> part. For this reason it still looks like a link but not clickable..

I just found one more function to get the pure text as the output by removing all the html tags..Here I have posted the complete  code.

Code: [Select]
<?php
/**
 * Remove HTML tags, including invisible text such as style and
 * script code, and embedded objects.  Add line breaks around
 * block-level tags to prevent word joining after tag removal.
 */
function strip_html_tags$text )
{
    
$text preg_replace(
        array(
          
// Remove invisible content
            
'@<head[^>]*?>
.*?</head>@siu',
            '@<style[^>]*?>.*?</style>@siu',
            '@<script[^>]*?.*?</script>@siu',
            '@<object[^>]*?.*?</object>@siu',
            '@<embed[^>]*?.*?</embed>@siu',
            '@<applet[^>]*?.*?</applet>@siu',
            '@<noframes[^>]*?.*?</noframes>@siu',
            '@<noscript[^>]*?.*?</noscript>@siu',
            '@<noembed[^>]*?.*?</noembed>@siu',
          // Add line breaks before and after blocks
            '@</?((address)|(blockquote)|(center)|(del))@iu',
            '@</?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',
            '@</?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',
            '@</?((table)|(th)|(td)|(caption))@iu',
            '@</?((form)|(button)|(fieldset)|(legend)|(input))@iu',
            '@</?((label)|(select)|(optgroup)|(option)|(textarea))@iu',
            '@</?((frameset)|(frame)|(iframe))@iu',
        ),
        array(
            ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
            "\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0",
            "\n\$0", "\n\$0",
        ),
        $text );
    return strip_tags( $text );
}

function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
    $sign = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@', ' ');
    $cat_name = str_replace($sign,"_",$cat_name);
    if(!$cat_name) return false;
    //The whole test from the API take Wiki

if (!ini_get('allow_url_fopen') && !ini_get('allow_url_include'))
{
# Force allow_url_fopen=on and allow_url_include=off
stream_wrapper_unregister('http');
require('http_wrapper.php');
stream_wrapper_register('http', 'moo_stream_wrapper_http');
}
    $url = "http://en.wikipedia.org/w/api.php?format=xml&action=parse&page=".$cat_name;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Search summary
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
$summary = strip_html_tags( $summary );
    $summary .= "<a href = 'http://en.wikipedia.org/wiki/$cat_name'>Source: Wikipedia</a>";
    //If item is not available
    if($summary == "<p><b>Article content ??</b></p>") return false;
    //Links to internal pages

//     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}

?>

Please let me know if anyone have a better/efficient code ...


Thanks,
batu544
Title: Re: MOD WIKIPEDIA
Post by: Jan-Lukas on June 29, 2010, 11:58:01 PM
Gibt es eine Lösung auch Stichworte in Klammern anzeigen zu lassen ??
z.B. BP (Konzern), leider wird dann kein Text angezeigt, und Wiki bietet nur das eine an.

LG
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on February 28, 2011, 07:34:37 PM
Ich habe überlegt den MOD zu installieren und mich durch alle Seiten in diesem Thread gelesen. Aber da sich ja hier lange nichts getan hat und alle angegebenen Demo-Seiten nicht funktionieren, kann ich mir die Mühe wohl sparen, oder? Kann jemand sagen, ob der Mod noch bzw. wider läuft?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on February 28, 2011, 07:38:47 PM
.. Kann jemand sagen, ob der Mod noch bzw. wider läuft?
der läuft und läuft und läuft (http://www.vienna-pictures.com/details.php?image_id=2807)...
unten auf dem bild auf "bildinformation"
oder bei den bild (http://www.vienna-pictures.com/details.php?image_id=2734)
mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: batu544 on March 01, 2011, 12:39:09 PM
Hi osnapicture,
                         It works.. You can see the demo here also ==> http://www.bhwallpapers.com/k-louise-glover-114.htm   ( at the bottom of the page "About Louise Glover.." section )


Thanks
batu544
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 01, 2011, 05:55:02 PM
Genial! Vielen Dank!

Habe gleich damit begonnen das zu installieren. Allerdings habe ich ein Problem: Bei der Detailansich der Fotos taucht folgende Fehlermeldung auf:

Warning: simplexml_load_file() [function.simplexml-load-file]: URL file-access is disabled in the server configuration in /meinedomain/includes/functions.php on line 1937
Warning: simplexml_load_file(http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=Karin%20Dor) [function.simplexml-load-file]: failed to open stream: no suitable wrapper could be found in /meinedomain/includes/functions.php on line 1937
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=Karin%20Dor" in /meinedomain/includes/functions.php on line 193

Wenn ich Schritt 9 aus der Anleitung rückgängig mache und folgende Zeilen aus der includes/db_field_definitions.php entferne, ist der Fehler weg:
$additional_image_fields['image_allow_wiki'] = array($lang['image_allow_wiki'], "radio", 0);
$additional_image_fields['image_wiki'] = array($lang['image_wiki'], "text", 0);


Allerdings ist das ja nicht Sinn der Sache, weil der MOD dann nicht funktioniert.

Kann mir vielleicht jemand helfen und sagen, wo der Fehler liegen könnte?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 01, 2011, 07:46:35 PM
....Habe gleich damit begonnen das zu installieren. Allerdings habe ich ein Problem: Bei der Detailansich der Fotos taucht folgende Fehlermeldung auf:
....
wenn man einen mod installiert sollte man wenigsten die ersten 3 zeilen lesen.   :)
Quote
Funktion "simplexml_load_file" steht erst ab PHP5 zur Verfügung


abhilfe:  http://www.4homepages.de/forum/index.php?topic=24975.msg136738#msg136738
meine persönliche empfehlung wechsel den provider wenn der jetzt noch immer auf php4 herrumgurkt.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 01, 2011, 10:13:49 PM
Danke für die schnelle Antwort.

Bin eigentlich davon ausgegangen, dass simplexml_load_file bei mir funktioniert. Ich bin bei 1&1. In der php Info steht: PHP Version 5.2.17

Habe Deinen Beitrag zur Abhilfe schon gelesen. Mir ist aber nicht ganz klar in welche Datei und an welche Stelle ich den Code dort kopieren muss. Auch weiß ich nicht welche Datei aus der Zip-Datei ich in den includes-Ordner kopieren muss. Alle Dateien darin oder nur die xml-line.php?

Für eine Antwort wäre ich sehr dankbar.
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 05:19:25 AM
...Bin eigentlich davon ausgegangen, dass simplexml_load_file bei mir funktioniert.....
....
das kannst du in der der phpinfo.php im ACP nachlesen.
du brauchst nur die "xml-line.php" in den includes ordner kopieren.

.... Mir ist aber nicht ganz klar in welche Datei und an welche Stelle ich den Code dort kopieren muss. ....
jetzt ist mir nicht klar was du damit meinst?

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 08:18:00 AM
Super, jetzt dürfte ich der Lösung näher kommen. Die xml-line.php habe ich jetzt in den Include-Ordner kopiert.

Jetzt muss ich nur noch wissen, wo der folgende Code aus Deinem Lösungsansatz hin muss:

require_once("xml-line.php");
 function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $cat_name = str_replace($zeichen,"",$cat_name);
    if(!$cat_name) return false;
    //Gesamter Text aus der Wiki-API nehmen
    $xmlfile = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=$cat_name";
$xml = new xml_line($xmlfile,"xml");
$xml->get_record(1,"text");
$xml->xml_stream();
$text = $xml->table_result[1][1]['text'];
$text =  $xml->get_output();

$reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
$summary .= $match[0][4];
$summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";
$summary = utf8_decode($summary);

//wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 08:35:50 AM
wie hier beschrieben:

http://www.4homepages.de/forum/index.php?topic=24975.msg136709#msg136709
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 09:24:53 AM
Irgendwie stehe ich gerade auf dem Schlauch.

Ich habe alle Schritte der Installationsanleitung am Anfang ausgeführt, dann habe ich die Datei xml-line.php in den includes-ordner kopiert und zuletzt den folgenden Code ans Ende der functions.php kopiert

function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
   ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');
//    $image_wiki = preg_replace('/\\W/', '',$image_wiki);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $image_wiki = str_replace($zeichen,"",$image_wiki);
    if(!$image_wiki) return false;
    //Gesamter Test aus der Wiki-API nehmen
    $url = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=".$image_wiki;
    $xml = simplexml_load_file($url);
    $text = $xml->parse->text;
    if(!$text) return false;
    //Zusammenfassung suchen
    $reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
    $summary .= $match[0][4];   
    $summary .= $match[0][5];
    $summary .= $match[0][6];
    $summary = utf8_decode($summary);
    //wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
}

require_once("xml-line.php");
 function get_wiki_cat($cat_name) {
  global $user_info, $site_db, $session_info, $config;
//    $image_name = preg_replace('/\\W/', '',$image_name);
    $zeichen = array('#', '?', '§', '$', '%', '&', '/', '(', ')', '=', '^', '°', '*', '@');
    $cat_name = str_replace($zeichen,"",$cat_name);
    if(!$cat_name) return false;
    //Gesamter Text aus der Wiki-API nehmen
    $xmlfile = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=$cat_name";
$xml = new xml_line($xmlfile,"xml");
$xml->get_record(1,"text");
$xml->xml_stream();
$text = $xml->table_result[1][1]['text'];
$text =  $xml->get_output();

$reg_exp = '/<p>(.*?)<\/p>/s';
    preg_match_all($reg_exp, $text, $match);
    $summary = $match[0][0];
    $summary .= $match[0][1];
    $summary .= $match[0][2];
    $summary .= $match[0][3];
$summary .= $match[0][4];
$summary .= "<a href = 'http://de.wikipedia.org/wiki/$cat_name'>Quelle: Wikipedia</a>";
$summary = utf8_decode($summary);

//wenn Artikel nicht vorhanden
    if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
    //Links auf interne Seite ändern
     $summary = ereg_replace('href="/wiki/', '', $summary);
    return $summary;
 

}

War das alles so richtig? Wahrscheinlich nicht. Die eingangs beschriebene Fehlermeldung bleibt trotzdem. Was habe ich falsch gemacht?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 01:44:58 PM
du hast ja wieder die function get_wiki aus dem @TO genommen,das ist klar das die nicht funktioniert.
du hättest meine nehmen sollen.
versuche mal das:

require_once("xml-line.php");
 function get_wiki($image_wiki) {
  global $user_info, $site_db, $session_info, $config;
  ini_set('user_agent', '(Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6');

  $zeichen = array('#', '?', '§', '$', '%', '&', '/', '=', '^', '°', '*', '@');
  $image_wiki = str_replace($zeichen,"",$image_wiki);
  if(!$image_wiki) return false;
  //Gesamter Test aus der Wiki-API nehmen
  $xmlfile = "http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=$cat_name";
  $xml = new xml_line($xmlfile);
  $xml->get_record(0,"item");
  $result = $xml->xml_stream();
   
  $text= $xml->table_result;
   
  $text = $xml->parse->text;
  if(!$text) return false;
  //Zusammenfassung suchen
  $reg_exp = '/<p>(.*?)<\/p>/s';
  preg_match_all($reg_exp, $text, $match);
  $summary = $match[0][0];
  $summary .= $match[0][1];
  $summary .= $match[0][2];
  $summary .= $match[0][3];
  $summary .= $match[0][4];
  $summary = utf8_decode($summary);
  $image_wiki = str_replace(' ','_', $image_wiki);

  $summary .= "<a href='http://de.wikipedia.org/wiki/$image_wiki' onclick=\"void(window.open(this.href, '', '')); return false;\" >Quelle:Wikipedia</a>";
  //wenn Artikel nicht vorhanden
  if($summary == "<p><b>Artikel verschwunden?</b></p>") return false;
  //Links auf interne Seite ändern
  $summary = str_replace('href="#',"href=\"http://de.wikipedia.org/wiki/$image_wiki#", $summary);
  $summary = str_replace('href="/wiki/', 'href="http://de.wikipedia.org/wiki/', $summary);
  $summary = str_replace('href="/w/', 'href="http://de.wikipedia.org/w/', $summary);
  return $summary;
}
Title: Re: MOD WIKIPEDIA
Post by: Loda on March 02, 2011, 01:53:40 PM
hallo!
ich habe den mod eigentlich erfolgreich eingebaut.
nur wird es in der detailseite etwas merkwürdig ausgelesen:
zB.

Quote
Seeadler kann bedeuten:

Quelle:Wikipedia

weiter nichts. ich kann nur ein paar worte auslesen. woran kann es liegen?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 01:57:52 PM
...
weiter nichts. ich kann nur ein paar worte auslesen. woran kann es liegen?
welchen suchbegriff hast du verwendet?
sehe schon du hast "seeadler" verwendet, da findet wiki nichts.

das kannst du ja selber überprüfen in dem du den begriff bei wiki eingibst und die genaue schreibweise in den wikiartikel übernimmst b.z.w. von dort rauskopierst.
mit "Seeadler (Art)" findet er das was du möchtest.
Title: Re: MOD WIKIPEDIA
Post by: Loda on March 02, 2011, 02:10:12 PM
ok, danke, habe den fehler erkannt.
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 04:02:09 PM
du hättest meine nehmen sollen.
versuche mal das:

Ich bin Dir echt dankbar für Deine Mühe, aber irgendwie schein ich nicht in der Lage zu sein. Jetzt habe ich folgende Fehlermeldung:

Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /meinedomain/includes/xml-line.php on line 439
Warning: fopen(http://de.wikipedia.org/w/api.php?format=xml&action=parse&page=) [function.fopen]: failed to open stream: no suitable wrapper could be found in /meinedomain/includes/xml-line.php on line 439
could not open XML input

Woran könnte das jetzt liegen?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 04:13:04 PM
du kannst die version von mir mal probieren,falls das eine andere ist(attachment), aber ich befürchte da ist ein provider problem, google ist voll davon.
mein empfehlung wie immer "all-inkl".

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 04:37:30 PM
aber ich befürchte da ist ein provider problem

Du dürftest Recht haben. Bei mir bzw. bei 1&1 steht "allow_url_fopen" tatsächlich auf "off".

Google sagt dazu: "falls dieser fehler im browser erscheint, erstellen sie bitte eine php.ini mit folgendem inhalt: "full_url_include = On"

Bei meinem Provider gibt es eine Hilfeseite zum Thema: http://hilfe-center.1und1.de/sp-service/sofort_hilfe_faq/technische_fragen/web_hosting/scripte_cgi_php_asp_etc_/php/6.html
Dort steht: "Sie können, falls Sie diese Option trotzdem nutzen möchten, eine php.ini mit folgenden Inhalt in das betreffende Verzeichnis des Scriptes ablegen: allow_url_fopen = on"

Ich frage mich nur, was das betreffende Verzeichnis des Scrips wäre? Das 4images Root-Verzeichnis? Das include-Verzeichnis? Ein anderes Verzeichnis? Habe alle probiert, aber die Funktion bleibt trotzdem auf "Off"
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 04:54:35 PM
keine ahnung ob dein provider das auslesen einer php.ini erlaubt da müstest du beim provider nachfragen.
erstell eine datei mit dem namen "php.ini" und kopiere sie in deinen root.
suche mal in google nach "1und1 php.ini"  :mrgreen:
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 04:58:17 PM
Jetzt haben wir zeitgleich gepostet. Hatte meinen vorherigen Beitrag noch einmal geändert. Laut 1&1 müsste das problemlos möglich sein. Komisch ist nur, wenn ich eine php.ini ins root Verzeichnis kopiere, steht im ACP bei phpinfo hinter allow_url_fopen trotzdem "off"
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 05:07:22 PM
 kopier die php.ini zusätzlich in den includes ordner.
irgendwo sollte sie greifen.
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 05:16:23 PM
kopier die php.ini zusätzlich in den includes ordner.
irgendwo sollte sie greifen.

Leider nein
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 05:21:09 PM
dann wende dich doch an den support von deinen provider
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 05:28:36 PM
Werde ich jetzt auch machen. Leider hat mir die Aktion jetzt alles zerschossen. Ich komme jetzt nicht mehr ins ACP. Egal ob ich die php.ini lösche oder nicht. Ich bekomme nur eine weiße Seite mit einigen wenigen komischen Zeichen: ""
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 05:34:26 PM
Werde ich jetzt auch machen. Leider hat mir die Aktion jetzt alles zerschossen. Ich komme jetzt nicht mehr ins ACP. Egal ob ich die php.ini lösche oder nicht. Ich bekomme nur eine weiße Seite mit einigen wenigen komischen Zeichen: ""
ja macht ja nicht, schau mal deine letzten änderungen an, ein fehler in der functions.php vielleicht.
anscheinend greift die php.ini ja doch
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 06:16:23 PM
Ich will Deine Hilfe ja nicht überstrapazieren, aber ich habe das Gefühl, dass ich jetzt kurz vor dem Ziel bin. Ohne zu wissen warum, läuft jetzt alles ohne Fehlermeldung.

Ich habe ein Testbild hochgeladen, darunter ein Suchwort für Wikipedia eingegeben, den Schalter für Wikipedia auf "ein" gesetzt, aber es wird leider gar nichts angezeigt. Außer "Textpassage aus Wikipedia" und die Wikipedia-Grafik
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 06:23:58 PM
welches suchwort?
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 06:33:39 PM
Juhu, ich habe es geschafft und bin jetzt super glücklich. Ich habe keine Ahnung warum es jetzt läuft, aber es läuft - nur das ist wichtig. Vielen Dank für die große Hilfe. Alleine hätte ich das nie ans Laufen bekommen.

Jetzt habe ich nur noch eine letzte Frage: Ich habe reichlich Fotos in meiner Galerie. Es soll bei jedem ein Wikipedia Eintrag angezeigt werden. Muss ich jetzt für jedes Foto einzeln den Schalter auf "Wikipedia-Eintrag anzeigen" legen oder kann ich irgendwo einstellen, dass grundsätzlich überall Wikipedia gezeigt wird?
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on March 02, 2011, 07:48:19 PM
Juhu, ich habe es geschafft und bin jetzt super glücklich. ...
na gott sei dank :)

eigentlich sollte alles auf "ja " stehen?
hm.. ich sehe gerade in der wikipedia_install sollte eigentlich lauten:
     
"ALTER TABLE ".IMAGES_TABLE."  ADD `image_allow_wiki` TINYINT( 1 ) NOT NULL DEFAULT '1'",
"ALTER TABLE ".IMAGES_TEMP_TABLE." ADD `image_allow_wiki` TINYINT( 1 ) NOT NULL DEFAULT '1'",


und nicht:
TINYINT( 0 )
vielleicht liegt es daran.

in der DB kannst du die beiden felder umstellen, versuche das mal
Title: Re: MOD WIKIPEDIA
Post by: osnapicture on March 02, 2011, 08:18:44 PM
Jau, super! Vielen herzlichen Dank! Jetzt läuft alles einwandfrei und ich kann mich dem nächsten Problem widmen - dem mit den Umlauten.... Aber dazu werde ich mir jetzt die 35.000 Threads dazu durchlesen. Der Wikipedia-MOD ist dank Dir fertig installiert.
Title: Re: MOD WIKIPEDIA
Post by: heinier on April 21, 2015, 02:03:07 PM
Hallo,

ich hatte dem Wikipedia Mod vor einiger Zeit auf meiner details.html und categories.html eingebaut.
Funktionierte auch super.

Leider bekomme ich seit geraumer Zeit so eigenartige Zeichen angezegt.

Die o.g. html-Dateien habe ich in utf-8 ohne BOM konvertiert. Meine Mysql-Datenbank liegt in "utf8_general_ci" vor.

Hier gehts zu einem Bsp.-Link: http://matzlpage.de/details.php?image_id=13439&sessionid=7ltflijh3kc5ag01jsit0aecj7 (http://matzlpage.de/details.php?image_id=13439&sessionid=7ltflijh3kc5ag01jsit0aecj7)

Viele Grüße

Heinier
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on April 21, 2015, 05:51:52 PM
...

Die o.g. html-Dateien habe ich in utf-8 ohne BOM konvertiert.....
Meine Seite funktioniert nach wie vor Wunderbar, die HTML Dateien sind ganz normal nach ANSI konvertiert.
Außerdem fehlt auf deiner Verlinkten Seite die Doctype Deklaration.

mfg Andi
Title: Re: MOD WIKIPEDIA
Post by: heinier on April 22, 2015, 01:38:20 PM
Hallo Rembrandt,

vielen Dank für deine Antwort.

Ich habe festgestellt, dass der Browser, egal welcher, nicht automatisch erkennt, dass es sich um die westliche Zeichencodierung handelt.
Wo kann ich denn das in den html-Dateien einstellen? Ansonsten müsste man die Umstellung auf jeder Seite durchführen. Macht niemand!

Viele Grüße,

Heinier
Title: Re: MOD WIKIPEDIA
Post by: Rembrandt on April 22, 2015, 04:03:04 PM
... Macht niemand!
Das ist ja auch der Sinn und Zweck eines CMS.
Du solltest dir wirklich mal den Quelltext deiner Galerie ansehen, jetzt ist der Datei Header zwei mal drinnen.
Title: Re: MOD WIKIPEDIA
Post by: heinier on April 24, 2015, 01:52:37 PM
Hallo Rembrandt,

ich habe das Problem gefunden.

Es lag an der PHP-Version. Statt 5.6 musste ich nur auf 5.4 umstellen.
Jetzt funktionierts erstmal.

Kann es sein, dass 4images höhere php-Versionen nicht so richtig unterstützt?

Gruß Heinier