Pogledajte određenu poruku
Staro 25. 05. 2013.   #1
sinisake
član
Certified
 
Datum učlanjenja: 25.07.2008
Poruke: 76
Hvala: 15
296 "Hvala" u 10 poruka
sinisake is on a distinguished roadsinisake is on a distinguished roadsinisake is on a distinguished roadsinisake is on a distinguished road
Default Wordpress plugin, mali (?) problem

Zeleo bih, radi vezbe, da napravim jedan ne bas ekstremno koristan, ali ipak upotrebljiv plugincic...

http://www.cardiffphotobooth.co.uk/

U dnu strane mozete da vidite slicicu, nista posebno, apsolutno pozicionirana slika, koja bi trebalo s vremena na vreme da se menja...
E, sad, to se trenutno radi modifikacijom page sablona (menjanjem html-a; linka za sliku). Pomislio sam da bi mogao da tu jednostavnu funkciju odradi plugin. Kod:

PHP kôd:
<?php

/*

Plugin Name: image_updater

Plugin URI: http://www.google.com

Description: This plugin helps you change image in html body

Version: 0.1

Author: Sinisake

Author URI: http://www.google.com

License: GPL2

*/



function image_updater_options_page () {

?>

<div class="wrap">

<h2>Image update</h2>



<form action="" method="post" enctype="multipart/form-data">




<p>Upload Image</p>

<p>Image<input name="image" type="file" /></p>


<p><input name="submit_image" type="submit" value="SUBMIT" /></p>

</form>

</div>

<?php

if(isset($_POST['submit_image'])) {

    

$allowed_types=array("image/jpeg","image/pjpeg","image/gif","image/png","image/x-png");    

    
//upload images



    

    



$tip=$_FILES["image"]["type"];



$name=$_FILES["image"]["name"];



$tmp_name=$_FILES['image']['tmp_name'];



$size=$_FILES['image']['size'];



$uploads wp_upload_dir(); // Array of key => value pairs
$upload_direct=$uploads['basedir'].'/img/';








if(
$_FILES["image"]["name"]!=""){



//print_r($_FILES["image"]["name"]);
  
$file_info getimagesize($tmp_name);
             
            if(empty(
$file_info)) {
                
                die (
'File is not image! Please use just .jpg, .png, and .gif files!');
                
            } 


if(!
in_array($tip,$allowed_types)){



die(
"<span class='error'>Upload just these extensions:(jpg,png,gif)!</span>");



}











//copy files!!!!!







$result=move_uploaded_file($tmp_name,$upload_direct.$name);

//insert into database

global $wpdb;

if(
$result)

mysql_query('TRUNCATE TABLE imger');

$db_res=$wpdb->query("INSERT INTO imger (id,image) VALUES ('', '$name')");























}



if(
$db_res){echo("<script>alert('Update successful')</script>");



 }



 
//);}



else {echo("<script>alert(ERROR)</script>");die();}





}    

}

    





?>
<?php





function image_updater_menu () {

add_menu_page('Image updater','Update Image','manage_options','image_updater_admin'image_updater_options_page);

}



add_action('admin_menu','image_updater_menu');

//sta ovde???
//add_filter('the_title', 'bottom_image');
 
function bottom_image() {
    
    global 
$wpdb;
$myrows $wpdb->get_results"SELECT image FROM imger" );
//echo $myrows[0]->image;
$uploads wp_upload_dir();
    
 return 
"<img src=".$uploads['baseurl'].'/img/'.$myrows[0]->image." />";
}



?>
E sad, zastao sam kod, za me, neresive stvari. Kako da ovaj HTML iz poslednje funkcije ubacim na stranu (moze iza headera, moze negde ispod footera), ALI BEZ menjanja page templejta...dakle, samo pomocu plugina?

I, da, ali to cu vec, valjda, resiti - plugin bi pri instalaciji trebalo da kreira novu tabelu u bazi i novi folder za upload ovih slika koje ce se menjati....

Znaci, sve ovo zasad fukcionise, upload iz admin panela, update baze (dodacu kasnije brisanje stare slike) samo je ostao taj kljucni problem - ubacivanje HTML-a u output, tako da promena bude vidljiva na svakoj ''strani"... koje filtere, akcije, hukove pozvati???

Hvala unapred!
sinisake je offline   Odgovorite uz citat