Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 01-16-2010, 09:46 PM
bjarkekr bjarkekr is offline
 
Join Date: Jan 2010
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default need help creating a product...

Hi,

I have tried creating a product xml file but its not going that well..

Here is the xml code:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="ecig_video_chat_statistics" active="1">
	<title>ECIG - Video Chat Statistics</title>
	<description><![CDATA[Adds Video Chat statistics in the statistics box]]></description>
	<version>1</version>
	<url></url>
	<versioncheckurl />
	<dependencies>
	</dependencies>
	<codes>
	</codes>
  <templates>
  <template name="forumhome_videochat_stat" templatetype="template" date="00" username="Ecig" version="1.0">
  <![CDATA[ 
  <div id="latest_posts" class="wgo_subblock collapse">
  	<h3><img src="{vb:stylevar imgdir_misc}/forum_stats.png" alt="test" />test</h3>
  	<a class="collapse" id="collapse_ltp_list" href="{vb:raw relpath}#top"><img src="{vb:stylevar imgdir_button}/collapse.png" alt="" title="Collapse/Expand" /></a>
  		<div id="ltp_list">
  			<table width="100%"><tr><td>
  				{vb:raw video_chat_stat}
  			</td></tr></table>
  		</div>
  </div>
  
  	]]> 
  	</template>
  	</templates>
	<stylevardfns>
	</stylevardfns>
	<stylevars>
	</stylevars>
	<plugins>
		<plugin active="1" executionorder="5">
			<title>Video Chat Statistics</title>
			<hookname>forumhome_start</hookname>
			<phpcode><![CDATA[
      
if ($vbulletin->options['videochat_stat_active']
			

  
  $video_chat_stat = 'SOME TEST';

	$templater = vB_Template::create('forumhome_videochat_stat');
	$templater->register('video_chat_stat', $video_chat_stat);
	$template_hook[forumhome_wgo_pos2] .= $templater->render();

}

]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
		<phrasetype name="vBulletin Settings" fieldname="vbsettings">
			<phrase name="setting_videochat_stat_url_desc" date="00" username="Ecig" version="1.0"><![CDATA[Url to Video Chat json]]></phrase>
			<phrase name="setting_videochat_stat_url_title" date="00" username="Ecig" version="1.0"><![CDATA[Url]]></phrase>
			<phrase name="setting_videochat_stat_active_desc" date="00" username="Ecig" version="1.0"><![CDATA[Activate Video Chat Statistics.]]></phrase>
			<phrase name="setting_videochat_stat_active_title" date="00" username="Ecig" version="1.0"><![CDATA[Video Chat Statistics Active]]></phrase>
			<phrase name="settinggroup_videochat_stat" date="00" username="Ecig" version="1.0"><![CDATA[ECIG Video Chat Statistics]]></phrase>
		</phrasetype>
	</phrases>
	<options>
		<settinggroup name="videochat_stat" displayorder="65535">
			<setting varname="videochat_stat_active" displayorder="10">
				<datatype>free</datatype>
				<optioncode>yesno</optioncode>
			</setting>
			<setting varname="videochat_stat_url" displayorder="20">
				<datatype>free</datatype>
				<defaultvalue>http://</defaultvalue>
			</setting>
		</settinggroup>
	</options>
	<helptopics>
	</helptopics>
	<cronentries>
	</cronentries>
	<faqentries>
	</faqentries>
</product>

I dont get any errors, but nothing show up either on my forum.

Also Im a little in doubt about the date and username tags used in phrases and template tags.

Any help appreciated. Or a link to where I can study this (the vbulletin manual doesnt give much info on this.)
Reply With Quote
  #2  
Old 01-17-2010, 12:00 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If your not getting any errors then you must have error reporting disabled on your server, since it will give you php errors as it stands.

Looks a bit like you copied the code from somewhere and then edited it, and you have removed too much.

Your IF is missing a closing bracket on the condition, and an opening curly bracket for the action.

Also, you have defaulted the active setting to no, so make sure you set that to yes.
Reply With Quote
  #3  
Old 01-17-2010, 12:41 PM
bjarkekr bjarkekr is offline
 
Join Date: Jan 2010
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks.. you were right about those faults..

But it still doesnt work.. Nothing happends at all on my forum..

Here is the new code:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="ecig_video_chat_statistics" active="1">
	<title>ECIG - Video Chat Statistics</title>
	<description><![CDATA[Adds Video Chat statistics in the statistics box]]></description>
	<version>1</version>
	<url></url>
	<versioncheckurl />
	<dependencies>
	</dependencies>
	<codes>
	</codes>
  <templates>
  <template name="forumhome_videochat_stat" templatetype="template" date="00" username="Ecig" version="1.0">
  <![CDATA[ 
  <div id="latest_posts" class="wgo_subblock collapse">
  	<h3><img src="{vb:stylevar imgdir_misc}/forum_stats.png" alt="test" />test</h3>
  	<a class="collapse" id="collapse_ltp_list" href="{vb:raw relpath}#top"><img src="{vb:stylevar imgdir_button}/collapse.png" alt="" title="Collapse/Expand" /></a>
  		<div id="ltp_list">
  			<table width="100%"><tr><td>
  				{vb:raw video_chat_stat}
  			</td></tr></table>
  		</div>
  </div>
  
  	]]> 
  	</template>
  	</templates>
	<stylevardfns>
	</stylevardfns>
	<stylevars>
	</stylevars>
	<plugins>
		<plugin active="1" executionorder="5">
			<title>Video Chat Statistics</title>
			<hookname>forumhome_start</hookname>
			<phpcode><![CDATA[
      
if ($vbulletin->options['videochat_stat_active']){
			

  $video_chat_stat = '';
  $url = $vbulletin->options['videochat_stat_url']; 
  $contents = file_get_contents($url);
  $contents = utf8_encode($contents);
  $arr = json_decode($contents, True);
  
  foreach ($arr as $key => $value) {
    if($key == 'topic'){
      $topic = $value;
    }else if($key == 'broadcaster_count'){
       $broadcaster_count = $value; 
    }
    
    
    
  }
  $video_chat_stat .= 'Antal online: '.$broadcaster_count;

	$templater = vB_Template::create('forumhome_videochat_stat');
	$templater->register('video_chat_stat', $video_chat_stat);
	$template_hook[forumhome_wgo_pos2] .= $templater->render();

}

]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
		<phrasetype name="vBulletin Settings" fieldname="vbsettings">
			<phrase name="setting_videochat_stat_url_desc" date="00" username="Ecig" version="1.0"><![CDATA[Url to Video Chat json]]></phrase>
			<phrase name="setting_videochat_stat_url_title" date="00" username="Ecig" version="1.0"><![CDATA[Url]]></phrase>
			<phrase name="setting_videochat_stat_active_desc" date="00" username="Ecig" version="1.0"><![CDATA[Activate Video Chat Statistics.]]></phrase>
			<phrase name="setting_videochat_stat_active_title" date="00" username="Ecig" version="1.0"><![CDATA[Video Chat Statistics Active]]></phrase>
			<phrase name="settinggroup_videochat_stat" date="00" username="Ecig" version="1.0"><![CDATA[ECIG Video Chat Statistics]]></phrase>
		</phrasetype>
	</phrases>
	<options>
		<settinggroup name="videochat_stat" displayorder="65535">
			<setting varname="videochat_stat_active" displayorder="10">
				<datatype>free</datatype>
				<optioncode>yesno</optioncode>
			</setting>
			<setting varname="videochat_stat_url" displayorder="20">
				<datatype>free</datatype>
				<defaultvalue>http://</defaultvalue>
			</setting>
		</settinggroup>
	</options>
	<helptopics>
	</helptopics>
	<cronentries>
	</cronentries>
	<faqentries>
	</faqentries>
</product>
Reply With Quote
  #4  
Old 01-17-2010, 02:57 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Are you writing this in the xml file and then trying to import instead of writing them as plugins and then just exporting the xml file?
Reply With Quote
  #5  
Old 01-17-2010, 03:05 PM
bjarkekr bjarkekr is offline
 
Join Date: Jan 2010
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Im writing the xml file and I import the xml file through the admin panel.. Plugins and products -> Manage Products

Thats what I have done with other products that I have download from here. F.x. a google analytics product.
Reply With Quote
  #6  
Old 01-17-2010, 03:49 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well yes, that is what you do if you downloaded one. But right now, you said you are creating one. Very rarely does someone create one by just coding it directly into an xml file (although I do know a couple coders who do). Most users create a product in the Manage Products page and then create plugins and templates and phrases and assign them to the product. Then when it is done and working, you just export it from the Manage Products page and vb writes the xml file for you.
Reply With Quote
  #7  
Old 01-17-2010, 04:12 PM
Namaless's Avatar
Namaless Namaless is offline
 
Join Date: Sep 2006
Location: Italy
Posts: 222
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
Well yes, that is what you do if you downloaded one. But right now, you said you are creating one. Very rarely does someone create one by just coding it directly into an xml file (although I do know a couple coders who do). Most users create a product in the Manage Products page and then create plugins and templates and phrases and assign them to the product. Then when it is done and working, you just export it from the Manage Products page and vb writes the xml file for you.
Quote You!

Another suggestion, use debug enabled, good for developers
Reply With Quote
  #8  
Old 01-17-2010, 05:21 PM
bjarkekr bjarkekr is offline
 
Join Date: Jan 2010
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
Well yes, that is what you do if you downloaded one. But right now, you said you are creating one. Very rarely does someone create one by just coding it directly into an xml file (although I do know a couple coders who do). Most users create a product in the Manage Products page and then create plugins and templates and phrases and assign them to the product. Then when it is done and working, you just export it from the Manage Products page and vb writes the xml file for you.
Well I started that way.. It just got way too complicated, since I cant find any guides for 4.0.. And Im used to coding so it didnt seem like a huge problem.

Cant anyone see why the above xml fails to work?
Reply With Quote
  #9  
Old 01-17-2010, 05:50 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It imports just fine on my forum. When I turn it on, I get an error on my home page because I don't have a url entered, but I do have text show up on the page after the Currently Active Users box. Isn't that what should happen?
Attached Images
File Type: png Picture 1.png (32.2 KB, 0 views)
Reply With Quote
  #10  
Old 01-17-2010, 07:07 PM
bjarkekr bjarkekr is offline
 
Join Date: Jan 2010
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes that was what was supposed to happen.. I also got it to work now on my forum:

check it out at http://ecig-forum.dk

I found out why it wasnt working.. The contents of the template didnt install when I imported the xml. I think it may be because of 2 whitespaces after the templatetag.. After removing those tags it worked perfectly.

Thanks for your guidance.

--------------- Added [DATE]1263762518[/DATE] at [TIME]1263762518[/TIME] ---------------

By the way.. If anybody is interrested, its an integration of http://tinychat.com API.. So I can tell who is online at the video chat there.. Its defenately not finished, but the php code is like this now:

Code:
<![CDATA[if ($vbulletin->options['videochat_stat_active']){
			

  $video_chat_stat = '';
  $url = $vbulletin->options['videochat_stat_url']; 
  $contents = file_get_contents($url);
  $contents = utf8_encode($contents);
  $arr = json_decode($contents, True);
  
  foreach ($arr as $key => $value) {
    if($key == 'topic'){
      $topic = $value;
    }else if($key == 'broadcaster_count'){
       $broadcaster_count = $value; 
    }else if($key == 'total_count'){
       $total_count = $value; 
    }else if(is_array($value) && $key == 'names'){
      foreach ($value as $key2 => $value2) {
        $users_online .= $value2.', ';
      }
    }
    
    
    
  }
  $video_chat_stat .= 'Antal online ialt: '.$total_count.'<br>';
  $video_chat_stat .= 'Antal online med video: '.$broadcaster_count.'<br>';
  $video_chat_stat .= 'Brugere online: '.$users_online.'<br>';
 

	$templater = vB_Template::create('forumhome_videochat_stat');
	$templater->register('video_chat_stat', $video_chat_stat);
	$template_hook[forumhome_wgo_pos2] .= $templater->render();

}]]>
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:39 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04373 seconds
  • Memory Usage 2,279KB
  • Queries Executed 14 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_code
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (1)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete