Compare commits
20
Commits
master
..
6754a2060b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6754a2060b | ||
|
|
9533309b58 | ||
|
|
d20b6a6758 | ||
|
|
b3bbd9d1f6 | ||
|
|
4170597626 | ||
|
|
7a8491c572 | ||
|
|
cfb61898b3 | ||
|
|
7533f86035 | ||
|
|
98cd15fad6 | ||
|
|
5b0e7d9aa9 | ||
|
|
ccdece692a | ||
|
|
5792cd88ee | ||
|
|
89bb1a17d7 | ||
|
|
0f64cd747d | ||
|
|
b371156b94 | ||
|
|
b64172c2e9 | ||
|
|
4e871bdbd3 | ||
|
|
50c0032f02 | ||
|
|
42837e9ee9 | ||
|
|
d7010a19ca |
@@ -3,10 +3,3 @@
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteRule ^(.*)$ serviceapp.php [QSA,L]
|
||||
</ifModule>
|
||||
|
||||
<Limit GET POST PUT DELETE>
|
||||
# Allow from app.gruppolapastamadre.it
|
||||
</Limit>
|
||||
|
||||
#Header set Access-Control-Allow-Origin "app.gruppolapastamadre.it"
|
||||
#Header set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
|
||||
@@ -6,8 +6,8 @@
|
||||
*
|
||||
*
|
||||
* @author Fabian Schlieper <[email protected]>
|
||||
* @copyright Fabian Schlieper 2012
|
||||
* @version 1.7
|
||||
* @copyright Fabian Schlieper 2014
|
||||
* @version 1.7.1
|
||||
* @license See LICENSE
|
||||
*
|
||||
*/
|
||||
@@ -51,6 +51,9 @@ class DropboxClient {
|
||||
$this->useCurl = function_exists('curl_init');
|
||||
}
|
||||
|
||||
function __wakeup() {
|
||||
$this->useCurl = $this->useCurl && function_exists('curl_init');
|
||||
}
|
||||
/**
|
||||
* Sets whether to use cURL if its available or PHP HTTP wrappers otherwise
|
||||
*
|
||||
@@ -291,29 +294,17 @@ class DropboxClient {
|
||||
|
||||
while(!feof($fh)) {
|
||||
$url = $this->cleanUrl(self::API_CONTENT_URL."/chunked_upload").'?'.http_build_query(compact('upload_id', 'offset'),'','&');
|
||||
$content = fread($fh, self::UPLOAD_CHUNK_SIZE);
|
||||
$context = $this->createRequestContext($url, "PUT", $content);
|
||||
|
||||
if($this->useCurl) {
|
||||
$context = $this->createRequestContext($url, "PUT");
|
||||
curl_setopt($context, CURLOPT_BINARYTRANSFER, true);
|
||||
curl_setopt($context, CURLOPT_PUT, 1);
|
||||
curl_setopt($context, CURLOPT_INFILE, $fh);
|
||||
$chunk_size = min(self::UPLOAD_CHUNK_SIZE, $file_size - $offset);
|
||||
$offset += $chunk_size;
|
||||
curl_setopt($context, CURLOPT_INFILESIZE, $chunk_size);
|
||||
$response = json_decode(self::execCurlAndClose($context));
|
||||
|
||||
fseek($fh,$offset);
|
||||
if($offset >= $file_size)
|
||||
break;
|
||||
} else {
|
||||
$content = fread($fh, self::UPLOAD_CHUNK_SIZE);
|
||||
|
||||
$context = $this->createRequestContext($url, "PUT", $content);
|
||||
$offset += strlen($content);
|
||||
unset($content);
|
||||
|
||||
$response = json_decode(file_get_contents($url, false, $context));
|
||||
}
|
||||
$offset += strlen($content);
|
||||
unset($content);
|
||||
unset($context);
|
||||
|
||||
self::checkForError($response);
|
||||
@@ -322,12 +313,12 @@ class DropboxClient {
|
||||
$upload_id = $response->upload_id;
|
||||
if(empty($upload_id)) throw new DropboxException("Upload ID empty!");
|
||||
}
|
||||
if($offset >= $file_size)
|
||||
break;
|
||||
}
|
||||
|
||||
@fclose($fh);
|
||||
|
||||
$this->useCurl = $prev_useCurl;
|
||||
|
||||
return $this->apiCall("commit_chunked_upload/$this->rootPath/$dropbox_path", "POST", compact('overwrite','parent_rev','upload_id'), true);
|
||||
}
|
||||
|
||||
|
||||
+4
-5
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
|
||||
class MysqlClass {
|
||||
|
||||
// parametri per la connessione al database
|
||||
private $nomehost = "localhost";
|
||||
class MysqlClass
|
||||
{
|
||||
// parametri per la connessione al database
|
||||
private $nomehost = "localhost";
|
||||
private $nomeuser = "root";
|
||||
private $password = "root";
|
||||
private $mydb = "w18092_ricettario";
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace PHPImageWorkshop\Core\Exception;
|
||||
use PHPImageWorkshop\Exception\ImageWorkshopBaseException as ImageWorkshopBaseException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/../../Exception/ImageWorkshopBaseException.php');
|
||||
//require_once(__DIR__.'/../../Exception/ImageWorkshopBaseException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshopLayerException
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace PHPImageWorkshop\Core\Exception;
|
||||
use PHPImageWorkshop\Exception\ImageWorkshopBaseException as ImageWorkshopBaseException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/../../Exception/ImageWorkshopBaseException.php');
|
||||
//require_once(__DIR__.'/../../Exception/ImageWorkshopBaseException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshopLibException
|
||||
|
||||
@@ -7,9 +7,9 @@ use PHPImageWorkshop\Core\ImageWorkshopLib as ImageWorkshopLib;
|
||||
use PHPImageWorkshop\Core\Exception\ImageWorkshopLayerException as ImageWorkshopLayerException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/../ImageWorkshop.php');
|
||||
require_once(__DIR__.'/ImageWorkshopLib.php');
|
||||
require_once(__DIR__.'/Exception/ImageWorkshopLayerException.php');
|
||||
//require_once(__DIR__.'/../ImageWorkshop.php');
|
||||
//require_once(__DIR__.'/ImageWorkshopLib.php');
|
||||
//require_once(__DIR__.'/Exception/ImageWorkshopLayerException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshopLayer class
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace PHPImageWorkshop\Core;
|
||||
use PHPImageWorkshop\Core\Exception\ImageWorkshopLibException as ImageWorkshopLibException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/Exception/ImageWorkshopLibException.php');
|
||||
//require_once(__DIR__.'/Exception/ImageWorkshopLibException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshopLib class
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace PHPImageWorkshop\Exception;
|
||||
use PHPImageWorkshop\Exception\ImageWorkshopBaseException as ImageWorkshopBaseException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/ImageWorkshopBaseException.php');
|
||||
//require_once(__DIR__.'/ImageWorkshopBaseException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshopException
|
||||
|
||||
@@ -7,8 +7,8 @@ use PHPImageWorkshop\Core\ImageWorkshopLib as ImageWorkshopLib;
|
||||
use PHPImageWorkshop\Exception\ImageWorkshopException as ImageWorkshopException;
|
||||
|
||||
// If no autoloader, uncomment these lines:
|
||||
require_once(__DIR__.'/Core/ImageWorkshopLayer.php');
|
||||
require_once(__DIR__.'/Exception/ImageWorkshopException.php');
|
||||
//require_once(__DIR__.'/Core/ImageWorkshopLayer.php');
|
||||
//require_once(__DIR__.'/Exception/ImageWorkshopException.php');
|
||||
|
||||
/**
|
||||
* ImageWorkshop class
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -140,7 +140,10 @@ class Environment implements \ArrayAccess, \IteratorAggregate
|
||||
$env['SCRIPT_NAME'] = rtrim($physicalPath, '/'); // <-- Remove trailing slashes
|
||||
|
||||
// Virtual path
|
||||
$env['PATH_INFO'] = substr_replace($requestUri, '', 0, strlen($physicalPath)); // <-- Remove physical path
|
||||
$env['PATH_INFO'] = $requestUri;
|
||||
if (substr($requestUri, 0, strlen($physicalPath)) == $physicalPath) {
|
||||
$env['PATH_INFO'] = substr($requestUri, strlen($physicalPath)); // <-- Remove physical path
|
||||
}
|
||||
$env['PATH_INFO'] = str_replace('?' . $queryString, '', $env['PATH_INFO']); // <-- Remove query string
|
||||
$env['PATH_INFO'] = '/' . ltrim($env['PATH_INFO'], '/'); // <-- Ensure leading slash
|
||||
|
||||
@@ -151,7 +154,8 @@ class Environment implements \ArrayAccess, \IteratorAggregate
|
||||
$env['SERVER_NAME'] = $_SERVER['SERVER_NAME'];
|
||||
|
||||
//Number of server port that is running the script
|
||||
$env['SERVER_PORT'] = $_SERVER['SERVER_PORT'];
|
||||
//Fixes: https://github.com/slimphp/Slim/issues/962
|
||||
$env['SERVER_PORT'] = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : 80;
|
||||
|
||||
//HTTP request headers (retains HTTP_ prefix to match $_SERVER)
|
||||
$headers = \Slim\Http\Headers::extract($_SERVER);
|
||||
@@ -191,9 +195,9 @@ class Environment implements \ArrayAccess, \IteratorAggregate
|
||||
{
|
||||
if (isset($this->properties[$offset])) {
|
||||
return $this->properties[$offset];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
+6
-6
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -160,7 +160,7 @@ class Set implements \ArrayAccess, \Countable, \IteratorAggregate
|
||||
|
||||
public function __unset($key)
|
||||
{
|
||||
return $this->remove($key);
|
||||
$this->remove($key);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,8 +215,8 @@ class Set implements \ArrayAccess, \Countable, \IteratorAggregate
|
||||
|
||||
/**
|
||||
* Ensure a value or object will remain globally unique
|
||||
* @param string $key The value or object name
|
||||
* @param Closure The closure that defines the object
|
||||
* @param string $key The value or object name
|
||||
* @param \Closure $value The closure that defines the object
|
||||
* @return mixed
|
||||
*/
|
||||
public function singleton($key, $value)
|
||||
@@ -234,8 +234,8 @@ class Set implements \ArrayAccess, \Countable, \IteratorAggregate
|
||||
|
||||
/**
|
||||
* Protect closure from being directly invoked
|
||||
* @param Closure $callable A closure to keep from being invoked and evaluated
|
||||
* @return Closure
|
||||
* @param \Closure $callable A closure to keep from being invoked and evaluated
|
||||
* @return \Closure
|
||||
*/
|
||||
public function protect(\Closure $callable)
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -169,9 +169,9 @@ class Request
|
||||
return true;
|
||||
} elseif (isset($this->headers['X_REQUESTED_WITH']) && $this->headers['X_REQUESTED_WITH'] === 'XMLHttpRequest') {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+10
-2
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -85,6 +85,7 @@ class Response implements \ArrayAccess, \Countable, \IteratorAggregate
|
||||
204 => '204 No Content',
|
||||
205 => '205 Reset Content',
|
||||
206 => '206 Partial Content',
|
||||
226 => '226 IM Used',
|
||||
//Redirection 3xx
|
||||
300 => '300 Multiple Choices',
|
||||
301 => '301 Moved Permanently',
|
||||
@@ -116,13 +117,20 @@ class Response implements \ArrayAccess, \Countable, \IteratorAggregate
|
||||
418 => '418 I\'m a teapot',
|
||||
422 => '422 Unprocessable Entity',
|
||||
423 => '423 Locked',
|
||||
426 => '426 Upgrade Required',
|
||||
428 => '428 Precondition Required',
|
||||
429 => '429 Too Many Requests',
|
||||
431 => '431 Request Header Fields Too Large',
|
||||
//Server Error 5xx
|
||||
500 => '500 Internal Server Error',
|
||||
501 => '501 Not Implemented',
|
||||
502 => '502 Bad Gateway',
|
||||
503 => '503 Service Unavailable',
|
||||
504 => '504 Gateway Timeout',
|
||||
505 => '505 HTTP Version Not Supported'
|
||||
505 => '505 HTTP Version Not Supported',
|
||||
506 => '506 Variant Also Negotiates',
|
||||
510 => '510 Not Extended',
|
||||
511 => '511 Network Authentication Required'
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -60,9 +60,9 @@ class Util
|
||||
$strip = is_null($overrideStripSlashes) ? get_magic_quotes_gpc() : $overrideStripSlashes;
|
||||
if ($strip) {
|
||||
return self::stripSlashes($rawData);
|
||||
} else {
|
||||
return $rawData;
|
||||
}
|
||||
|
||||
return $rawData;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-2
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -306,7 +306,12 @@ class Log
|
||||
if (!isset(self::$levels[$level])) {
|
||||
throw new \InvalidArgumentException('Invalid log level supplied to function');
|
||||
} else if ($this->enabled && $this->writer && $level <= $this->level) {
|
||||
$message = (string)$object;
|
||||
if (is_array($object) || (is_object($object) && !method_exists($object, "__toString"))) {
|
||||
$message = print_r($object, true);
|
||||
} else {
|
||||
$message = (string) $object;
|
||||
}
|
||||
|
||||
if (count($context) > 0) {
|
||||
if (isset($context['exception']) && $context['exception'] instanceof \Exception) {
|
||||
$message .= ' - ' . $context['exception'];
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -116,7 +116,7 @@ class ContentTypes extends \Slim\Middleware
|
||||
{
|
||||
if (function_exists('json_decode')) {
|
||||
$result = json_decode($input, true);
|
||||
if ($result) {
|
||||
if(json_last_error() === JSON_ERROR_NONE) {
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -89,7 +89,7 @@ class PrettyExceptions extends \Slim\Middleware
|
||||
$message = $exception->getMessage();
|
||||
$file = $exception->getFile();
|
||||
$line = $exception->getLine();
|
||||
$trace = str_replace(array('#', '\n'), array('<div>#', '</div>'), $exception->getTraceAsString());
|
||||
$trace = str_replace(array('#', "\n"), array('<div>#', '</div>'), $exception->getTraceAsString());
|
||||
$html = sprintf('<h1>%s</h1>', $title);
|
||||
$html .= '<p>The application could not run because of the following error:</p>';
|
||||
$html .= '<h2>Details</h2>';
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -119,15 +119,10 @@ class SessionCookie extends \Slim\Middleware
|
||||
if (session_id() === '') {
|
||||
session_start();
|
||||
}
|
||||
|
||||
$value = $this->app->getCookie($this->settings['name']);
|
||||
|
||||
if ($value) {
|
||||
try {
|
||||
$_SESSION = unserialize($value);
|
||||
} catch (\Exception $e) {
|
||||
$this->app->getLog()->error('Error unserializing session cookie value! ' . $e->getMessage());
|
||||
}
|
||||
$value = json_decode($value, true);
|
||||
$_SESSION = is_array($value) ? $value : array();
|
||||
} else {
|
||||
$_SESSION = array();
|
||||
}
|
||||
@@ -138,7 +133,7 @@ class SessionCookie extends \Slim\Middleware
|
||||
*/
|
||||
protected function saveSession()
|
||||
{
|
||||
$value = serialize($_SESSION);
|
||||
$value = json_encode($_SESSION);
|
||||
|
||||
if (strlen($value) > 4096) {
|
||||
$this->app->getLog()->error('WARNING! Slim\Middleware\SessionCookie data size is larger than 4KB. Content save failed.');
|
||||
|
||||
+7
-1
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -288,6 +288,9 @@ class Route
|
||||
public function appendHttpMethods()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if(count($args) && is_array($args[0])){
|
||||
$args = $args[0];
|
||||
}
|
||||
$this->methods = array_merge($this->methods, $args);
|
||||
}
|
||||
|
||||
@@ -298,6 +301,9 @@ class Route
|
||||
public function via()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if(count($args) && is_array($args[0])){
|
||||
$args = $args[0];
|
||||
}
|
||||
$this->methods = array_merge($this->methods, $args);
|
||||
|
||||
return $this;
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -232,9 +232,9 @@ class Router
|
||||
$this->getNamedRoutes();
|
||||
if ($this->hasNamedRoute($name)) {
|
||||
return $this->namedRoutes[(string) $name];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+43
-11
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -54,7 +54,7 @@ class Slim
|
||||
/**
|
||||
* @const string
|
||||
*/
|
||||
const VERSION = '2.4.2';
|
||||
const VERSION = '2.6.1';
|
||||
|
||||
/**
|
||||
* @var \Slim\Helper\Set
|
||||
@@ -231,22 +231,22 @@ class Slim
|
||||
|
||||
public function __get($name)
|
||||
{
|
||||
return $this->container[$name];
|
||||
return $this->container->get($name);
|
||||
}
|
||||
|
||||
public function __set($name, $value)
|
||||
{
|
||||
$this->container[$name] = $value;
|
||||
$this->container->set($name, $value);
|
||||
}
|
||||
|
||||
public function __isset($name)
|
||||
{
|
||||
return isset($this->container[$name]);
|
||||
return $this->container->has($name);
|
||||
}
|
||||
|
||||
public function __unset($name)
|
||||
{
|
||||
unset($this->container[$name]);
|
||||
$this->container->remove($name);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -906,7 +906,12 @@ class Slim
|
||||
}
|
||||
}
|
||||
|
||||
return $value;
|
||||
/*
|
||||
* transform $value to @return doc requirement.
|
||||
* \Slim\Http\Util::decodeSecureCookie - is able
|
||||
* to return false and we have to cast it to null.
|
||||
*/
|
||||
return $value === false ? null : $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1100,6 +1105,18 @@ class Slim
|
||||
$this->halt($status);
|
||||
}
|
||||
|
||||
/**
|
||||
* RedirectTo
|
||||
*
|
||||
* Redirects to a specific named route
|
||||
*
|
||||
* @param string $route The route name
|
||||
* @param array $params Associative array of URL parameters and replacement values
|
||||
*/
|
||||
public function redirectTo($route, $params = array(), $status = 302){
|
||||
$this->redirect($this->urlFor($route, $params), $status);
|
||||
}
|
||||
|
||||
/********************************************************************************
|
||||
* Flash Messages
|
||||
*******************************************************************************/
|
||||
@@ -1138,6 +1155,16 @@ class Slim
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all flash messages
|
||||
*/
|
||||
public function flashData()
|
||||
{
|
||||
if (isset($this->environment['slim.flash'])) {
|
||||
return $this->environment['slim.flash']->getMessages();
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************************************
|
||||
* Hooks
|
||||
*******************************************************************************/
|
||||
@@ -1160,10 +1187,10 @@ class Slim
|
||||
|
||||
/**
|
||||
* Invoke hook
|
||||
* @param string $name The hook name
|
||||
* @param mixed $hookArg (Optional) Argument for hooked functions
|
||||
* @param string $name The hook name
|
||||
* @param mixed ... (Optional) Argument(s) for hooked functions, can specify multiple arguments
|
||||
*/
|
||||
public function applyHook($name, $hookArg = null)
|
||||
public function applyHook($name)
|
||||
{
|
||||
if (!isset($this->hooks[$name])) {
|
||||
$this->hooks[$name] = array(array());
|
||||
@@ -1173,10 +1200,14 @@ class Slim
|
||||
if (count($this->hooks[$name]) > 1) {
|
||||
ksort($this->hooks[$name]);
|
||||
}
|
||||
|
||||
$args = func_get_args();
|
||||
array_shift($args);
|
||||
|
||||
foreach ($this->hooks[$name] as $priority) {
|
||||
if (!empty($priority)) {
|
||||
foreach ($priority as $callable) {
|
||||
call_user_func($callable, $hookArg);
|
||||
call_user_func_array($callable, $args);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1344,6 +1375,7 @@ class Slim
|
||||
throw $e;
|
||||
} else {
|
||||
try {
|
||||
$this->response()->write(ob_get_clean());
|
||||
$this->error($e);
|
||||
} catch (\Slim\Exception\Stop $e) {
|
||||
// Do nothing
|
||||
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* @copyright 2011 Josh Lockhart
|
||||
* @link http://www.slimframework.com
|
||||
* @license http://www.slimframework.com/license
|
||||
* @version 2.4.2
|
||||
* @version 2.6.1
|
||||
* @package Slim
|
||||
*
|
||||
* MIT LICENSE
|
||||
@@ -108,7 +108,7 @@ class View
|
||||
* @param string $key
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function keep($key, Closure $value)
|
||||
public function keep($key, \Closure $value)
|
||||
{
|
||||
$this->data->keep($key, $value);
|
||||
}
|
||||
@@ -152,9 +152,9 @@ class View
|
||||
{
|
||||
if (!is_null($key)) {
|
||||
return isset($this->data[$key]) ? $this->data[$key] : null;
|
||||
} else {
|
||||
return $this->data->all();
|
||||
}
|
||||
|
||||
return $this->data->all();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
|
||||
$allowedHost = array(
|
||||
"localhost",
|
||||
"denisnotebook",
|
||||
"app.gruppolapastamadre.it",
|
||||
"dev.gruppolapastamadre.it",
|
||||
"blog.gruppolapastamadre.it",
|
||||
"management.gruppolapastamadre.it"
|
||||
);
|
||||
|
||||
$dirRicetteDropBox = "IlLievitario/Images/Ricette";
|
||||
|
||||
?>
|
||||
@@ -3,156 +3,95 @@
|
||||
// inclusione del file contenente la classe
|
||||
require_once "./include.php";
|
||||
require_once "./myDropBoxObj.php";
|
||||
|
||||
use PHPImageWorkshop\ImageWorkshop;
|
||||
|
||||
require_once 'PHPImageWorkshop/ImageWorkshop.php'; // Be sure of the path to the class
|
||||
//include "./SimpleImage.php";
|
||||
|
||||
$app->get('/photos/thumbnail/:imageID(/:createImgTag)', function ($imageID, $createImgTag = 0) use ($app, $dirRicetteDropBox) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$app->get('/photo/thumbnail/:imageID(/:noRedirect)', function ($imageID, $noRedirect = 0) use ($app, $dirRicetteDropBox) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$retObj = $mysqlconnetion->queryToObject("select type_format, id_ricette from immagini where id=" . $imageID, false);
|
||||
$retObj = $mysqlconnetion->queryToObject("select type_format, id_ricette, thumb_link from immagini where id=" . $imageID, false);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
|
||||
$ext = "png";
|
||||
|
||||
$retLink = $retObj["thumb_link"];
|
||||
|
||||
if($retLink == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$imageFileName = $imageID . "_thumb_ricetta." . $ext;
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$retLink = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
|
||||
if ($noRedirect) {
|
||||
echo $retLink;
|
||||
}
|
||||
else
|
||||
$app->response->redirect($retLink, 303);
|
||||
});
|
||||
|
||||
|
||||
$app->get('/photo/medium/:imageID(/:noRedirect)', function ($imageID, $noRedirect = 0) use ($app, $dirRicetteDropBox) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$retObj = $mysqlconnetion->queryToObject("select type_format, id_ricette, medium_link from immagini where id=" . $imageID, false);
|
||||
$mysqlconnetion->disconnetti();
|
||||
$ext = "";
|
||||
if ($retObj["type_format"] == "image/jpeg") {
|
||||
$ext = "jpg";
|
||||
$ext = "jpeg";
|
||||
} else if ($retObj["type_format"] == "image/png") {
|
||||
$ext = "png";
|
||||
}
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
$retLink = $retObj["medium_link"];
|
||||
|
||||
$imageFileName = $imageID . "_thumb_ricetta." . $ext;
|
||||
if($retLink == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
$imageFileName = $imageID . "_medium_ricetta." . $ext;
|
||||
|
||||
if ($createImgTag) {
|
||||
echo '<img src="';
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$retLink = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
echo $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
if ($createImgTag) {
|
||||
echo '"/>';
|
||||
|
||||
if ($noRedirect) {
|
||||
echo $retLink;
|
||||
}
|
||||
else
|
||||
$app->response->redirect($retLink, 303);
|
||||
});
|
||||
|
||||
$app->get('/photos/:imageID(/:createImgTag)', function ($imageID, $createImgTag = 0) use ($app, $dirRicetteDropBox) {
|
||||
$app->get('/photo/:imageID(/:noRedirect)', function ($imageID, $noRedirect = 0) use ($app, $dirRicetteDropBox) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$retObj = $mysqlconnetion->queryToObject("select type_format, id_ricette from immagini where id=" . $imageID, false);
|
||||
$retObj = $mysqlconnetion->queryToObject("select type_format, id_ricette, full_link from immagini where id=" . $imageID, false);
|
||||
$mysqlconnetion->disconnetti();
|
||||
$ext = "";
|
||||
if ($retObj["type_format"] == "image/jpeg") {
|
||||
$ext = "jpg";
|
||||
$ext = "jpeg";
|
||||
} else if ($retObj["type_format"] == "image/png") {
|
||||
$ext = "png";
|
||||
}
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
$retLink = $retObj["full_link"];
|
||||
|
||||
$imageFileName = $imageID . "_full_ricetta." . $ext;
|
||||
if($retLink == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
$imageFileName = $imageID . "_full_ricetta." . $ext;
|
||||
|
||||
if ($createImgTag) {
|
||||
echo '<img src="';
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$retLink = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
echo $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
if ($createImgTag) {
|
||||
echo '"/>';
|
||||
|
||||
if ($noRedirect) {
|
||||
echo $retLink;
|
||||
}
|
||||
});
|
||||
|
||||
$app->put('/photos/publish/:imageID', function ($imageID) use ($app) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$query = "update immagini set published = 1, published_date = NOW() where id = " . $imageID;
|
||||
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
});
|
||||
|
||||
$app->post('/photos', function () use ($app, $dirRicetteDropBox) {
|
||||
$idRicette = $app->request()->post('ricetta_id');
|
||||
$profileID = $app->request()->post('keyStore');
|
||||
$tmpFileName = $_FILES['image']["tmp_name"];
|
||||
$layer = ImageWorkshop::initFromPath($tmpFileName);
|
||||
// istanza della classe
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
$query = "insert into immagini(id_ricette, type_format, from_profile_id, uploaded_date) " .
|
||||
"values(" . $idRicette . ", '" . image_type_to_mime_type(exif_imagetype($tmpFileName)) .
|
||||
"', '" . $profileID . "', NOW())";
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
$ext = image_type_to_extension(exif_imagetype($tmpFileName), FALSE);
|
||||
|
||||
$imageFileName = $newID . "_full_ricetta." . $ext;
|
||||
|
||||
$thumbFileName = $newID . "_thumb_ricetta." . $ext;
|
||||
|
||||
$layer->resizeByLargestSideInPixel(640, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $imageFileName);
|
||||
|
||||
$layer->resizeByLargestSideInPixel(300, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $thumbFileName);
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $idRicette;
|
||||
|
||||
try {
|
||||
$dropBoxObj->CreateFolder($folder);
|
||||
} catch (DropboxException $ex) {
|
||||
|
||||
}
|
||||
$fullPath = dirname($tmpFileName) . "/" . $imageFileName;
|
||||
echo $fullPath . "\n";
|
||||
$thumbPath = dirname($tmpFileName) . "/" . $thumbFileName;
|
||||
echo $thumbPath . "\n";
|
||||
$dropBoxObj->UploadFile($fullPath, $folder . "/" . $imageFileName);
|
||||
|
||||
$dropBoxObj->UploadFile($thumbPath, $folder . "/" . $thumbFileName);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
echo $newID;
|
||||
});
|
||||
|
||||
$app->put('/photos/:imageID', function ($imageID) use ($app, $dirRicetteDropBox) {
|
||||
$tmpFileName = $_FILES['image']["tmp_name"];
|
||||
$layer = ImageWorkshop::initFromPath($tmpFileName);
|
||||
// istanza della classe
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
$query = "update immagini set (type_format = '" . image_type_to_mime_type(exif_imagetype($tmpFileName)) . "', " .
|
||||
" where id=" . $imageID;
|
||||
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
|
||||
$imageFileName = $imageID . "_full_ricetta";
|
||||
|
||||
$thumbFileName = $imageID . "_thumb_ricetta";
|
||||
|
||||
$layer->resizeByLargestSideInPixel(640, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $imageFileName);
|
||||
|
||||
$layer->resizeByLargestSideInPixel(300, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $thumbFileName);
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $idRicette;
|
||||
|
||||
$dropBoxObj->UploadFile(dirname($tmpFileName) . DIRECTORY_SEPARATOR . $imageFileName, $folder . "\\" . $imageFileName);
|
||||
|
||||
$dropBoxObj->UploadFile(dirname($tmpFileName) . DIRECTORY_SEPARATOR . $thumbFileName, $folder . "\\" . $thumbFileName);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
return $newID;
|
||||
else
|
||||
$app->response->redirect($retLink, 303);
|
||||
});
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
|
||||
// inclusione del file contenente la classe
|
||||
require_once "./include.php";
|
||||
require_once "./myDropBoxObj.php";
|
||||
|
||||
use PHPImageWorkshop\ImageWorkshop;
|
||||
|
||||
require_once 'PHPImageWorkshop/ImageWorkshop.php'; // Be sure of the path to the class
|
||||
//include "./SimpleImage.php";
|
||||
|
||||
$app->get('/photo/publish/:imageID', function ($imageID) use ($app) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$query = "update immagini set published = 1, published_date = NOW() where id = " . $imageID;
|
||||
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
});
|
||||
|
||||
$app->get('/photo/set_cover/:imageID', function ($imageID) use ($app) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$query = "select id_ricette from immagini where id = " . $imageID;
|
||||
$retObj = $mysqlconnetion->queryToObject($query, false);
|
||||
|
||||
$query = "update immagini set bCover = 0 where id_ricette = " . $retObj["id_ricette"];
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
|
||||
$query = "update immagini set bCover = 1 where id = " . $imageID;
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
});
|
||||
|
||||
$app->delete('/photo/:imageID', function ($imageID) use ($app,$dirRicetteDropBox) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$query = "select id_ricette, type_format from immagini where id = " . $imageID;
|
||||
$retObj = $mysqlconnetion->queryToObject($query, false);
|
||||
|
||||
$ext = "";
|
||||
if ($retObj["type_format"] == "image/jpeg") {
|
||||
$ext = "jpeg";
|
||||
} else if ($retObj["type_format"] == "image/png") {
|
||||
$ext = "png";
|
||||
}
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
$imageFileName = $imageID . "_full_ricetta." . $ext;
|
||||
$dropBoxObj->Delete($folder . "/" . $imageFileName);
|
||||
|
||||
$imageFileName = $imageID . "_medium_ricetta." . $ext;
|
||||
$dropBoxObj->Delete($folder . "/" . $imageFileName);
|
||||
|
||||
$imageFileName = $imageID . "_thumb_ricetta." . $ext;
|
||||
$dropBoxObj->Delete($folder . "/" . $imageFileName);
|
||||
|
||||
$query = "delete from immagini where id = " . $imageID;
|
||||
$mysqlconnetion->executeQuery($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
});
|
||||
|
||||
$app->post('/photo', function () use ($app, $dirRicetteDropBox) {
|
||||
$idRicette = $app->request()->post('ricetta_id');
|
||||
$profileID = $app->request()->post('keyStore');
|
||||
$tmpFileName = $_FILES['image']["tmp_name"];
|
||||
$layer = ImageWorkshop::initFromPath($tmpFileName);
|
||||
// istanza della classe
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
$query = "insert into immagini(id_ricette, type_format, from_profile_id, uploaded_date, bCover) " .
|
||||
"values(" . $idRicette . ", '" . image_type_to_mime_type(exif_imagetype($tmpFileName)) .
|
||||
"', '" . $profileID . "', NOW(), 0)";
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
$ext = image_type_to_extension(exif_imagetype($tmpFileName), FALSE);
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $idRicette;
|
||||
$imageFileName = $newID . "_full_ricetta." . $ext;
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$full_link = resizeImage($dropBoxObj, $layer, 640, dirname($tmpFileName), $imageFileName, $folder);
|
||||
|
||||
$imageMediumFileName = $newID . "_medium_ricetta." . $ext;
|
||||
|
||||
$medium_link = resizeImage($dropBoxObj, $layer, 320, dirname($tmpFileName), $imageMediumFileName, $folder);
|
||||
|
||||
$thumbFileName = $newID . "_thumb_ricetta." . $ext;
|
||||
|
||||
$thumb_link = makeThumbImage($dropBoxObj, $layer, 80, dirname($tmpFileName), $thumbFileName, $folder);
|
||||
|
||||
$query = "update immagini set thumb_link = '" . $thumb_link . "', medium_link ='" . $medium_link . "', full_link = '" . $full_link ."'" .
|
||||
" where id=" . $newID;
|
||||
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
echo $newID;
|
||||
});
|
||||
|
||||
$app->put('/photo/:imageID', function ($imageID) use ($app, $dirRicetteDropBox) {
|
||||
$tmpFileName = $_FILES['image']["tmp_name"];
|
||||
$layer = ImageWorkshop::initFromPath($tmpFileName);
|
||||
// istanza della classe
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $imageID;
|
||||
$imageFileName = $imageID . "_full_ricetta." . $ext;
|
||||
|
||||
$full_link = resizeImage($dropBoxObj, $layer, 640, dirname($tmpFileName), $imageFileName, $folder);
|
||||
|
||||
$imageMediumFileName = $imageID . "_medium_ricetta." . $ext;
|
||||
|
||||
$medium_link = resizeImage($dropBoxObj, $layer, 320, dirname($tmpFileName), $imageMediumFileName, $folder);
|
||||
|
||||
$thumbFileName = $imageID . "_thumb_ricetta." . $ext;
|
||||
|
||||
$thumb_link = makeThumbImage($dropBoxObj, $layer, 80, dirname($tmpFileName), $thumbFileName, $folder);
|
||||
|
||||
$query = "update immagini set (type_format = '" . image_type_to_mime_type(exif_imagetype($tmpFileName)) .
|
||||
"', thumb_link = '" . $thumb_link . "', medium_link ='" . $medium_link . "', full_link = '" . $full_link ."' )" .
|
||||
" where id=" . $imageID;
|
||||
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
return $newID;
|
||||
});
|
||||
|
||||
$app->get('/photo/fixLink', function () use ($app, $dirRicetteDropBox) {
|
||||
ini_set('max_execution_time', 3000);
|
||||
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject("select type_format, id, id_ricette, thumb_link, medium_link, full_link from immagini where published = 1");
|
||||
|
||||
|
||||
foreach ($retObj2 as $retObj) {
|
||||
|
||||
$imageID = $retObj["id"];
|
||||
|
||||
$ext = "";
|
||||
if ($retObj["type_format"] == "image/jpeg") {
|
||||
$ext = "jpeg";
|
||||
} else if ($retObj["type_format"] == "image/png") {
|
||||
$ext = "png";
|
||||
}
|
||||
|
||||
$full_link = $retObj["full_link"];
|
||||
|
||||
if($full_link == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$imageFileName = $imageID . "_full_ricetta." . $ext;
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$full_link = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
|
||||
$medium_link = $retObj["medium_link"];
|
||||
|
||||
if($medium_link == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$imageFileName = $imageID . "_medium_ricetta." . $ext;
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$medium_link = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
|
||||
$thumb_link = $retObj["thumb_link"];
|
||||
|
||||
if($thumb_link == ""){
|
||||
$folder = $dirRicetteDropBox . "/" . $retObj["id_ricette"];
|
||||
|
||||
$imageFileName = $imageID . "_thumb_ricetta.png";
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$thumb_link = $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
}
|
||||
|
||||
$query = "update immagini set thumb_link = '" . $thumb_link . "', medium_link ='" . $medium_link . "', full_link = '" . $full_link ."'" .
|
||||
" where id=" . $imageID;
|
||||
|
||||
$newID = $mysqlconnetion->insertRecord($query);
|
||||
}
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
});
|
||||
+8
-1
@@ -12,8 +12,10 @@ require_once 'Slim/Slim.php';
|
||||
|
||||
$app = new \Slim\Slim();
|
||||
|
||||
date_default_timezone_set('Europe/Rome');
|
||||
|
||||
$app->hook('slim.before.router', function () use ($app, $allowedHost) {
|
||||
$currentRefererRequest = $app->request()->getReferer();
|
||||
/*$currentRefererRequest = $app->request()->getReferer();
|
||||
$currentRefererRequest = substr($currentRefererRequest, 7); //Senza http://
|
||||
$indexDoublePoint = strpos($currentRefererRequest, ':');
|
||||
$indexFirstSlash = strpos($currentRefererRequest, '/');
|
||||
@@ -21,13 +23,18 @@ $app->hook('slim.before.router', function () use ($app, $allowedHost) {
|
||||
if(!in_array($currentRefererRequest, $allowedHost))
|
||||
{
|
||||
$app->halt(500, "Generic error occurred");
|
||||
return;
|
||||
}
|
||||
|
||||
$currentHostRequest = $app->request()->getHost();
|
||||
if(!in_array($currentHostRequest, $allowedHost))
|
||||
{
|
||||
$app->halt(403, "Request arrive from host not allowed " . $currentHostRequest );
|
||||
return;
|
||||
}
|
||||
*/
|
||||
if(isset($_SERVER['HTTP_ORIGIN']))
|
||||
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
|
||||
});
|
||||
|
||||
|
||||
|
||||
+89
-3
@@ -55,6 +55,10 @@ $app->get('/ricetta/body/:itemID', function ($itemID) use ($app) {
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query2);
|
||||
|
||||
foreach ($retObj2 as $ele) {
|
||||
$ele["note"] = html_entity_decode($ele["note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"],ENT_COMPAT | ENT_HTML401,'ISO-8859-1');
|
||||
$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"],ENT_COMPAT | ENT_HTML401,'ISO-8859-1');
|
||||
$retObj[0]["ingredienti"] = $retObj2;
|
||||
@@ -98,6 +102,10 @@ $app->post('/ricetta/body', function () use ($app) {
|
||||
$mysqlconnetion->executeQuery($query);
|
||||
$queryDelete = "DELETE FROM ingredienti where ID_RICETTE = " . $json_data_body->ricettaID;
|
||||
$mysqlconnetion->executeQuery($queryDelete);
|
||||
|
||||
$queryUpdDataMod = "UPDATE ricette SET data_modifica = NOW() where ID = " . $json_data_body->ricettaID;
|
||||
$mysqlconnetion->executeQuery($queryUpdDataMod);
|
||||
|
||||
$retNewID = $json_data_body->ricettaID;
|
||||
} else {
|
||||
|
||||
@@ -113,18 +121,48 @@ $app->post('/ricetta/body', function () use ($app) {
|
||||
foreach ($json_data_body->ingredienti as $arr) {
|
||||
$note = "";
|
||||
if ($arr->note != "") {
|
||||
$note = str_replace("'", "''", htmlentities($arr->note));
|
||||
$note = str_replace("'", "''", htmlentities($arr->note, null, "UTF-8"));
|
||||
}
|
||||
|
||||
$query = "insert into ingredienti(ID_TIPO_INGREDIENTI, ID_RICETTE, Quantita, ID_TIPO_QUANTITA, Note, Posizione) values (" .
|
||||
$arr->ingrediente_id . "," . $retNewID . "," . ($arr->quantita == "" ? "0" : $arr->quantita) . "," . ($arr->tipo_quantita_id == "" ? "NULL" : $arr->tipo_quantita_id) . ",'" . $note . "'," . $pos . ")";
|
||||
$arr->ingrediente_id . "," . $retNewID . ",'" . ($arr->quantita == "" ? "0" : $arr->quantita) . "'," . ($arr->tipo_quantita_id == "" ? "NULL" : $arr->tipo_quantita_id) . ",'" . $note . "'," . $pos . ")";
|
||||
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
$pos = $pos + 1;
|
||||
}
|
||||
|
||||
$retValue["ricettaID"] = $retNewID;
|
||||
$retValue["message"] = "Ricetta inserita con successo";
|
||||
} catch (Exception $e) {
|
||||
$retValue["result"] = false;
|
||||
$retValue["message"] = $e->getMessage();
|
||||
}
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retValue);
|
||||
});
|
||||
|
||||
$app->delete('/ricetta/:itemID', function ($itemID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$retValue["result"] = true;
|
||||
$retValue["message"] = "";
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
try {
|
||||
$queryDelete = "DELETE FROM immagini where id_ricette = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($queryDelete);
|
||||
|
||||
$queryDelete = "DELETE FROM blocco_note where ricetta_id = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($queryDelete);
|
||||
|
||||
$queryDelete = "DELETE FROM ingredienti where ID_RICETTE = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($queryDelete);
|
||||
|
||||
$queryDelete = "DELETE FROM ricette where ID = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($queryDelete);
|
||||
$retValue["message"] = "Ricetta cancellata con successo";
|
||||
} catch (Exception $e) {
|
||||
$retValue["result"] = false;
|
||||
$retValue["message"] = $e->getMessage();
|
||||
}
|
||||
|
||||
@@ -153,7 +191,7 @@ $app->get('/photos/', function () use ($app) {
|
||||
$app->get('/ricetta/:itemID/photos', function ($itemID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
|
||||
$query = "SELECT id as id_photo, type_format, from_profile_id, uploaded_date, profilo.Name as profile_name, published from immagini" .
|
||||
$query = "SELECT id as id_photo, type_format, from_profile_id, uploaded_date, profilo.Name as profile_name, published, bCover from immagini" .
|
||||
" INNER JOIN profilo ON profilo.ProfiloID = immagini.from_profile_id".
|
||||
" WHERE id_ricette = " . $itemID;
|
||||
|
||||
@@ -163,3 +201,51 @@ $app->get('/ricetta/:itemID/photos', function ($itemID) use ($app) {
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/statistics/gender', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
|
||||
$query = "SELECT 'Gender' as Type, IF(Gender='', 'Sconosciuto', Gender) as Serie, COUNT(gender) as CountSerie from profilo GROUP BY gender";
|
||||
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/statistics/typeAccess', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
|
||||
$query = "SELECT 'TipoAccesso' as Type, TipoAccesso as Serie, COUNT(TipoAccesso) as CountSerie from profilo GROUP BY TipoAccesso";
|
||||
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/statistics/themesUsage', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
|
||||
$query = "SELECT 'TemaUI' as Type, TemaUI as Serie, COUNT(TemaUI) as CountSerie from profilo GROUP BY TemaUI";
|
||||
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/profiles', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
|
||||
$query = "SELECT ProfiloID as id, Name as name from profilo where name <> '' order by Name";
|
||||
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
@@ -1,53 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once "./myDropBoxObj.php";
|
||||
use PHPImageWorkshop\ImageWorkshop;
|
||||
require_once('./PHPImageWorkshop/ImageWorkshop.php'); // Be sure of the path to the class
|
||||
|
||||
date_default_timezone_set("Europe/Rome");
|
||||
|
||||
$dirRicetteDropBox = "IlLievitario/Images/Ricette";
|
||||
|
||||
$tmpFileName = "C:/Users/Denis/Desktop/Chiaravalle/Jpg/DSC_7731.jpg";
|
||||
$ext = pathinfo($tmpFileName, PATHINFO_EXTENSION);
|
||||
|
||||
$idRicette = 5;
|
||||
|
||||
$newID = 125;
|
||||
|
||||
$imageFileName = $newID . "_full_ricetta." . $ext;
|
||||
|
||||
$thumbFileName = $newID . "_thumb_ricetta." . $ext;
|
||||
|
||||
$dropBoxObj = new myDropBox();
|
||||
|
||||
$folder = $dirRicetteDropBox . "/" . $idRicette;
|
||||
/*
|
||||
echo $dropBoxObj->GetLink($folder . "/" . $imageFileName);
|
||||
|
||||
return;
|
||||
*/
|
||||
$layer = ImageWorkshop::initFromPath($tmpFileName);
|
||||
|
||||
echo $layer->getImage()->image_type;
|
||||
return;
|
||||
|
||||
$layer->resizeByLargestSideInPixel(640, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $imageFileName);
|
||||
|
||||
$imgData = addslashes(file_get_contents($tmpFileName));
|
||||
|
||||
$layer->resizeByLargestSideInPixel(300, true);
|
||||
|
||||
$layer->save(dirname($tmpFileName), $thumbFileName);
|
||||
|
||||
try {
|
||||
$dropBoxObj->CreateFolder($folder);
|
||||
} catch (DropboxException $ex) {
|
||||
|
||||
}
|
||||
|
||||
$dropBoxObj->UploadFile(dirname($tmpFileName) . "/" . $imageFileName, $folder . "/" . $imageFileName);
|
||||
|
||||
$dropBoxObj->UploadFile(dirname($tmpFileName) . "/" . $thumbFileName, $folder . "/" . $thumbFileName);
|
||||
+11
-3
@@ -23,8 +23,8 @@ class myDropBox {
|
||||
$access_token = $this->load_token("access");
|
||||
if (!empty($access_token)) {
|
||||
$this->dropbox->SetAccessToken($access_token);
|
||||
echo "loaded access token:";
|
||||
print_r($access_token);
|
||||
//echo "loaded access token:";
|
||||
//print_r($access_token);
|
||||
} elseif (!empty($_GET['auth_callback'])) { // are we coming from dropbox's auth page?
|
||||
// then load our previosly created request token
|
||||
$request_token = $this->load_token($_GET['oauth_token']);
|
||||
@@ -52,7 +52,10 @@ class myDropBox {
|
||||
}
|
||||
|
||||
public function GetLink($dropBoxPathFile) {
|
||||
return $this->dropbox->GetLink($dropBoxPathFile, false, false);
|
||||
$exp = null;
|
||||
$ret = $this->dropbox->GetLink($dropBoxPathFile, true, false, $exp);
|
||||
$ret = str_replace("https://www.dropbox.com/", "https://dl.dropboxusercontent.com/" , $ret);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public function CreateFolder($dropBoxPath) {
|
||||
@@ -60,6 +63,11 @@ class myDropBox {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function Delete($dropBoxPath) {
|
||||
$ret = $this->dropbox->Delete($dropBoxPath);
|
||||
return true;
|
||||
}
|
||||
|
||||
private function store_token($token, $name) {
|
||||
if (!file_put_contents("tokens/$name.token", serialize($token)))
|
||||
die('<br />Could not store token! <b>Make sure that the directory `tokens` exists and is writable!</b>');
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
browser.id=Chrome.INTEGRATED
|
||||
copy.src.files=false
|
||||
copy.src.on.open=false
|
||||
copy.src.target=
|
||||
hostname=localhost
|
||||
port=8888
|
||||
router=mdbTester.php
|
||||
run.as=INTERNAL
|
||||
url=http://localhost:8888/
|
||||
index.file=
|
||||
run.as=LOCAL
|
||||
url=http://localhost:8081/Service_Manut/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
include.path=${php.global.include.path}
|
||||
php.version=PHP_53
|
||||
php.version=PHP_54
|
||||
source.encoding=UTF-8
|
||||
src.dir=.
|
||||
tags.asp=false
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<type>org.netbeans.modules.php.project</type>
|
||||
<configuration>
|
||||
<data xmlns="http://www.netbeans.org/ns/php-project/1">
|
||||
<name>Service</name>
|
||||
<name>Service_Manut</name>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
||||
|
||||
+82
-11
@@ -4,6 +4,19 @@
|
||||
//include "./MySqlClass.php";
|
||||
//include "./utility.php";
|
||||
|
||||
$app->get('/profile/statusCache', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "select 0 as ID_CATEGORIA, MAX(data_creazione) as LastDateModified from categorie" .
|
||||
" UNION" .
|
||||
" select ID_CATEGORIA, MAX(Data_modifica) as LastDateModified from ricette" .
|
||||
" GROUP BY ID_CATEGORIA";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/profile/:keyStore/ricetta/:ricetta_id', function ($keyStore, $ricetta_id) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
@@ -18,10 +31,11 @@ $app->post('/profile/ricetta', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$json_data_body = json_decode($app->request()->post('dataPair'));
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "update profilo set BloccoNoteUpdated = CURRENT_TIMESTAMP WHERE ProfiloID = '" . $json_data_body->keyStore . "'";
|
||||
$retNewID = $mysqlconnetion->insertRecord($query);
|
||||
$query = "insert into blocco_note(ricetta_id, ProfiloID) values (" . $json_data_body->ricetta_id . ", '" . $json_data_body->keyStore . "')";
|
||||
$retNewID = $mysqlconnetion->insertRecord($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retNewID);
|
||||
});
|
||||
|
||||
@@ -67,28 +81,73 @@ $app->get('/profile/:keyStore/ricette', function ($keyStore) use ($app) {
|
||||
$app->get('/profile/:keyStore', function ($keyStore) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "select ProfiloID, TipoAccesso, RisultatiRicerca, TemaUI, Name, Gender, 0 as NumRicette from profilo" .
|
||||
$query = "SELECT ProfiloID,TipoAccesso,RisultatiRicerca,TemaUI,Name,Gender,0 AS NumRicette,BloccoNoteUpdated,Email,bSpacciatore,bPrivacy,Cap,Comune,Stato, Provincia,TipoPM,Note, Latitudine, Longitudine from profilo" .
|
||||
" where ProfiloID = '" . $keyStore . "'";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
$query = "update profilo set PenultimoAccesso = UltimoAccesso, UltimoAccesso = NOW() where ProfiloID = '" . $keyStore . "'";
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
if($retObj != false)
|
||||
{
|
||||
$retObj[0]["Name"] = html_entity_decode($retObj[0]["Name"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["Note"] = html_entity_decode($retObj[0]["Note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["Comune"] = html_entity_decode($retObj[0]["Comune"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["Provincia"] = html_entity_decode($retObj[0]["Provincia"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
|
||||
$query = "SELECT COUNT( * ) as NumRicette FROM ricette WHERE data_creazione > ( SELECT PenultimoAccesso FROM profilo " .
|
||||
"WHERE `ProfiloID` = '" . $keyStore . "' )";
|
||||
$query = "update profilo set PenultimoAccesso = UltimoAccesso, UltimoAccesso = NOW() where ProfiloID = '" . $keyStore . "'";
|
||||
$mysqlconnetion->insertRecord($query);
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query);
|
||||
$query = "SELECT COUNT( * ) as NumRicette FROM ricette WHERE data_creazione > ( SELECT PenultimoAccesso FROM profilo " .
|
||||
"WHERE `ProfiloID` = '" . $keyStore . "' )";
|
||||
|
||||
$retObj[0]["NumRicette"] = $retObj2[0]["NumRicette"];
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
$retObj[0]["NumRicette"] = $retObj2[0]["NumRicette"];
|
||||
}
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/profile/province(/:iniz)', function ($iniz = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$where= "";
|
||||
if($iniz!="")
|
||||
$where = "WHERE Provincia like '" . $iniz . "%' ";
|
||||
$query = "select DISTINCT Provincia from comuni " . $where . "ORDER BY Provincia";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
if($ele["Provincia"]!=null)
|
||||
$ele["Provincia"] = html_entity_decode($ele["Provincia"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/profile/comuni/:prov(/:iniz)', function ($prov ,$iniz = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$where= "";
|
||||
if($iniz!="")
|
||||
$where = "AND Comune like '" . $iniz . "%' ";
|
||||
$query = "select Comune, CAP from comuni where Provincia = '" . $prov . "' " . $where . "ORDER BY Comune";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
if($ele["Comune"]!=null)
|
||||
$ele["Comune"] = html_entity_decode($ele["Comune"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
|
||||
$app->post('/profile', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$json_data_body = json_decode($app->request()->post('dataPair'));
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "insert into profilo(ProfiloID, Name, Email, Gender, TipoAccesso, RisultatiRicerca, TemaUI, UltimoAccesso, CreatoIl) values ('" . $json_data_body->keyStore . "', '" . $json_data_body->name . "', '" . $json_data_body->email . "', '" . $json_data_body->gender . "', '" . $json_data_body->type . "', '" . $json_data_body->risRic . "', '" . $json_data_body->tema . "', NOW(), NOW())";
|
||||
$query = "insert into profilo(ProfiloID, Name, Email, Gender, TipoAccesso, RisultatiRicerca, TemaUI, UltimoAccesso, CreatoIl) values ('" .
|
||||
$json_data_body->keyStore . "', '" . str_replace("'", "''", htmlentities($json_data_body->name, null, "UTF-8")) . "', '" . $json_data_body->email . "', '" . $json_data_body->gender . "', '" . $json_data_body->type . "', '" . $json_data_body->risRic . "', '" . $json_data_body->tema . "', NOW(), NOW())";
|
||||
|
||||
$retNewID = $mysqlconnetion->insertRecord($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
@@ -100,8 +159,20 @@ $app->put('/profile', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$json_data_body = json_decode($app->request()->post('dataPair'));
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "update profilo set RisultatiRicerca = '" . $json_data_body->risRic . "', TemaUI = '" . $json_data_body->tema . "' where ProfiloID = '" . $json_data_body->keyStore . "'";
|
||||
|
||||
$query = "update profilo set RisultatiRicerca = '" . $json_data_body->risRic .
|
||||
"', TemaUI = '" . $json_data_body->tema .
|
||||
"', Email = '" . $json_data_body->email .
|
||||
"', bSpacciatore = " . $json_data_body->isSpacc .
|
||||
", bPrivacy = " . $json_data_body->privacy .
|
||||
", Cap = '" . $json_data_body->cap .
|
||||
"', Stato = '" . $json_data_body->stato .
|
||||
"', Comune = '" . htmlentities($json_data_body->comune, null, "UTF-8") .
|
||||
"', Provincia = '" . htmlentities($json_data_body->prov, null, "UTF-8") .
|
||||
"', Note = '" . htmlentities($json_data_body->note, null, "UTF-8") .
|
||||
"', TipoPM = " . $json_data_body->tipopm .
|
||||
", Latitudine = " . $json_data_body->lat .
|
||||
", Longitudine = " . $json_data_body->lng .
|
||||
" where ProfiloID = '" . $json_data_body->keyStore . "'";
|
||||
$retNewID = $mysqlconnetion->insertRecord($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
|
||||
+60
-31
@@ -33,11 +33,32 @@ $app->get('/typeqtys', function () use ($app) {
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricette/authors(/:startWith)', function ($startWith = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "select distinct autore from ricette"
|
||||
. " where 1 = 1";
|
||||
|
||||
if ($startWith != null && $startWith != "") {
|
||||
$query = $query . " AND autore like '%" . $startWith . "%'";
|
||||
}
|
||||
|
||||
$query = $query . " order by autore";
|
||||
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricette/:catID', function ($categoryID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$query = "select ID as ricetta_id, titolo, autore, valutazione, difficolta from ricette where ID_CATEGORIA = " . $categoryID . " order by titolo, autore";
|
||||
$query = "select * from (select ID as ricetta_id, titolo, autore, valutazione, difficolta, " .
|
||||
"(select id from immagini where immagini.id_ricette = ricette.id and bCover = 1) as firstImage, " .
|
||||
"(select count(id) from immagini where immagini.id_ricette = ricette.id) as countImages " .
|
||||
"from ricette where ricette.ID_CATEGORIA = " . $categoryID . " order by titolo, autore) as TMP";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
@@ -78,47 +99,46 @@ $app->get('/ricette/:categoryID/lastinserted(/:numItems)', function ($categoryID
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricette/lastinserted/:profileID', function ($profileID) use ($app) {
|
||||
$app->get('/ricette/search/:numItems/:startItem(/:categoryId(/:difficolta/:autore(/:titolo)))',
|
||||
function ($numItems = 10, $startItem = 0, $categoryId = 0, $difficolta = 0,$autore="_", $titolo = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$query = "select ID as ricetta_id, titolo, autore FROM ricette WHERE data_creazione > ( SELECT PenultimoAccesso FROM profilo " .
|
||||
"WHERE `ProfiloID` = '" . $profileID . "' ) order by Data_creazione desc, titolo, autore";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricette/search/:numItems(/:categoryId(/:difficolta(/:titolo)))',
|
||||
function ($numItems = 10, $categoryId = 0, $difficolta = 0, $titolo = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
//$filterItem = json_decode($app->request()->post('post'));
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "select ricette.ID as ricetta_id, categorie.name AS categoria_name, titolo, autore, valutazione, difficolta from ricette"
|
||||
$queryBase = " from ricette"
|
||||
. " INNER JOIN categorie ON categorie.ID = ricette.id_categoria"
|
||||
. " where 1 = 1";
|
||||
if ($categoryId > 0) {
|
||||
$query = $query . " AND ID_CATEGORIA = " . $categoryId;
|
||||
$queryBase = $queryBase . " AND ID_CATEGORIA = " . $categoryId;
|
||||
}
|
||||
if ($autore != null && $autore != "_") {
|
||||
foreach (explode(" ", htmlentities(urldecode($autore))) as $ele)
|
||||
$queryBase = $queryBase . " AND autore like '%" . urldecode($ele) . "%'";
|
||||
}
|
||||
if ($titolo != null && $titolo != "") {
|
||||
foreach (explode(" ", $titolo) as $ele)
|
||||
$query = $query . " AND titolo like '%" . $ele . "%'";
|
||||
foreach (explode(" ", htmlentities(urldecode($titolo))) as $ele)
|
||||
$queryBase = $queryBase . " AND titolo like '%" . $ele . "%'";
|
||||
}
|
||||
if ($difficolta > 0) {
|
||||
$query = $query . " AND difficolta = " . $difficolta;
|
||||
$queryBase = $queryBase . " AND difficolta = " . $difficolta;
|
||||
}
|
||||
$query = $query . " order by titolo, autore LIMIT " . $numItems;
|
||||
$queryBase = $queryBase . " order by titolo, autore";
|
||||
|
||||
$query = "select * from (select ricette.ID as ricetta_id, categorie.name AS categoria_name, titolo, autore, valutazione, difficolta, " .
|
||||
"(select id from immagini where immagini.id_ricette = ricette.id and bCover = 1) as firstImage, " .
|
||||
"(select count(id) from immagini where immagini.id_ricette = ricette.id) as countImages" .
|
||||
$queryBase . " LIMIT " . $numItems * $startItem . " , " . $numItems . ") as TMP";
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
$query = "select COUNT(*) as TotalRecords" . $queryBase;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
foreach ($retObj2 as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
$retObj["records"] = $retObj2;
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
@@ -139,6 +159,10 @@ $app->get('/ricetta/body/:itemID', function ($itemID) use ($app) {
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query2);
|
||||
|
||||
foreach ($retObj2 as $ele) {
|
||||
$ele["note"] = html_entity_decode($ele["note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["ingredienti"] = $retObj2;
|
||||
@@ -153,11 +177,16 @@ $app->get('/ricetta/header/:itemID', function ($itemID) use ($app) {
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "UPDATE ricette Set valutazione = valutazione + 1 WHERE ricette.ID = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($query);
|
||||
$query = "SELECT id_categoria, categorie.name AS categoria_name, ricette.ID AS ricetta_id, titolo, procedimento, autore, link_fonte, link_youtube, valutazione FROM ricette INNER JOIN categorie ON categorie.ID = ricette.id_categoria WHERE ricette.ID = " . $itemID;
|
||||
$query = "SELECT ID from immagini WHERE published = 1 AND ID_RICETTE = " . $itemID;
|
||||
$photos = $mysqlconnetion->queryToObject($query);
|
||||
$query = "SELECT id_categoria, categorie.name AS categoria_name, ricette.ID AS ricetta_id, " .
|
||||
"titolo, procedimento, autore, link_fonte, link_youtube, valutazione FROM ricette " .
|
||||
"INNER JOIN categorie ON categorie.ID = ricette.id_categoria WHERE ricette.ID = " . $itemID;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$data = $retObj[0]["link_youtube"];
|
||||
$retObj[0]["foto"] = $photos;
|
||||
$output = array();
|
||||
if ($data != "") {
|
||||
$d = explode(";", $data);
|
||||
@@ -183,9 +212,9 @@ $app->get('/ricetta/ingredienti/:itemID', function ($itemID) use ($app) {
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query2);
|
||||
|
||||
//$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"]);
|
||||
//$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"]);
|
||||
//$retObj[0]["ingredienti"] = $retObj2;
|
||||
foreach ($retObj2 as $ele) {
|
||||
$ele["note"] = html_entity_decode($ele["note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
|
||||
+3
-1
@@ -6,10 +6,12 @@ $app->group('/api', function () use ($app, $dirRicetteDropBox) {
|
||||
include "./ricette.php";
|
||||
include "./profile.php";
|
||||
include "./image.php";
|
||||
include "./spacciatoripm.php";
|
||||
});
|
||||
|
||||
$app->group('/backend', function () use ($app) {
|
||||
$app->group('/backend', function () use ($app, $dirRicetteDropBox) {
|
||||
include "./management.php";
|
||||
include "./image_backend.php";
|
||||
});
|
||||
//include "./image.php";
|
||||
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
$app->get('/spacciatori/kml', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "SELECT ProfiloID, Name, Email, CONCAT(Comune, ', ', Cap, ' - ', Provincia) as Indirizzo, Latitudine, Longitudine, TipoPM FROM `profilo` where bSpacciatore = 1";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
// Creates the Document.
|
||||
$dom = new DOMDocument('1.0', 'UTF-8');
|
||||
|
||||
// Creates the root KML element and appends it to the root document.
|
||||
$node = $dom->createElementNS('http://earth.google.com/kml/2.1', 'kml');
|
||||
$parNode = $dom->appendChild($node);
|
||||
|
||||
// Creates a KML Document element and append it to the KML element.
|
||||
$dnode = $dom->createElement('Document');
|
||||
$docNode = $parNode->appendChild($dnode);
|
||||
|
||||
// Creates the two Style elements, one for restaurant and one for bar, and append the elements to the Document element.
|
||||
$restStyleNode = $dom->createElement('Style');
|
||||
$restStyleNode->setAttribute('id', '1');
|
||||
$restIconstyleNode = $dom->createElement('IconStyle');
|
||||
$restIconstyleNode->setAttribute('id', 'restaurantIcon');
|
||||
$restIconNode = $dom->createElement('Icon');
|
||||
$restHref = $dom->createElement('href', 'http://maps.google.com/mapfiles/kml/pal2/icon63.png');
|
||||
$restIconNode->appendChild($restHref);
|
||||
$restIconstyleNode->appendChild($restIconNode);
|
||||
$restStyleNode->appendChild($restIconstyleNode);
|
||||
$docNode->appendChild($restStyleNode);
|
||||
|
||||
$barStyleNode = $dom->createElement('Style');
|
||||
$barStyleNode->setAttribute('id', '2');
|
||||
$barIconstyleNode = $dom->createElement('IconStyle');
|
||||
$barIconstyleNode->setAttribute('id', 'barIcon');
|
||||
$barIconNode = $dom->createElement('Icon');
|
||||
$barHref = $dom->createElement('href', 'http://maps.google.com/mapfiles/kml/pal2/icon27.png');
|
||||
$barIconNode->appendChild($barHref);
|
||||
$barIconstyleNode->appendChild($barIconNode);
|
||||
$barStyleNode->appendChild($barIconstyleNode);
|
||||
$docNode->appendChild($barStyleNode);
|
||||
|
||||
// Iterates through the MySQL results, creating one Placemark for each row.
|
||||
foreach ($retObj as $row)
|
||||
{
|
||||
// Creates a Placemark and append it to the Document.
|
||||
|
||||
$node = $dom->createElement('Placemark');
|
||||
$placeNode = $docNode->appendChild($node);
|
||||
|
||||
// Creates an id attribute and assign it the value of id column.
|
||||
$placeNode->setAttribute('id', 'placemark_' . $row['ProfiloID']);
|
||||
|
||||
// Create name, and description elements and assigns them the values of the name and address columns from the results.
|
||||
$nameNode = $dom->createElement('name',htmlentities($row['Name']));
|
||||
$placeNode->appendChild($nameNode);
|
||||
$descNode = $dom->createElement('description', $row['Indirizzo'] . '<br>Contatta: ' . $row['Email']);
|
||||
$placeNode->appendChild($descNode);
|
||||
$styleUrl = $dom->createElement('styleUrl', '#' . $row['TipoPM']);
|
||||
$placeNode->appendChild($styleUrl);
|
||||
|
||||
// Creates a Point element.
|
||||
$pointNode = $dom->createElement('Point');
|
||||
$placeNode->appendChild($pointNode);
|
||||
|
||||
// Creates a coordinates element and gives it the value of the lng and lat columns from the results.
|
||||
$coorStr = $row['Longitudine'] . ',' . $row['Latitudine'];
|
||||
$coorNode = $dom->createElement('coordinates', $coorStr);
|
||||
$pointNode->appendChild($coorNode);
|
||||
}
|
||||
|
||||
$kmlOutput = $dom->saveXML();
|
||||
header('Content-type: application/vnd.google-earth.kml+xml');
|
||||
echo $kmlOutput;
|
||||
});
|
||||
|
||||
$app->get('/spacciatori/bound/:FromLat/:FromLng/:ToLat/:ToLng', function ($FromLat, $FromLng, $ToLat, $ToLng) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "SELECT ProfiloID as ID, Name, Email, Comune, Cap, Provincia, Note, \"\" as Indirizzo, Latitudine, Longitudine, TipoPM FROM profilo " .
|
||||
"where bSpacciatore = 1 AND ";
|
||||
if($ToLat < $FromLat)
|
||||
$query = $query . "Latitudine BETWEEN " . $ToLat . " AND " . $FromLat . " AND ";
|
||||
else
|
||||
$query = $query . "Latitudine BETWEEN " . $FromLat . " AND " . $ToLat . " AND ";
|
||||
|
||||
if($ToLng < $FromLng)
|
||||
$query = $query . "Longitudine BETWEEN " . $ToLng . " AND " . $FromLng;
|
||||
else
|
||||
$query = $query . "Longitudine BETWEEN " . $FromLng . " AND " . $ToLng;
|
||||
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
if($ele["Name"]!=null)
|
||||
$ele["Name"] = html_entity_decode($ele["Name"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
if($ele["Note"]!=null)
|
||||
$ele["Note"] = html_entity_decode($ele["Note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
if($ele["Comune"]!=null)
|
||||
$ele["Comune"] = html_entity_decode($ele["Comune"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
if($ele["Provincia"]!=null)
|
||||
$ele["Provincia"] = html_entity_decode($ele["Provincia"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
|
||||
$ele["Indirizzo"] = $ele["Comune"] . ", " . $ele["Cap"] . ", " . $ele["Provincia"];
|
||||
}
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
@@ -0,0 +1,178 @@
|
||||
<?php
|
||||
|
||||
// inclusione del file contenente la classe
|
||||
require_once "./include.php";
|
||||
|
||||
$app->get('/categories', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject("select ID as category_id, NAME as name from categorie order by name");
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/typeingredients', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject("select ID as tipo_ingredienti_id, name from tipo_ingredienti order by name");
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/typeqtys', function () use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject("select ID as tipo_quantita_id, name from tipo_quantita");
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/categoryitems/:catID', function ($categoryID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$query = "select ID as ricetta_id, titolo, autore, valutazione, difficolta from ricette where ID_CATEGORIA = " . $categoryID . " order by titolo, autore";
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/categoryitems/:categoryID/mostvote(/:numItems)', function ($categoryID, $numItems = 10) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$query = "select ID as ricetta_id, titolo, autore from ricette where ID_CATEGORIA = " . $categoryID . " order by Valutazione desc, titolo, autore LIMIT " . $numItems;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/categoryitems/:categoryID/lastinserted(/:numItems)', function ($categoryID, $numItems = 10) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconnetion->connetti();
|
||||
$query = "select ID as ricetta_id, titolo, autore from ricette where ID_CATEGORIA = " . $categoryID . " order by Data_creazione desc, titolo, autore LIMIT " . $numItems;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/categoryitems/search/:numItems(/:categoryId(/:difficolta(/:titolo)))',
|
||||
function ($numItems = 10, $categoryId = 0, $difficolta = 0, $titolo = "") use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
//$filterItem = json_decode($app->request()->post('post'));
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "select ricette.ID as ricetta_id, categorie.name AS categoria_name, titolo, autore, valutazione, difficolta from ricette"
|
||||
. " INNER JOIN categorie ON categorie.ID = ricette.id_categoria"
|
||||
. " where 1 = 1";
|
||||
if ($categoryId > 0) {
|
||||
$query = $query . " AND ID_CATEGORIA = " . $categoryId;
|
||||
}
|
||||
if ($titolo != null && $titolo != "") {
|
||||
foreach (explode(" ", htmlentities(urldecode($titolo))) as $ele)
|
||||
$query = $query . " AND titolo like '%" . $ele . "%'";
|
||||
}
|
||||
if ($difficolta > 0) {
|
||||
$query = $query . " AND difficolta = " . $difficolta;
|
||||
}
|
||||
$query = $query . " order by titolo, autore LIMIT " . $numItems;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
foreach ($retObj as $ele) {
|
||||
$ele["titolo"] = html_entity_decode($ele["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
}
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricetta/body/:itemID', function ($itemID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
|
||||
$query = "UPDATE ricette Set valutazione = valutazione + 1 WHERE ricette.ID = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($query);
|
||||
|
||||
$query = "SELECT id_categoria, categorie.name AS categoria_name, ricette.ID AS ricetta_id, titolo, procedimento, autore, link_fonte, link_youtube, valutazione FROM ricette INNER JOIN categorie ON categorie.ID = ricette.id_categoria WHERE ricette.ID = " . $itemID;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
$query2 = "select ingredienti.id_tipo_ingredienti, tipo_ingredienti.name as nome_ingrediente, quantita, ingredienti.id_tipo_quantita, tipo_quantita.Name as unita, note, posizione from ingredienti " .
|
||||
"inner join tipo_ingredienti on ingredienti.ID_TIPO_INGREDIENTI = tipo_ingredienti.ID " .
|
||||
"left outer join tipo_quantita on ingredienti.ID_TIPO_QUANTITA = tipo_quantita.ID " .
|
||||
"where ingredienti.ID_RICETTE = " . $itemID . " order by ingredienti.posizione";
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query2);
|
||||
|
||||
$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["ingredienti"] = $retObj2;
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricetta/header/:itemID', function ($itemID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query = "UPDATE ricette Set valutazione = valutazione + 1 WHERE ricette.ID = " . $itemID;
|
||||
$mysqlconnetion->executeQuery($query);
|
||||
$query = "SELECT id_categoria, categorie.name AS categoria_name, ricette.ID AS ricetta_id, titolo, procedimento, autore, link_fonte, link_youtube, valutazione FROM ricette INNER JOIN categorie ON categorie.ID = ricette.id_categoria WHERE ricette.ID = " . $itemID;
|
||||
$retObj = $mysqlconnetion->queryToObject($query);
|
||||
$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
|
||||
$data = $retObj[0]["link_youtube"];
|
||||
$output = array();
|
||||
if ($data != "") {
|
||||
$d = explode(";", $data);
|
||||
$index = 0;
|
||||
foreach ($d as $ele) {
|
||||
$obj["VideoID"] = $ele;
|
||||
$output[$index] = $obj;
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
$retObj[0]["link_youtube"] = $output;
|
||||
$mysqlconnetion->disconnetti();
|
||||
returnJson($app, $callbackFn, $retObj);
|
||||
});
|
||||
|
||||
$app->get('/ricetta/ingredienti/:itemID', function ($itemID) use ($app) {
|
||||
$callbackFn = $app->request()->get('callback');
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
$query2 = "select ingredienti.id_tipo_ingredienti, tipo_ingredienti.name as nome_ingrediente, quantita, ingredienti.id_tipo_quantita, tipo_quantita.Name as unita, note, posizione from ingredienti " .
|
||||
"inner join tipo_ingredienti on ingredienti.ID_TIPO_INGREDIENTI = tipo_ingredienti.ID " .
|
||||
"left outer join tipo_quantita on ingredienti.ID_TIPO_QUANTITA = tipo_quantita.ID " .
|
||||
"where ingredienti.ID_RICETTE = " . $itemID . " order by ingredienti.posizione";
|
||||
|
||||
$retObj2 = $mysqlconnetion->queryToObject($query2);
|
||||
|
||||
//$retObj[0]["titolo"] = html_entity_decode($retObj[0]["titolo"]);
|
||||
//$retObj[0]["procedimento"] = html_entity_decode($retObj[0]["procedimento"]);
|
||||
//$retObj[0]["ingredienti"] = $retObj2;
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
|
||||
returnJson($app, $callbackFn, $retObj2);
|
||||
});
|
||||
?>
|
||||
@@ -0,0 +1 @@
|
||||
a:2:{s:1:"t";s:16:"s1ti76srenx4b7aj";s:1:"s";s:15:"qshrdehad4dzz6n";}
|
||||
+35
@@ -84,4 +84,39 @@ function getContentFromResources($res) {
|
||||
return $contents;
|
||||
}
|
||||
|
||||
function resizeImage($dropBoxObj, $layer, $size, $dir, $fileName, $dirDropBox)
|
||||
{
|
||||
$fullPath = $dir . "/" . $fileName;
|
||||
$layer->resizeByLargestSideInPixel($size, true);
|
||||
$layer->save($dir, $fileName);
|
||||
|
||||
try {
|
||||
$dropBoxObj->CreateFolder($dirDropBox);
|
||||
} catch (DropboxException $ex) {
|
||||
}
|
||||
|
||||
$dropBoxObj->UploadFile($fullPath, $dirDropBox . "/" . $fileName);
|
||||
|
||||
return $dropBoxObj->GetLink($dirDropBox . "/" . $fileName);
|
||||
}
|
||||
|
||||
function makeThumbImage($dropBoxObj, $layer, $size, $dir, $fileName, $dirDropBox)
|
||||
{
|
||||
$fileName = str_replace(".jpg", ".png", $fileName);
|
||||
$fileName = str_replace(".jpeg", ".png", $fileName);
|
||||
$fullPath = $dir . "/" . $fileName;
|
||||
$layer->resizeInPixel($size, $size, true, 0, 0, 'MM');
|
||||
$layer->save($dir, $fileName);
|
||||
|
||||
try {
|
||||
$dropBoxObj->CreateFolder($dirDropBox);
|
||||
} catch (DropboxException $ex) {
|
||||
}
|
||||
|
||||
$dropBoxObj->UploadFile($fullPath, $dirDropBox . "/" . $fileName);
|
||||
return $dropBoxObj->GetLink($dirDropBox . "/" . $fileName);
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user