Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 profile plugin
pachel Offline
Junior Member
**
Posts: 8
Joined: Mar 2008
Post: #1
profile plugin
i'm trying to make a profile plugin but i start testing it with db updates with with the msn button but msn won't work can you check heres the whole plugin:

PHP Code:
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
<?php
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
} 
//All the information about the plugin. These will appear in the plugins list.
function pp_info()
{
    return array(
        "name"          => "Posting profile icon",
        "description"   => "The profile icon plugin let you see the contact details in their posting profile",
        "website"       => "http://www.phcompany.info/plugins",
        "author"        => "pachel	",
        "authorsite"    => "http://www.phcompany.info/plugins",
        "version"       => "0.5",
    );
}

//All the activation processes go here
function pp_activate()
{

require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("postbit_author_user", '#'.preg_quote('{$post[\'replink\']}<br />').'#' , '{$post[\'replink\']}<br />
<a href="private.php?action=send&amp;uid={$post[\'uid\']}">{$lang->send_pm[\'username\']}<img src="images/pm.png" border="0" /></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=icq&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/icq.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=aim&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/aim.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=yahoo&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/yahoo.gif"></a>
{$post[\'msndet\']}');

}

//All deactivation processes go here
function pp_deactivate()
{

require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("postbit_author_user", '#'.preg_quote('{$post[\'replink\']}<br />
<a href="private.php?action=send&amp;uid={$post[\'uid\']}">{$lang->send_pm[\'username\']}<img src="images/pm.png" border="0" /></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=icq&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/icq.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=aim&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/aim.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=yahoo&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/yahoo.gif"></a>
{$post[\'msndet\']}').'#s' , '{$post[\'replink\']}<br />',0);

} 

function parse_details()
{	
global $db, $mybb;

	if ($post['msn'])
	{
                $query = $db->query("select * FROM ".TABLE_PREFIX."userfields WHERE name='msn");
		$ffid = $db->fetch_array($query);
		$fid = $ffid['fid'];
		$source = "fid".$fid;
		if ($post[$source] != '') 
		{
			$post['msndet'] = "<a href=\"javascript:onclick='MyBB.popupWindow(\\'misc.php?action=imcenter&amp;imtype=msn&amp;uid={$post['uid']}\\', \\'imcenter\\', 450, 300);\">{$post['msn']}<img src=\"images/msn.gif\"></a><br />";
		}

	} 
	else 
	{
          $ffid = $db->fetch_array($query);
		$fid = $ffid['fid'];
		$source = "fid".$post['msn'];
		if ($post[$source] != '') 
		{
			$post['msndet'] = "<a href=\"javascript:onclick='MyBB.popupWindow(\\'misc.php?action=imcenter&amp;imtype=msn&amp;uid={$post['uid']}\\', \\'imcenter\\', 450, 300);\">{$post['msn']}<img src=\"images/msn.gif\"></a><br />";
		}
	}	
}

?>

(This post was last modified: 03-10-2008 09:17 AM by ZiNgA BuRgA.)
03-10-2008 04:53 AM
Find all posts by this user
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #2
RE: profile plugin
Well, this part has a syntax error:

PHP Code:
                $query = $db->query("select * FROM ".TABLE_PREFIX."userfields WHERE name='msn");

Place a closing quote after msn.

Next, parse_details() isn't hooked anywhere, so it will never be run.  I'm guessing it should hook into postbit ?  Also note that the $post variable doesn't just appear - I believe it should be received in the function argument.

Also:

PHP Code:
	else 
	{
          $ffid = $db->fetch_array($query);

There is no query to fetch there, so there'll be an error at that point.


My Blog
03-10-2008 09:22 AM
Find all posts by this user
pachel Offline
Junior Member
**
Posts: 8
Joined: Mar 2008
Post: #3
RE: profile plugin
well its stil don't work as needed it needs the icon to apear when the msn fields are filled and to not apear when there empty.
03-10-2008 04:13 PM
Find all posts by this user
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #4
RE: profile plugin
You'll have to review your logic on this one.
Imagine explaining every line of code.
For example, explain to me what this query does:

PHP Code:
                $query = $db->query("select * FROM ".TABLE_PREFIX."userfields WHERE name='msn'");

Also tell me what results it returns.

I'm not going to write the whole plugin for you - it will teach you nothing, in the end.


My Blog
(This post was last modified: 03-10-2008 05:34 PM by ZiNgA BuRgA.)
03-10-2008 05:34 PM
Find all posts by this user
pachel Offline
Junior Member
**
Posts: 8
Joined: Mar 2008
Post: #5
RE: profile plugin
it searches in the table userfields for msn
03-11-2008 12:03 AM
Find all posts by this user
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #6
RE: profile plugin
...and is that what you want?

Tell me what the query returns...

My Blog
03-11-2008 08:36 AM
Find all posts by this user
pachel Offline
Junior Member
**
Posts: 8
Joined: Mar 2008
Post: #7
RE: profile plugin
no i want it that if the details are there that the icon comes and if not then the icon wont come.

it possibly returns the userfield msn code.
03-11-2008 04:14 PM
Find all posts by this user
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #8
RE: profile plugin
I'm not sure if you're getting it.
I'll post a modified version.  I haven't bothered testing if I've got everything correct - I'll leave that to you.
Hopefully, you can understand the logic behind this:

PHP Code:
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
<?php
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("postbit", "pp_parse_details");

//All the information about the plugin. These will appear in the plugins list.
function pp_info()
{
    return array(
        "name"          => "Posting profile icon",
        "description"   => "The profile icon plugin let you see the contact details in their posting profile",
        "website"       => "http://www.phcompany.info/plugins",
        "author"        => "pachel",
        "authorsite"    => "http://www.phcompany.info/plugins",
        "version"       => "0.5",
    );
}

//All the activation processes go here
function pp_activate()
{
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("postbit", '#'.preg_quote('{$post[\'user_details\']}').'#' , '{$post[\'user_details\']}<br />
<a href="private.php?action=send&amp;uid={$post[\'uid\']}">{$lang->send_pm[\'username\']}<img src="images/pm.png" border="0" /></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=icq&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/icq.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=aim&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/aim.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=yahoo&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/yahoo.gif"></a>
{$post[\'msndet\']}');
}

//All deactivation processes go here
function pp_deactivate()
{
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("postbit", '#'.preg_quote('{$post[\'user_details\']}<br />
<a href="private.php?action=send&amp;uid={$post[\'uid\']}">{$lang->send_pm[\'username\']}<img src="images/pm.png" border="0" /></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=icq&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/icq.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=aim&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/aim.gif"></a>
<a href="javascript:;" onclick="MyBB.popupWindow(\'misc.php?action=imcenter&amp;imtype=yahoo&amp;uid={$post[\'uid\']}\', \'imcenter\', 450, 300);"><img src="images/yahoo.gif"></a>
{$post[\'msndet\']}').'#s' , '{$post[\'user_details\']}',0);
}

function pp_parse_details(&$post)
{
	if ($post['msn'])
	{
		$post['msndet'] = "<a href=\"javascript:onclick='MyBB.popupWindow(\\'misc.php?action=imcenter&amp;imtype=msn&amp;uid={$post['uid']}\\', \\'imcenter\\', 450, 300);\">{$post['msn']}<img src=\"images/msn.gif\"></a><br />";
	}
	else
	{
		$post['msndet'] = "";
	}
}

?>

Note that I'm using the postbit template.  I wouldn't fiddle with the postbit_author_user template unless you know what you're doing.


My Blog
(This post was last modified: 03-12-2008 11:15 AM by ZiNgA BuRgA.)
03-12-2008 11:15 AM
Find all posts by this user
pachel Offline
Junior Member
**
Posts: 8
Joined: Mar 2008
Post: #9
RE: profile plugin
well white screen explains not much.
03-12-2008 04:05 PM
Find all posts by this user
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #10
RE: profile plugin
pachel Wrote:well white screen explains not much.
1) Enable displaying of errors by editing your php.ini file (or check the log files)
2) Look through your code and make sure you understand exactly what it does.  If you don't, play around with it until you do.

My Blog
03-12-2008 04:44 PM
Find all posts by this user

« Next Oldest | Next Newest »

 Standard Tools
Forum Jump: