<?php
/*
Plugin Name: primadd
Version: 1.1
Plugin URI: http://primadd.net/plugin/wordpress/
Description: Adds wordpress support for the primadd social bookmarking widget
Author: info(monkey/at sign)primadd.net
Author URI: http://primadd.net/
*/

// basic buttons at post bottom
function primadd_Post($content)
{
    if ( !
is_feed() && !is_page() && !is_home() && !is_archive())
    {
        if (
get_option('primadd_style_key_post_enabled') == true)
        {
            
$content .= '<script src="//primadd.net/usr/js/'.get_option('primadd_account_key').'/'.get_option('primadd_style_key_post').'.js" type="text/javascript"></script><noscript><div style="display:inline;"><a href="//primadd.net/bookmark/submit/"><img src="//primadd.net/img/btn/add_button_1.gif" alt="bookmark" title="bookmark this site"/></a></div></noscript>';
        }
    }
    return 
$content;
}

function 
primadd_Nav($content)
{
    if (
get_option('primadd_style_key_nav_enabled') == false)
    {
        return 
$content;
    }

    
$ret '<style type="text/css">#wp_primadd_l li:before { display:none; }</style>';
    
$ret .= '<ul id="wp_primadd_l"><li><script src="//primadd.net/usr/js/'.get_option('primadd_account_key').'/'.get_option('primadd_style_key_nav').'.js" type="text/javascript"></script><noscript><div style="display:inline;"><a href="//primadd.net/bookmark/submit/"><img src="/img/btn/add_button_1.gif" alt="bookmark" title="bookmark this site"/></a></div></noscript></li></ul>';
    
$ret .= $content;
    return 
$ret;
}

add_filter('the_content''primadd_Post'4096);
add_filter('wp_list_pages''primadd_Nav'4096);


// admin
function primadd_admin_menu()
{
    
add_options_page('primadd Options''PrimAdd'8__FILE__'primadd_admin_site');
}

