Hi there
I'm trying to build my own SIMPLE gallery script but i'm stuck at saving the options.
Let me explain the structure of the plugin/gallery
- one gallery equals one folder within the plugin directory. the folder contains all pictures (full resolution)
- the metadata to describe the gallery resp. to give the gallery a nice name should be stored in ONE option.
Now I know that you can read/save an array from/into an option. But how can I display the options array with the administration page options? I can build a form but on submitting the form, it fails...
I don't know how to update the settings with a form... what am I missing?
Heres the code
add_action('admin_menu', 'shellm_gallery_administration');
function shellm_gallery_administration() {
add_options_page('Shellm Gallery', 'Shellm Gallery', 'manage_options', 'shellm-gallery-identifier', 'shellm_gallery_options');
add_action('admin_init','register_shellm_gallery');
}
function register_shellm_gallery() {
register_setting('shellm-gallery-settings-group','shellm_gallery_metadata');
}
function shellm_gallery_options() {
settings_fields('shellm-gallery-settings-group');
echo '<div class="wrap">';
echo '<h2>Shellm Gallery Settings</h2>';
//testing purpopses
/*delete_option('shellm_gallery_metadata');
add_option('shellm_gallery_metadata',
array(
"folder_name_1" => array("9th of May 2009","Party Pictures from New York"),
)
);*/
if ('update' == $_POST['action']) {
echo "shouldn't update take place here?";
echo "<pre>";
print_r($_POST);
echo "</pre>";
}
echo '
<form method="post" action="options.php">
<table class="form-table">
';
$mdf = get_option("shellm_gallery_metadata");
$dirlist = opendir(SHELLM_GALLERY_DIR_FULLPATH);
while ($file = readdir ($dirlist)) {
if ($file != '.' && $file != '..') {
echo '<tr><td>'.$file.'</td><td><input type="hidden" name="shellm_gallery_metadata[\'keys\'][]" value="'.$file.'"/><input type="text" name="shellm_gallery_metadata[\'date\'][]" value="'.$mdf[$file][0].'" /><input type="text" size="80" name="shellm_gallery_metadata[\'title\'][]" value="'.$mdf[$file][1].'" /></td></tr>';
}
}
foreach($mdf as $key=>$val) {
}
echo '
</table>
<input type="hidden" name="action" value="update" />
<p class="submit">
<input type="submit" class="button-primary" value="'.__('Save Changes').'" />
</p>
</form>
';
echo '</div>';
}
Thanks a lot in advance for your help!
Bye
shellm