Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 10
Seite [1]
r3l4x


Rock the board





Beiträge: 46
# Thema - 16.04.2007 um 01:33 Uhr
Hi,
ich arbeite zur Zeit an einem kleinen Code-paste, das auf einfache Weise, dass einfügen von Videos(youtube & co) ermöglichen soll.
Jetzt wollte ich alles ausprobieren aber das haut nicht hin
Ist mein erstes PHP-Projekt und benötige daher ein wenig Hilfe
Hab gedacht wäre ne sache von ein paar If's, dem ist aber leider nicht so. Bin den Code mehrere Male durchgegangen und ein Syntaxfehler scheint es nicht zu sein. Hier der Code:
Code +-
system/core/abcode.php
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
1. / 2. / ... 
<?php
// SETTINGS //////////////////////////////////////////////////////////////////////////////////////////
$video_settings=array();
//YouTube-Settings
$video_settings['youtube_on'] = 1//aktiviert die Möglichkeit, Videos von YouTube einzubinden
$video_settings['youtube_min_acc_id'] = 0//mindest Zugriffs-Level zum einfügen von Youtube-Videos
$video_settings['youtube_height'] = 210//Höhe von Youtube-Videos
$video_settings['youtube_width'] = 200//Breite von YouTube-Videos
//ThatVideoSite-Settings
$video_settings['thatvideosite_on'] = 1//aktiviert die Möglichkeit, Videos von ThatVideoSite einzubinden
$video_settings['thatvideosite_min_acc_id'] = 0//mindest Zugriffs-Level zum einfügen von ThatVideoSite-Videos
$video_settings['thatvideosite_height'] = 210;  //Höhe von ThatVideoSite-Videos
$video_settings['thatvideosite_width'] = 200;  //Breite von ThatVideoSite-Videos
//MyVideo-Settings
$video_settings['myvideo_on'] = 1//aktiviert die Möglichkeit, Videos von MyVideo einzubinden
$video_settings['myvideo_min_acc_id'] = 0;//mindest Zugriffs-Level zum einfügen von MyVideo-Videos
$video_settings['myvideo_height'] = 210//Höhe von MyVideo-Videos
$video_settings['myvideo_width'] = 200//Breite von MyVideo-Videos
//ClipFish-Settings
$video_settings['clipfish_on'] = 1//aktiviert die Möglichkeit, Videos von ClipFish einzubinden
$video_settings['clipfish_min_acc_id'] = 0;//mindest Zugriffs-Level zum einfügen von ClipFish-Videos
$video_settings['clipfish_height'] = 210//Höhe von ClipFish-Videos
$video_settings['clipfish_width'] = 200//Breite von ClipFish-Videos
// SETTINGS //////////////////////////////////////////////////////////////////////////////////////////
?>

 
1.
2.
3.
1. / 2. / ... 
<?php 
$var 
.= cs_html_vote('video','video','button',0,$on "insert('[video]','[/video]','" $name "','')"");
?>

 
1.
2.
3.
4.
5.
1. / 2. / ... 
<?php 
function cs_abcode_video($matches) {
    return 
cs_html_video($matches[1],$video_settings,$account);
}
 
?>

 
1.
2.
3.
1. / 2. / ... 
<?php 
$replace 
preg_replace_callback("=[video](.*?)[/video]=si","cs_abcode_video",$replace); 
?>


system/output/xhtml_10
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
1. / 2. / ... 
<?php 
function cs_html_video($video,$video_settings,$account) {
    
$disabled '<em>Funktion durch Administrator deaktiviert</em>';
    
$rights '<em>Sie besitzen nicht genügend Rechte um Videos dieses Anbieters einzufügen</em>';
    
$no_found '<em>Der Anbieter dieses Videos konnte nicht identifiziert werden</em>';
//wenn youtube
if(in_array("youtube.com",$video))
{
    if(
$video_settings['youtube_on'] == 1)
    {
      if(
$account["access_id"]>= $video_settings['youtube_min_acc_id'])
      {
        
$video str_replace("watch?v=","v/",$video);
              return 
'<object width="' $video_settings['youtube_width'] . '" height="' $video_settings['youtube_height'] . '"><param name="movie" value="' $video '"></param><param name="wmode" value="transparent"></param><embed src="' $video '" type="application/x-shockwave-flash" wmode="transparent" width="' $video_settings['youtube_width'] . '" height="' $video_settings['youtube_height'] . '"></embed></object>';
      }
      else 
//wenn min_acc_id höher als aktuelles level
      
{
        return 
$rights;
      }
    }
    else
//wenn youtube deaktiviert
    
{
           return 
$disabled;
    }
}
elseif(
in_array("thatvideosite.com",$video))
{
        if(
$video_settings['thatvideosite_on'] == 1)
        {
          if(
$account["access_id"]>= $video_settings['thatvideosite_min_acc_id'])
          {
            return 
'<embed src="' $video '" width="' $video_settings['thatvideosite_width'] . '"height="' $video_settings['thatvideosite_height'] . '" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" AutoStart="1" ClickToStart="1" ShowStatusBar="1" ShowPositionControls="1" ShowGotoBar="0" ShowDisplay="0"></embed>';
          }
             else
//wenn min_acc_id höher als aktuelles level
               
{
            return 
$rights;
          }
        }
        else
//wenn ThatVideoSite deaktiviert
         
{
           return 
$disabled;
         }
}
elseif(
in_array("myvideo.de",$video))
{
      if(
$video_settings['myvideo_on'] == 1)
      {
            if(
$account["access_id"]>= $video_settings['myvideo_min_acc_id'])
               {
              
$video str_replace("/watch/","/movie/",$video);
              return 
'<object width="' $video_settings['myvideo_width'] . '" height="' $video_settings['myvideo_height'] . '"><param name="movie" value="' $video '"></param><embed src="' $video '" width="' $video_settings['myvideo_width'] . '" height="' $video_settings['myvideo_height'] . '" type="application/x-shockwave-flash"></embed></object><br/>';
            }
            else
//wenn min_acc_id höher als aktuelles level
                 
{
              return 
$rights;
            }
      }
      else
//wenn MyVideo deaktiviert
      
{
           return 
$disabled;
      }
}
elseif(
in_array("clipfish.de",$video))
{
          if(
$video_settings['clipfish_on'] == 1)
            {
            if(
$account["access_id"]>= $video_settings['clipfish_min_acc_id'])
            {
              return 
'<em>Funktion noch nicht vorhanden in der Beta</em>';
            }
            else
//wenn min_acc_id höher als aktuelles level
                 
{
              return 
$rights;
            }
          } 
          else
//wenn Clipfish deaktiviert
            
{
            return 
$disabled;
          }
}
else
    {
          return 
$no_found;
    }
}
 
?>

return $no_found; scheint andauernd aufgerufen zu werden da überall der Text ausgegeben wird, wenn ich return $no_found; zu einem Kommentar mache ist das Ergebnis auch nicht besser, es wird ein unverständlicher Wortsalat ausgegeben


Vielen vielen Dank!

r3l4x


------------------
13.06.2007 um 15:02 Uhr - baby:

Benötigt denn Clansphere die About.php um 100% zu funktionieren ?


Zuletzt editiert von r3l4x am 16.04.2007 um 01:35 Uhr (1x Editiert)
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 16.04.2007 um 01:42 Uhr
if($video_settings['youtube_on'] == 1)

die abfrage würde ich mal aus den vielen unterabfragen rausnehmen und die übergeordnet machen, nämlich einfach
if($video_settings['youtube_on'] == 1) return $disabled;

müsste wissen wie du vorgehst, was du eingibst, was du heraus bekommst.
tipp:
mach mal zwischenschritte. geh mal an den anfang und schau immer durch ausgaben, bis wohin noch alles stimmt und wo es nicht mehr stimmt, so kannst du den fehler immer weiter eingrenzen.

grüße

duRiel


Inaktiv
|
r3l4x
Thread-Ersteller


Rock the board





Beiträge: 46
# Antwort: 2 - 16.04.2007 um 02:13 Uhr
Das Problem ist ja in Moment nicht das die VIdeos nicht laufen oder so, vielmehr das nichts mehr geht..
Fehler1.jpg zeigt was passiert wenn ich return $no_found; stehen lasse
Fehler2.jpg zeigt was passiert wenn ich return $no_found; lösche
Es muss da doch irgendwo ein grundlegender Fehler stecken. Die Funktion wird ständig aufgerufen, ohne das ich den video-tag verwende!

nämlich einfach
if($video_settings['youtube_on'] == 1) return $disabled;

hab ich nicht ganz verstanden? wo bleiben { & } bzw der code der ausgeführt wird wenn youtube_on wahr ist?
Dateianhänge:
jpg fehler1.JPG (63.1 KiB - 22 mal heruntergeladen )
jpg fehler2.JPG (25.94 KiB - 21 mal heruntergeladen )


------------------
13.06.2007 um 15:02 Uhr - baby:

Benötigt denn Clansphere die About.php um 100% zu funktionieren ?


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 3 - 16.04.2007 um 02:22 Uhr
die geschweiften klammern braucht man nur, wenn man einen code-block definieren will. ist kein code-block vorhanden, wird nach if immer eine einzige und die erste anweisung genommen.

ok, das liegt daran, dass der preg_replace teil nicht stimmt, oder wurden hier auf unserer hp die backslashes verschluckt?
[ und ] sind anfang und ende von character classes, also buchstabenklassen oder so, kp, kenne nur den englischen ausdruck. versuchs mal so:

 
1.
1. / 2. / ... 
<?php $replace preg_replace_callback("=\[video\](.*?)\[/video\]=si","cs_abcode_video",$replace); ?>


Inaktiv
|
r3l4x
Thread-Ersteller


Rock the board





Beiträge: 46
# Antwort: 4 - 16.04.2007 um 02:55 Uhr

Schon besser! Danke! Der Rest funktioniert wieder, hab die Klammern auch soweit wie möglich entfernt.
Jetzt erkennt er nur die links nicht
Ist inarray denn die richtige funktion? und gibt sie bei einem treffer wahr aus?


------------------
13.06.2007 um 15:02 Uhr - baby:

Benötigt denn Clansphere die About.php um 100% zu funktionieren ?


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 16.04.2007 um 16:25 Uhr
nö, ist die falsche. nimm mal strpos().


Inaktiv
|
wutsin


King for a day




Herkunft: ulm
Beiträge: 325
# Antwort: 6 - 04.05.2007 um 13:30 Uhr
wie wäre es mit nem code der alle links automatisch
in so einen player umwandelt

man schreibt nur den youtube /google / link und
schon steht der player im forum news ... usw

like this http://www.phpbb-de.com/viewtopic.php?t=536&sid=566cae0c59a39fd4f63957a6603d4f50


------------------


suche hilfe bei diesen problemen, wünschen zu CS07 mehr... +-

Inaktiv
|
r3l4x
Thread-Ersteller


Rock the board





Beiträge: 46
# Antwort: 7 - 04.05.2007 um 14:38 Uhr
sollte erstmal laufen, dann können solche Sachen kommen
hatte bislang keine Zeit weiter dran zu arbeiten
Aber werd mich jetzt mal drum kümmern

@duRiel:
stristr


------------------
13.06.2007 um 15:02 Uhr - baby:

Benötigt denn Clansphere die About.php um 100% zu funktionieren ?


Inaktiv
|
h4ze


Geekboy




Herkunft: Itzehoe
Beiträge: 1433
# Antwort: 8 - 04.05.2007 um 15:20 Uhr
OT: ich wusste nicht, das wir nen fanclub haben gibts da nen link?


------------------
gembee.com - Upload your Life!
A Social Filesharing Network
"Wie YouTube, nur für alle Datei-Typen"


Inaktiv
|
r3l4x
Thread-Ersteller


Rock the board





Beiträge: 46
# Antwort: 9 - 04.05.2007 um 15:34 Uhr
nee noch nicht

Vieleicht gibts die Tage nochmal einen


------------------
13.06.2007 um 15:02 Uhr - baby:

Benötigt denn Clansphere die About.php um 100% zu funktionieren ?


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 10 - 05.05.2007 um 00:44 Uhr
r3l4x:
nee, ich sag schon bewusst strpos!
strstr und stristr sind langsamer!
wenn du das noch case insensitive haben willst eben stripos.


Inaktiv
|
Antworten: 10
Seite [1]


Sie müssen sich registrieren, um zu antworten.