function 
primadd_admin_site()
{
//    require_once('primadd_wp_admin.inc.php');

    
$validationInfo = array();

    
$primadd_account_key '';
    
$primadd_style_key_post '';
    
$primadd_style_key_nav '';
    
$primadd_style_key_post_enabled false;
    
$primadd_style_key_nav_enabled false;

    if (
$_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if (
array_key_exists('primadd_account_key'$_POST))
        {
            
$primadd_account_key = @$_POST['primadd_account_key'];
            if (
preg_match('/^[a-z0-9]{32}$/'$primadd_account_key))
            {
                
update_option('primadd_account_key'$primadd_account_key);
            }else
            {
                
$validationInfo['primadd_account_key'] = '* not a valid account key';
            }
        }
        if (
array_key_exists('primadd_style_key_post'$_POST))
        {
            
$primadd_style_key_post = @$_POST['primadd_style_key_post'];
            if (
preg_match('/^[a-z0-9]{32}$/'$primadd_style_key_post))
            {
                
update_option('primadd_style_key_post'$primadd_style_key_post);
            }else
            {
                
$validationInfo['primadd_style_key_post'] = '* not a valid style key';
            }
        }
        if (
array_key_exists('primadd_style_key_post_enabled'$_POST))
        {
            
$primadd_style_key_post_enabled = (((int)@$_POST['primadd_style_key_post_enabled']) == 1);
            
update_option('primadd_style_key_post_enabled'$primadd_style_key_post_enabled);
        }else
        {
            
update_option('primadd_style_key_post_enabled'false);
        }
        if (
array_key_exists('primadd_style_key_nav'$_POST))
        {
            
$primadd_style_key_nav = @$_POST['primadd_style_key_nav'];
            if (
preg_match('/^[a-z0-9]{32}$/'$primadd_style_key_nav))
            {
                
update_option('primadd_style_key_nav'$primadd_style_key_nav);
            }else
            {
                
$validationInfo['primadd_style_key_nav'] = '* not a valid style key';
            }
        }
        if (
array_key_exists('primadd_style_key_nav_enabled'$_POST))
        {
            
$primadd_style_key_nav_enabled = (((int)@$_POST['primadd_style_key_nav_enabled']) == 1);
            
update_option('primadd_style_key_nav_enabled'$primadd_style_key_nav_enabled);
        }else
        {
            
update_option('primadd_style_key_nav_enabled'false);
        }
    }else
    {
        
$primadd_account_key get_option('primadd_account_key');
        
$primadd_style_key_post get_option('primadd_style_key_post');
        
$primadd_style_key_nav get_option('primadd_style_key_nav');
        
$primadd_style_key_post_enabled get_option('primadd_style_key_post_enabled');
        
$primadd_style_key_nav_enabled get_option('primadd_style_key_nav_enabled');
    }
?>
<style type="text/css">
    #primadd_admin_config label
    {
        width: 150px;
        padding-left: 40px;
        display: block;
        float: left;
    }
    #primadd_admin_config input
    {
        float: left;
    }
    #primadd_admin_config div
    {
        width: 100%;
        float: left;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .primadd_admin_long
    {
        width: 300px;
        display: block;
        float: left;
    }
    #primadd_help
    {
        width: 100%;
        padding-left: 40px;
    }
    .validationInfo
    {
        color: red;
    }
</style>
<form name="primadd_admin_options" action="<?php echo $_SERVER[PHP_SELF?>?page=primadd_wp_plugin.php" method="post">
<fieldset id="primadd_admin_config" name="primadd_admin_config" class="options">
    <legend><?php _e('primadd configuration'?></legend>
    <div>
            <div<? if (@array_key_exists('primadd_account_key'$validationInfo)) echo ' class="validationInfo"'?>>
                <label for="primadd_account_key">Account Key</label>
                <input class='primadd_admin_long' id='primadd_account_key' type='text' name='primadd_account_key' value='<? echo $primadd_account_key?>'/>
                <span class="validationInfo"><? echo @$validationInfo['primadd_account_key']; ?></span>
            </div>
            <div<? if (@array_key_exists('primadd_style_key_post'$validationInfo)) echo ' class="validationInfo"'?>>
                <label for="primadd_style_key_post">Style Key - Post</label>
                <input class='primadd_admin_long' id='primadd_style_key_post' type='text' name='primadd_style_key_post' value='<? echo $primadd_style_key_post?>'/>
                <input id='primadd_style_key_post_enabled' type='checkbox' name='primadd_style_key_post_enabled' value='1' <? echo ($primadd_style_key_post_enabled == true) ? 'checked="checked"' ''?>'/><span>&nbsp;Enabled</span>
                <span class="validationInfo"><? echo @$validationInfo['primadd_style_key_post']; ?></span>
            </div>
            <div<? if (@array_key_exists('primadd_style_key_nav'$validationInfo)) echo ' class="validationInfo"'?>>
                <label for="primadd_style_key_nav">Style Key - Navigation</label>
                <input class='primadd_admin_long' id='primadd_style_key_nav' type='text' name='primadd_style_key_nav' value='<? echo $primadd_style_key_nav?>'/>
                <input id='primadd_style_key_nav_enabled' type='checkbox' name='primadd_style_key_nav_enabled' value='1' <? echo ($primadd_style_key_nav_enabled == true) ? 'checked="checked"' ''?>'/><span>&nbsp;Enabled</span>
                <span class="validationInfo"><? echo @$validationInfo['primadd_style_key_nav']; ?></span>
            </div>
            <div>
                <label for="primadd_submit">&nbsp;</label>
                <input class='primadd_admin_long' id='primadd_submit' type='submit' value="save settings"/>
            </div>
            <label for="primadd_help">&nbsp;</label>
            <div><span id="primadd_help">* for keys see <a href="http://primadd.net/account/webmaster/">http://primadd.net/account/webmaster/</a></span></div>
    </div>
</fieldset><?
}

add_action('admin_menu''primadd_admin_menu');
?>