Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
hiroxs



登録日: 2005.06.07
記事: 56

記事 日時: 2007.02.19 (月) 16:25   記事の件名: ログインするユーザーによってincludeするファイルを変えたい。
引用付きで返信

お世話になります。

今回の質問は表題のようにログインしているユーザーによって、
includeするファイルを変えたいというものです。

簡単に説明すると
Aさんがログイン:fileA.incを読み込む
Bさんがログイン:fileB.incを読み込む
誰もログインしていない:何も読み込まない
といった具合なんですが。。
<%phpinclude(<%member(yourname)%>.php)%>
ではエラーが出るし、
<%WritePHPxs(
$loginname = '<:member(yourname):>';
echo $loginname;
echo '<:phpinclude(/hoge/skins/default/$loginname.php):>';
)%>
では表示されません。。

Nucleusだったら簡単にできるだろうと思い調べ始めたのですが、
なかなかよいアイデアが浮かびません。。

なにか方法はありますでしょうか?

追記:
<%WritePHPxs(include('skins/default/<:member(yourname):>.php');)%>
も試しましたが、
Warning: Unknown(skins/default/yourname.php): failed to open stream: No such file or directory in /hoge/nucleus/plugins/NP_WritePHPxs.php(65) : eval()'d code on line 1

Warning: (null)() [function.include]: Failed opening 'skins/default/<:member(yourname):>.php' for inclusion (include_path='.:/usr/local/lib/php') in /hoge/nucleus/plugins/NP_WritePHPxs.php(65) : eval()'d code on line 1

とエラーを返されてしまいます。。

_________________
by hiroxs

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
Andy
モデレーター
モデレーター


登録日: 2004.03.18
記事: 1490
所在地: 横浜

記事 日時: 2007.02.19 (月) 16:52   記事の件名:
引用付きで返信

Code:
<%WritePHPxs(
     global $DIR_SKINS;
     echo '<:phpinclude(' . $DIR_SKINS . 'default/<:member(yourname):>.php):>';
)%>

ではどうでしょう。

_________________
Foodyn CMS開発日誌
http://www.matsubarafamily.com/lab/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
hiroxs



登録日: 2005.06.07
記事: 56

記事 日時: 2007.02.19 (月) 17:25   記事の件名:
引用付きで返信

早速のお返事ありがとうございます。

試してみたのですが、
Quote:
Warning: includephp(/home/hoge/www/skins/default) [function.includephp]: failed to open stream: Unknown error: 0 in /home/hoge/www/nucleus/libs/globalfunctions.php on line 978

Warning: includephp() [function.include]: Failed opening '/home/hoge/www/skins/default' for inclusion (include_path='.:/usr/local/lib/php') in /home/hoge/www/nucleus/libs/globalfunctions.php on line 978
member(yourname)DISALLOWED (.php))

とエラーが。

Code:
<%WritePHPxs(
     global $DIR_SKINS;
     $loginname = '<:member(yourname):>';
     include($DIR_SKINS.'default/'.$loginname.'.php');
)%>

といったものも試しましたが、
Quote:
Warning: Unknown(/home/hoge/www/skins/default/hiroxs.php): failed to open stream: No such file or directory in /home/hoge/www/nucleus/plugins/NP_WritePHPxs.php(65) : eval()'d code on line 3

Warning: (null)() [function.include]: Failed opening '/home/hoge/www/skins/default/<:member(yourname):>.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/hoge/www/nucleus/plugins/NP_WritePHPxs.php(65) : eval()'d code on line 3

となります。。

NP_IncludeEXも
Code:
<%IncludeEX(parsed,member{memberid}.inc)%>

のように試しているのですが、なぜか表示されず。。

php.iniの設定などに関係があるのでしょうか?[/quote]

_________________
by hiroxs

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
Andy
モデレーター
モデレーター


登録日: 2004.03.18
記事: 1490
所在地: 横浜

記事 日時: 2007.02.19 (月) 17:55   記事の件名:
引用付きで返信

簡単なプラグインを作ってみました。インストールして<%MemberFile%>とスキンに書くだけです。
Code:
<?php


class NP_MemberFile extends NucleusPlugin {

   function getName() { return 'MemberFile'; }
   function getAuthor()  { return 'Andy'; }
   function getURL() { return ''; }
   function getVersion() { return '0.1'; }
   
   function getDescription() {
      return 'Include Member File from Skin\'s directory';
   }

   function supportsFeature($what) {
      switch($what){
         case 'SqlTablePrefix':
            return 1;
         default:
            return 0;
      }
   }
   
   function getEventList() {
      return array('PreSkinParse');
   }
   
   function event_PreSkinParse($data) {
      $this->skin = $data['skin'];
   }

   function doSkinVar() {
      global $member;
      global $DIR_SKINS;
      
      if ($member->isloggedin() && $this->skin->includeMode =='skindir') {
         $fname = $DIR_SKINS . $this->skin->includePrefix . basename($member->getDisplayName()) . '.php';
         
         include($fname);
      }
   }

}
?>

_________________
Foodyn CMS開発日誌
http://www.matsubarafamily.com/lab/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
hiroxs



登録日: 2005.06.07
記事: 56

記事 日時: 2007.02.19 (月) 18:16   記事の件名:
引用付きで返信

ありがとうございます!

やりたかったのはまさにこれです!
ここ2日ばかり頭を悩ませていたものがすっきり晴れました。

ありがとうございます!

_________________
by hiroxs

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

Page 1 of 1

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group