vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Problems with data and product installation... (https://vborg.vbsupport.ru/showthread.php?t=199970)

Jaxel 12-28-2008 09:02 AM

Problems with data and product installation...
 
I'm working with the video directory mod and I am constantly editing it... thus re-installing it to verify the changes... The problem is, everytime I re-install the product, it wipes out one of the settings... All the other settings remain intact; but this single setting keeps getting wiped out. Why?

Code:

                        <setting varname="videodirectory_limits" displayorder="50">
                                <datatype>free</datatype>
                                <optioncode><![CDATA[";
$values = @unserialize($setting['value']);
$values = @array_map('htmlspecialchars_uni', $values);
$right .= "
<fieldset class=\"fieldset\">
                <legend>$settingphrase[setting_videodirectory_limits_title]</legend>
                <table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"1\">
                <tr>
                        <td>$vbphrase[limit_recent_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][recent]\" value=\"$values[recent]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_top_rated_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][top_rated]\" value=\"$values[top_rated]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_most_viewed_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][most_viewed]\" value=\"$values[most_viewed]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_countributers]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][contributors]\" value=\"$values[contributors]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_profileblock_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][profileblock_videos]\" value=\"$values[profileblock_videos]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                </table>
</fieldset>
<fieldset class=\"fieldset\">
                <legend>$settingphrase[setting_videodirectory_limits_title]</legend>
                <table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"1\">
                <tr>
                        <td>$vbphrase[limit_related_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][related]\" value=\"$values[related]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_random_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][random]\" value=\"$values[random]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_random_samecat_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][random_samecat]\" value=\"$values[random_samecat]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_best_rated_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][bestrated]\" value=\"$values[bestrated]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                <tr>
                        <td>$vbphrase[limit_best_rated_samecat_videos]</td>
                        <td><input type=\"text\" name=\"setting[$setting[varname]][bestrated_samecat]\" value=\"$values[bestrated_samecat]\" class=\"bginput\" size=\"40\" dir=\"ltr\" tabindex=\"1\" /></td>
                </tr>
                </table>
</fieldset>]]></optioncode>
                                <defaultvalue><![CDATA[a:10:{s:6:"recent";i:8;s:9:"top_rated";i:8;s:11:"most_viewed";i:8;s:12:"contributors";i:20;s:19:"profileblock_videos";i:5;s:7:"related";i:2;s:6:"random";i:5;s:14:"random_samecat";i:0;s:9:"bestrated";i:0;s:17:"bestrated_samecat";i:5;}]]></defaultvalue>
                        </setting>

Looking into the database, after installation, the data changes from the serialized data to "Array". I assume that is because the data is unserialized during installation and it doesn't serialize it back when its done. Any way to fix this?

Jaxel 01-02-2009 11:04 AM

Anyone have any ideas for me?

UKBusinessLive 01-02-2009 11:18 AM

I think you'll be best getting an answer from the Video Directory mod thread.

People won't know about this unless they've installed it, and they can be found at the above thread

Good Luck:)

Jaxel 01-12-2009 05:08 PM

I dont think this is an error with the mod itself, I think something is missing with the whole serialization thing... I'm wondering what is missing, so I can put it in.

Bellardia 01-12-2009 05:13 PM

There error is caused when you tried to install the product, thus the error is created by the product.

There's nothing wrong with the serialization function, there could be an error in how the coder used it.

Jaxel 01-13-2009 01:06 AM

Quote:

Originally Posted by Bellardia (Post 1709918)
There error is caused when you tried to install the product, thus the error is created by the product.

There's nothing wrong with the serialization function, there could be an error in how the coder used it.

thats what I mean... something is wrong with the way the original coder is using the serialization function...

That being said, I don't understand why the code I posted in the first post would empty out the currently existing settings in the settings table. When you "upgrade" a mod, its not supposed to clear out your existing settings. Why is this setting not maintained? Thats what I am asking.

Bellardia 01-13-2009 01:29 AM

Best place to find out why a coder did what he did is to ask him yourself ;)

Best practice is to post mod issues in the mod thread, no one can help you better than the creator himself. Perhaps it's a mistake he missed when he was making it, bringing it to his attention would help him fix it.

Dismounted 01-13-2009 04:26 AM

There should be an associated plugin that serialises back the data. It should be in a hook called admin_options_processing (or something like that, I'm pulling this out of my head).

Jaxel 01-14-2009 04:38 PM

Quote:

Originally Posted by Dismounted (Post 1710556)
There should be an associated plugin that serialises back the data. It should be in a hook called admin_options_processing (or something like that, I'm pulling this out of my head).

Lol, no offense Dismounted... but you're really bad at explaining things.

Okay, there is a hook for serializing back the data. How do I use it for when I am installing a mod?

Dismounted 01-15-2009 04:09 AM

Quote:

Originally Posted by Jaxel (Post 1712276)
Lol, no offense Dismounted... but you're really bad at explaining things.

In my mind, every one here is at least slightly proficient in PHP and I explain as such. However, this is most of the time not the case now. (No offence intended. :))
Quote:

Originally Posted by Jaxel (Post 1712276)
Okay, there is a hook for serializing back the data. How do I use it for when I am installing a mod?

I'm not even sure if an installation even touches the settings (if the product already exists), however, you will need to find the installation procedure and see if the settings are touched. If they are, use the code you found before to correct the behaviour.


All times are GMT. The time now is 04:11 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01643 seconds
  • Memory Usage 1,763KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete