#php: post subir image a #twitter @cbielich

#php: post subir image a #twitter @cbielich

fuente: http://stackoverflow.com/questions/35350822/posting-image-status-with-the-twitter-api-using-php

Twitter-PPC

tras mucho buscar y probar y arrancarme el pelo de la cabeza gracias a Cesar Bielich por fin he encontrado solucion, twittear desde php muy guapo pero para publicar una foto con el tweet me las vi y me las desee … con este codiguillo y descargando la libreria codebird, mano de santo:

tweet(‘This is my sample tweet message’,’../audi-a3-grande.jpg’);

function tweet($message,$image) {

// add the codebird library
require_once(‘codebird-php-develop/src/codebird.php’);

// note: consumerKey, consumerSecret, accessToken, and accessTokenSecret all come from your twitter app at https://apps.twitter.com/
\Codebird\Codebird::setConsumerKey(“xxx”, “xxx”);
$cb = \Codebird\Codebird::getInstance();
$cb->setToken(“xxx”, “xxx”);

//build an array of images to send to twitter
$reply = $cb->media_upload(array(
‘media’ => $image
));
//upload the file to your twitter account
$mediaID = $reply->media_id_string;

//build the data needed to send to twitter, including the tweet and the image id
$params = array(
‘status’ => $message,
‘media_ids’ => $mediaID
);
//post the tweet with codebird
$reply = $cb->statuses_update($params);

}

#php: #yii #framework 2 – #upload y registro en bd de fotos

buenas

en español no encuentro mucho material sobre yiiframework2 y el que encuentro esta incompleto porque solo hacen upload y no registran en base de datos o estan redactados para programadores avanzados que no necesitan leer tutoriales para hacer las cosas … vamos al turron

Esto está programado sobr eun ejemplo sencillo, una tabla que se llama ejemplos con un campo nombre y otro “imagen” que es donde guardaremos ruta y nombre de archivo

  • creamos la vista upload.php en la carpeta views y dentro en este caso en la carpeta ejemplos y le metemos este codigo:
<?php use yii\helpers\Html; use yii\widgets\ActiveForm; ?>

<?= $msg ?>


<h3>Subir archivos</h3>


<?php $form = ActiveForm::begin([ "method" => "post",
     "enableClientValidation" => true,
     "options" => ["enctype" => "multipart/form-data"],
     ]);
?>

<?= $form->field($model, "file[]")->fileInput(['multiple' => true]) ?>

<?= Html::submitButton("Subir", ["class" => "btn btn-primary"]) ?>

<?php $form->end() ?>
  • creamos el modelo de validación FormUpload.php en la carpeta models y le metemos este codigo:
<?php namespace app\models; use yii\base\Model; class FormUpload extends Model{ public $file; public function rules() { return [ ['file', 'file', 'skipOnEmpty' => false,
   'uploadRequired' => 'No has seleccionado ningún archivo', //Error
   'maxSize' => 1024*1024*1, //1 MB
   'tooBig' => 'El tamaño máximo permitido es 1MB', //Error
   'minSize' => 10, //10 Bytes
   'tooSmall' => 'El tamaño mínimo permitido son 10 BYTES', //Error
   'extensions' => 'jpg',
   'wrongExtension' => 'El archivo {file} no contiene una extensión permitida {extensions}', //Error
   'maxFiles' => 4,
   'tooMany' => 'El máximo de archivos permitidos son {limit}', //Error
   ],
        ]; 
    } 
 
 public function attributeLabels()
 {
  return [
   'file' => 'Seleccionar archivos:',
  ];
 }
}

  • agregamos las clases FormUpload y UploadedFile al controlador, en este caso el nuestro es controllers/EjemplosController.php:
use app\models\FormUpload;
use yii\web\UploadedFile;
  • y creamos la acción Upload en el controlador controllers/EjemplosController.php:
