'About Me', 'imguri'=>'http://samdevol.com/wp-content/uploads/sam_smallbw.png', 'imgw' => '120', 'imgh' => '150', 'imgtitle'=>'Sams Portrait', 'fontcolor'=>'#888', 'blurb'=>'Who the Hell are you?', 'moreabout'=>'http://samdevol.com/about-sam', 'moretitle'=>'Work Background', 'contactme'=>'http://samdevol.com/contact', 'contacttitle'=>'Contact Me', 'alignall'=>'center', 'imgalign'=>'display:block;'); if ( $_POST['aboutme-submit'] ) { $newoptions['title'] = strip_tags(stripslashes($_POST['aboutme-title'])); $newoptions['imguri'] = strip_tags(stripslashes($_POST['aboutme-imguri'])); $imguri = $newoptions['imguri']; /* Following is a hack for people on servers with safe_mode. If the cURL extension is present it creates a relative path for the getimagesize function. It will require the image be placed in /wp-content/uploads/ */ if ( !extension_loaded('curl')) $size = getimagesize($imguri); else { preg_match('|(wp-content/.*)|', $imguri, $ans); $relpath = '../'.$ans[1]; $size = getimagesize($relpath); } /* End of safe_mode hack */ $newoptions['imgw'] = $size[0]; $newoptions['imgh'] = $size[1]; $newoptions['imgtitle'] = strip_tags(stripslashes($_POST['aboutme-imgtitle'])); $newoptions['fontcolor'] = strip_tags(stripslashes($_POST['aboutme-fontcolor'])); $newoptions['blurb'] = stripslashes($_POST['aboutme-blurb']); $newoptions['moreabout'] = strip_tags(stripslashes($_POST['aboutme-moreabout'])); $newoptions['moretitle'] = strip_tags(stripslashes($_POST['aboutme-moretitle'])); $newoptions['contactme'] = strip_tags(stripslashes($_POST['aboutme-contactme'])); $newoptions['contacttitle'] = strip_tags(stripslashes($_POST['aboutme-contacttitle'])); $newoptions['alignall'] = strip_tags(stripslashes($_POST['aboutme-alignall'])); $alignall = $newoptions['alignall']; if ($alignall == "left") {$imgalign = 'float:left;margin:5px;';} elseif ($alignall == "center") {$imgalign = 'display:block;margin:5px auto 0 auto;';} elseif ($alignall == "right") {$imgalign = 'float:right;margin:5px;';} else echo 'Pick alignment again...'; $newoptions['imgalign'] = $imgalign; } if ( $options != $newoptions ) { $options = $newoptions; update_option('widget_aboutme', $options); } $title = htmlspecialchars($options['title'], ENT_QUOTES); $imguri = htmlspecialchars($options['imguri'], ENT_QUOTES); $imgw = htmlspecialchars($options['imgw'], ENT_QUOTES); $imgh = htmlspecialchars($options['imgh'], ENT_QUOTES); $imgtitle = htmlspecialchars($options['imgtitle'], ENT_QUOTES); $fontcolor = htmlspecialchars($options['fontcolor'], ENT_QUOTES); $blurb = htmlspecialchars($options['blurb'], ENT_QUOTES); $moreabout = htmlspecialchars($options['moreabout'], ENT_QUOTES); $moretitle = htmlspecialchars($options['moretitle'], ENT_QUOTES); $contactme = htmlspecialchars($options['contactme'], ENT_QUOTES); $contacttitle = htmlspecialchars($options['contacttitle'], ENT_QUOTES); $alignall = htmlspecialchars($options['alignall'], ENT_QUOTES); $imgalign = htmlspecialchars($options['imgalign'], ENT_QUOTES); echo ''; echo ''; } /* Everything before this is setup and config. widget_aboutme($args) is what is actually called on each page load */ function widget_aboutme($args) { extract($args); $options = get_option('widget_aboutme'); $title = $options['title']; $imguri = $options['imguri']; $imgw = $options['imgw']; $imgh = $options['imgh']; $imgtitle = $options['imgtitle']; $fontcolor = $options['fontcolor']; $blurb = $options['blurb']; $moreabout = $options['moreabout']; $moretitle = $options['moretitle']; $contactme = $options['contactme']; $contacttitle = $options['contacttitle']; $alignall = $options['alignall']; $imgalign = $options['imgalign']; /* If you need to do manual style changes, do them below. Carefully ;') */ echo ''; echo $before_widget . $before_title . $title . $after_title; echo ''; echo $after_widget; echo ''; } register_sidebar_widget('About Me', 'widget_aboutme'); register_widget_control('About Me', 'widget_aboutme_control', 345, 620); } add_action('plugins_loaded', 'widget_aboutme_init'); ?>