public function actionUpload($id)
	{
 
	 $model = new FormUpload;
	 $msg = null;
 
	 if ($model->load(Yii::$app->request->post()))
	 {
	  $model->file = UploadedFile::getInstances($model, 'file');

	  if ($model->file && $model->validate()) {
	   foreach ($model->file as $file) {
	    if ($file->saveAs('archivos/' . $file->baseName . '.' . $file->extension)){
		    $msg = "

<strong class='label label-info'>Enhorabuena, subida realizada con éxito</strong>

";
			$modele = $this->findModel($id);
			$modele->imagen=$file->baseName . '.' . $file->extension;
			$modele->save();
		}
	   }
	  }
	 }
	 return $this->render("upload", ["model" => $model, "msg" => $msg]);
	}

con esto ya tenemos la subida de archivos desde el panel de control, ahora solo tenemos que modificar la vista de cada registro para ver la foto de marras

  • en views/ejemplos/view.php añadimos esta linea al final para poder ver la foto relacionada con cada registro del a base de datos : <?= Html::img(Url::base().’/archivos/’.$model->imagen,[‘height’=>’200px’]);?> y añadimos esta otra donde tenemos los botones update y delete para poder llamar al formulario de subida de imagenes <?= Html::a(Yii::t(‘app’, ‘Upload’), [‘upload’, ‘id’ => $model->id], [‘class’ => ‘btn btn-primary’]) ?>

y si no he bebido mucho vino creo que no me olvido de nada

espero que esto le sirva de ayuda a alguien mas aparte de a mi mismo xDD

#tinyMCE con #plugin para hacer #upload de imagenes como en #php

tinyMCE + upload de archivos, como en prestashop

– 1º) descargar tinyMCE de toda la vida de la web oficial: http://www.tinymce.com/download/download.php

– 2º) descargar el plugin FileManager4TinyMCE de : http://test.albertoperipolli.com/filemanager4tinymce/

– 3º) subimos al server la carpeta del tiniMCE

-4º) copiamos en la carpeta plugins de tiniMCE las carpetas del filemanager4 (images, link, media and filemanager)

– 5º) configuramos el config.php de la carpeta plugin/filemanager con nuestras rutas y tamaño maximo de jpg, etc …

– 6º) en el server creamos la carpeta thums dentro de plugin/filemanager y le damos permisos de escritura

– 7º) creamos la carpeta para guardar los uploads donde querais y lo indicais en el config.php de plugin/filemanager

– 8º) configuramos el javascript del HTML donde tenemos el textarea:

<!– Place inside the <head> of your HTML –>
<script type=”text/javascript” src=”tinymce.min.js”></script>
<script type=”text/javascript”>
tinymce.init({
selector: “textarea”,
theme: “modern”,
width: 680,
height: 300,
subfolder:””,
plugins: [
“advlist autolink link image lists charmap print preview hr anchor pagebreak”,
“searchreplace wordcount visualblocks visualchars code insertdatetime media nonbreaking”,
“table contextmenu directionality emoticons paste textcolor filemanager”
],
image_advtab: true,
toolbar: “undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect forecolor backcolor | link unlink anchor | image media | print preview code”
});
</script>

<!– Place this in the body of the page content –>
<form method=”post”>
<textarea></textarea>
</form>

DESCARGAR (es un pdf, descargarlo y renombrar extension como .rar) 

Subir #pdf al #cms de #Prestashop 1.5 by visualxtudio.com

fuente: http://www.visualxtudio.com/blog/subir-pdfs-al-cms-de-prestashop/

En ocasiones es necesario subir algún archivo que no sea una imagen para colocar un enlace entre el contenido de una página cualquiera del CMS de Prestashop y no he encontrado otra forma de hacerlo más que modificar uno de los archivos del Prestashop, que habrá que acordarse de volver a modificar si actualizamos a una nueva versión…

Hay que hacer una modificación en el archivo  admin/ajaxfilemanager/inc/config.base.php y cambiar en la línea 81:

define(‘CONFIG_UPLOAD_VALID_EXTS’, ‘gif,jpg,png’);

por

define(‘CONFIG_UPLOAD_VALID_EXTS’, ‘gif,jpg,png,bmp,tif,zip,sit,rar,gz,tar,htm,html,mov,mpg,avi,asf,mpeg,wmv,aif,aif’);

(las extensiones de archivo que prefieras)