@@ -5,7 +5,7 @@ |
||
| 5 | 5 | 'displayErrorDetails' => true, |
| 6 | 6 | 'app' => [ |
| 7 | 7 | 'log_timer' => true, |
| 8 | - 'debug'=>true , |
|
| 8 | + 'debug'=>true, |
|
| 9 | 9 | 'image' => [ |
| 10 | 10 | 'dir' => __APP_ROOT__ . 'public/uploads' |
| 11 | 11 | ], |
@@ -10,7 +10,7 @@ discard block |
||
| 10 | 10 | 'm' => [400,250,70], |
| 11 | 11 | 'l' => [800,600,80], |
| 12 | 12 | 'thumb' => [250, 250,80,true], |
| 13 | - ], |
|
| 13 | + ], |
|
| 14 | 14 | ], |
| 15 | 15 | 'category_photo' => [ |
| 16 | 16 | 'dimensions' => [ |
@@ -18,7 +18,7 @@ discard block |
||
| 18 | 18 | 'l' => [800,600,80], |
| 19 | 19 | 'thumb' => [250, 250,80,true], |
| 20 | 20 | 's' => [150, 80,80], |
| 21 | - ], |
|
| 21 | + ], |
|
| 22 | 22 | ], |
| 23 | 23 | 'minquality' => 200 // kamtar az in width va height nemigirim |
| 24 | 24 | ] |
@@ -7,17 +7,17 @@ |
||
| 7 | 7 | 'quality' => 100, |
| 8 | 8 | 'user_photo' => [ |
| 9 | 9 | 'dimensions' => [ |
| 10 | - 'm' => [400,250,70], |
|
| 11 | - 'l' => [800,600,80], |
|
| 12 | - 'thumb' => [250, 250,80,true], |
|
| 10 | + 'm' => [400, 250, 70], |
|
| 11 | + 'l' => [800, 600, 80], |
|
| 12 | + 'thumb' => [250, 250, 80, true], |
|
| 13 | 13 | ], |
| 14 | 14 | ], |
| 15 | 15 | 'category_photo' => [ |
| 16 | 16 | 'dimensions' => [ |
| 17 | - 'm' => [400,250,70], |
|
| 18 | - 'l' => [800,600,80], |
|
| 19 | - 'thumb' => [250, 250,80,true], |
|
| 20 | - 's' => [150, 80,80], |
|
| 17 | + 'm' => [400, 250, 70], |
|
| 18 | + 'l' => [800, 600, 80], |
|
| 19 | + 'thumb' => [250, 250, 80, true], |
|
| 20 | + 's' => [150, 80, 80], |
|
| 21 | 21 | ], |
| 22 | 22 | ], |
| 23 | 23 | 'minquality' => 200 // kamtar az in width va height nemigirim |
@@ -5,43 +5,43 @@ |
||
| 5 | 5 | $dir = scandir($path); |
| 6 | 6 | $ex_folders = array('..', '.'); |
| 7 | 7 | |
| 8 | - return array_diff($dir,$ex_folders); |
|
| 8 | + return array_diff($dir, $ex_folders); |
|
| 9 | 9 | } |
| 10 | 10 | |
| 11 | 11 | |
| 12 | 12 | /*folder*/ |
| 13 | -function getImageDirName($photoid, $type = 'user_photo' ,$collectionNum =1000) |
|
| 13 | +function getImageDirName($photoid, $type = 'user_photo', $collectionNum = 1000) |
|
| 14 | 14 | { |
| 15 | 15 | $folderName = null; |
| 16 | 16 | switch ($type) { |
| 17 | 17 | case 'user_photo': |
| 18 | 18 | $folderName = (int) ($photoid / $collectionNum); |
| 19 | 19 | $folderName++; |
| 20 | - $dir = 'user_photo/'.$folderName.'/'; |
|
| 20 | + $dir = 'user_photo/' . $folderName . '/'; |
|
| 21 | 21 | break; |
| 22 | 22 | } |
| 23 | 23 | |
| 24 | 24 | if ($folderName) { |
| 25 | 25 | $folderName = $dir; |
| 26 | - }else{ |
|
| 26 | + }else { |
|
| 27 | 27 | $folderName = (int) ($photoid / $collectionNum); |
| 28 | 28 | $folderName++; |
| 29 | - $folderName = $type.'/'.$folderName.'/'; |
|
| 29 | + $folderName = $type . '/' . $folderName . '/'; |
|
| 30 | 30 | } |
| 31 | 31 | |
| 32 | 32 | return $folderName; |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | -function getImageFileName($photoid,$fileType='l',$type='user_photo') |
|
| 35 | +function getImageFileName($photoid, $fileType = 'l', $type = 'user_photo') |
|
| 36 | 36 | { |
| 37 | 37 | $fileName = null; |
| 38 | 38 | |
| 39 | 39 | switch ($type) { |
| 40 | 40 | case 'user_photo': |
| 41 | - $fileName = 'user'.(int)$photoid.'-'.$fileType; |
|
| 41 | + $fileName = 'user' . (int) $photoid . '-' . $fileType; |
|
| 42 | 42 | break; |
| 43 | 43 | case 'category_photo': |
| 44 | - $fileName = 'category'.(int)$photoid.'-'.$fileType; |
|
| 44 | + $fileName = 'category' . (int) $photoid . '-' . $fileType; |
|
| 45 | 45 | break; |
| 46 | 46 | } |
| 47 | 47 | |
@@ -23,7 +23,7 @@ |
||
| 23 | 23 | |
| 24 | 24 | if ($folderName) { |
| 25 | 25 | $folderName = $dir; |
| 26 | - }else{ |
|
| 26 | + } else{ |
|
| 27 | 27 | $folderName = (int) ($photoid / $collectionNum); |
| 28 | 28 | $folderName++; |
| 29 | 29 | $folderName = $type.'/'.$folderName.'/'; |
@@ -7,70 +7,70 @@ |
||
| 7 | 7 | class ImageService extends _Service |
| 8 | 8 | { |
| 9 | 9 | |
| 10 | - public function cropResize($src,$destUrl, $width, $height, $quality = 80,$fileExt = 'jpg') |
|
| 10 | + public function cropResize($src, $destUrl, $width, $height, $quality = 80, $fileExt = 'jpg') |
|
| 11 | 11 | { |
| 12 | 12 | $image = GImage::open($src); |
| 13 | 13 | $image->cropResize($width, $height); |
| 14 | - $destUrl = $destUrl.'.'.$fileExt; |
|
| 15 | - $image->save($destUrl, $fileExt = 'jpg', $quality ); |
|
| 14 | + $destUrl = $destUrl . '.' . $fileExt; |
|
| 15 | + $image->save($destUrl, $fileExt = 'jpg', $quality); |
|
| 16 | 16 | |
| 17 | 17 | |
| 18 | 18 | return $image; |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | - public function scaleResize($src,$destUrl, $width, $height, $quality = 80,$fileExt = 'jpg') |
|
| 21 | + public function scaleResize($src, $destUrl, $width, $height, $quality = 80, $fileExt = 'jpg') |
|
| 22 | 22 | { |
| 23 | 23 | $image = GImage::open($src); |
| 24 | 24 | $image->scaleResize($width, $height); |
| 25 | - $destUrl = $destUrl.'.'.$fileExt; |
|
| 26 | - $image->save($destUrl, $fileExt = 'jpg', $quality ); |
|
| 25 | + $destUrl = $destUrl . '.' . $fileExt; |
|
| 26 | + $image->save($destUrl, $fileExt = 'jpg', $quality); |
|
| 27 | 27 | |
| 28 | 28 | |
| 29 | 29 | return $image; |
| 30 | 30 | } |
| 31 | 31 | |
| 32 | - public function resize($src,$destUrl, $width, $height, $quality = 80,$fileExt = 'jpg') |
|
| 32 | + public function resize($src, $destUrl, $width, $height, $quality = 80, $fileExt = 'jpg') |
|
| 33 | 33 | { |
| 34 | 34 | $image = GImage::open($src); |
| 35 | 35 | $image->resize($width, $height); |
| 36 | - $destUrl = $destUrl.'.'.$fileExt; |
|
| 37 | - $image->save($destUrl, $fileExt = 'jpg', $quality ); |
|
| 36 | + $destUrl = $destUrl . '.' . $fileExt; |
|
| 37 | + $image->save($destUrl, $fileExt = 'jpg', $quality); |
|
| 38 | 38 | |
| 39 | 39 | |
| 40 | 40 | return $image; |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | - public function zoomCrop($src,$destUrl, $width, $height, $quality = 80,$fileExt = 'jpg') |
|
| 43 | + public function zoomCrop($src, $destUrl, $width, $height, $quality = 80, $fileExt = 'jpg') |
|
| 44 | 44 | { |
| 45 | 45 | |
| 46 | 46 | |
| 47 | 47 | $image = GImage::open($src); |
| 48 | 48 | $image->zoomCrop($width, $height); |
| 49 | - $destUrl = $destUrl.'.'.$fileExt; |
|
| 50 | - $image->save($destUrl, $fileExt = 'jpg', $quality ); |
|
| 49 | + $destUrl = $destUrl . '.' . $fileExt; |
|
| 50 | + $image->save($destUrl, $fileExt = 'jpg', $quality); |
|
| 51 | 51 | return $image; |
| 52 | 52 | } |
| 53 | 53 | |
| 54 | - public function createPhotos($src,$photoid,$type='user_photo', $dimensions = false) |
|
| 54 | + public function createPhotos($src, $photoid, $type = 'user_photo', $dimensions = false) |
|
| 55 | 55 | { |
| 56 | 56 | |
| 57 | 57 | // Get default dimensions |
| 58 | - $dest = realpath('.'.$GLOBALS['settings']['image']['upload_path']); |
|
| 58 | + $dest = realpath('.' . $GLOBALS['settings']['image']['upload_path']); |
|
| 59 | 59 | $defaultDimensions = $dimensions ? $dimensions : $GLOBALS['settings']['image'][$type]['dimensions']; |
| 60 | 60 | foreach ($defaultDimensions as $keys=>$dimension) |
| 61 | 61 | { |
| 62 | - if(!isset($dimension[2])) $dimension[2] = 100; // quality |
|
| 63 | - if(!isset($dimension[4])) $dimension[4] = 'jpg'; // quality |
|
| 62 | + if (!isset($dimension[2])) $dimension[2] = 100; // quality |
|
| 63 | + if (!isset($dimension[4])) $dimension[4] = 'jpg'; // quality |
|
| 64 | 64 | |
| 65 | - $destUrl = $dest.'/'.getImageDirName($photoid,$type).getImageFileName($photoid,$keys,$type); |
|
| 66 | - if(isset($dimension[3]) && $dimension[3] == true){ |
|
| 67 | - $image = $this->zoomCrop($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
|
| 65 | + $destUrl = $dest . '/' . getImageDirName($photoid, $type) . getImageFileName($photoid, $keys, $type); |
|
| 66 | + if (isset($dimension[3]) && $dimension[3] == true) { |
|
| 67 | + $image = $this->zoomCrop($src, trim($destUrl), $dimension[0], $dimension[1], $dimension[2], $dimension[4]); |
|
| 68 | 68 | }else { |
| 69 | - $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
|
| 69 | + $image = $this->cropResize($src, trim($destUrl), $dimension[0], $dimension[1], $dimension[2], $dimension[4]); |
|
| 70 | 70 | } |
| 71 | 71 | // $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
| 72 | 72 | |
| 73 | - if($image ){ |
|
| 73 | + if ($image) { |
|
| 74 | 74 | $cropedArr[$keys] = $src; |
| 75 | 75 | } |
| 76 | 76 | } |
@@ -59,13 +59,19 @@ |
||
| 59 | 59 | $defaultDimensions = $dimensions ? $dimensions : $GLOBALS['settings']['image'][$type]['dimensions']; |
| 60 | 60 | foreach ($defaultDimensions as $keys=>$dimension) |
| 61 | 61 | { |
| 62 | - if(!isset($dimension[2])) $dimension[2] = 100; // quality |
|
| 63 | - if(!isset($dimension[4])) $dimension[4] = 'jpg'; // quality |
|
| 62 | + if(!isset($dimension[2])) { |
|
| 63 | + $dimension[2] = 100; |
|
| 64 | + } |
|
| 65 | + // quality |
|
| 66 | + if(!isset($dimension[4])) { |
|
| 67 | + $dimension[4] = 'jpg'; |
|
| 68 | + } |
|
| 69 | + // quality |
|
| 64 | 70 | |
| 65 | 71 | $destUrl = $dest.'/'.getImageDirName($photoid,$type).getImageFileName($photoid,$keys,$type); |
| 66 | 72 | if(isset($dimension[3]) && $dimension[3] == true){ |
| 67 | 73 | $image = $this->zoomCrop($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
| 68 | - }else { |
|
| 74 | + } else { |
|
| 69 | 75 | $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
| 70 | 76 | } |
| 71 | 77 | // $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]); |
@@ -5,7 +5,7 @@ discard block |
||
| 5 | 5 | $container = $app->getContainer(); |
| 6 | 6 | |
| 7 | 7 | /* database connection */ |
| 8 | -$container['db'] = function ($container) { |
|
| 8 | +$container['db'] = function($container) { |
|
| 9 | 9 | $db = $container['settings']['databases']['db']; |
| 10 | 10 | $pdo = new PDO("mysql:host=" . $db['host'] . ";dbname=" . $db['database'], |
| 11 | 11 | $db['username'], $db['password']); |
@@ -24,7 +24,7 @@ discard block |
||
| 24 | 24 | |
| 25 | 25 | // $container is application's DIC container. |
| 26 | 26 | // Setup Paginator resolvers |
| 27 | -Illuminate\Pagination\Paginator::currentPageResolver(function ($pageName = 'page') use ($container) { |
|
| 27 | +Illuminate\Pagination\Paginator::currentPageResolver(function($pageName = 'page') use ($container) { |
|
| 28 | 28 | |
| 29 | 29 | $page = $container->request->getParam($pageName); |
| 30 | 30 | if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) { |
@@ -66,7 +66,7 @@ discard block |
||
| 66 | 66 | // |
| 67 | 67 | |
| 68 | 68 | |
| 69 | -$container['generalErrorHandler'] = function ($container) { |
|
| 69 | +$container['generalErrorHandler'] = function($container) { |
|
| 70 | 70 | return new \Core\Handlers\GeneralErrorHandler($container); |
| 71 | 71 | }; |
| 72 | 72 | |
@@ -79,12 +79,12 @@ discard block |
||
| 79 | 79 | // }; |
| 80 | 80 | |
| 81 | 81 | // Service factory for the ORM |
| 82 | -$container['validator'] = function () { |
|
| 82 | +$container['validator'] = function() { |
|
| 83 | 83 | return new App\Validation\Validator(); |
| 84 | 84 | }; |
| 85 | 85 | |
| 86 | 86 | |
| 87 | -$container['eloquent'] = function ($container) { |
|
| 87 | +$container['eloquent'] = function($container) { |
|
| 88 | 88 | $db = $container['settings']['databases']['db']; |
| 89 | 89 | |
| 90 | 90 | $capsule = new \Illuminate\Database\Capsule\Manager; |
@@ -103,7 +103,7 @@ discard block |
||
| 103 | 103 | $capsule->bootEloquent(); |
| 104 | 104 | |
| 105 | 105 | // monolog |
| 106 | -$container['logger'] = function ($container) { |
|
| 106 | +$container['logger'] = function($container) { |
|
| 107 | 107 | $settings = $container->get('settings')['app']['logger']; |
| 108 | 108 | $logger = new Monolog\Logger($settings['name']); |
| 109 | 109 | $logger->pushProcessor(new Monolog\Processor\UidProcessor()); |
@@ -112,8 +112,8 @@ discard block |
||
| 112 | 112 | }; |
| 113 | 113 | |
| 114 | 114 | // not found handler |
| 115 | -$container['notFoundHandler'] = function ($container) { |
|
| 116 | - return function (\Slim\Http\Request $request, \Slim\Http\Response $response) use ($container) { |
|
| 115 | +$container['notFoundHandler'] = function($container) { |
|
| 116 | + return function(\Slim\Http\Request $request, \Slim\Http\Response $response) use ($container) { |
|
| 117 | 117 | return $container['view']->render($response->withStatus(404), '404'); |
| 118 | 118 | }; |
| 119 | 119 | }; |
@@ -123,22 +123,22 @@ discard block |
||
| 123 | 123 | $translator = new \Core\Translator\Translator($container); |
| 124 | 124 | $translator->init(); |
| 125 | 125 | |
| 126 | -$container['translator'] = function () use ($translator) { |
|
| 126 | +$container['translator'] = function() use ($translator) { |
|
| 127 | 127 | return $translator; |
| 128 | 128 | }; |
| 129 | 129 | |
| 130 | 130 | |
| 131 | 131 | // Register provider |
| 132 | -$container['flash'] = function () { |
|
| 132 | +$container['flash'] = function() { |
|
| 133 | 133 | return new \Slim\Flash\Messages(); |
| 134 | 134 | }; |
| 135 | 135 | |
| 136 | 136 | |
| 137 | 137 | // |
| 138 | -$container['session'] = function ($container) { |
|
| 138 | +$container['session'] = function($container) { |
|
| 139 | 139 | $setting_session_driver = $container['settings']['session']['driver'] ?? 'session'; |
| 140 | 140 | $sessionOBJ = new \Core\Services\Session(); |
| 141 | - $session = $sessionOBJ->init($setting_session_driver) ; |
|
| 141 | + $session = $sessionOBJ->init($setting_session_driver); |
|
| 142 | 142 | return $session; |
| 143 | 143 | }; |
| 144 | 144 | |
@@ -149,17 +149,17 @@ discard block |
||
| 149 | 149 | |
| 150 | 150 | |
| 151 | 151 | // Register Blade View helper |
| 152 | -$container['view'] = function ($container) { |
|
| 152 | +$container['view'] = function($container) { |
|
| 153 | 153 | $messages = $container->flash->getMessages(); |
| 154 | 154 | |
| 155 | - if(!is_dir('../app/View/cache')){ |
|
| 155 | + if (!is_dir('../app/View/cache')) { |
|
| 156 | 156 | @mkdir('../app/View/cache'); |
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | |
| 160 | 160 | $viewSettings = $container['settings']['view']; |
| 161 | 161 | return new \Slim\Views\Blade( |
| 162 | - [$viewSettings['blade_template_path'].$viewSettings['template']], |
|
| 162 | + [$viewSettings['blade_template_path'] . $viewSettings['template']], |
|
| 163 | 163 | $viewSettings['blade_cache_path'], |
| 164 | 164 | null, |
| 165 | 165 | [ |
@@ -171,11 +171,11 @@ discard block |
||
| 171 | 171 | }; |
| 172 | 172 | |
| 173 | 173 | // Register Blade View helper |
| 174 | -$container['json'] = function ($container) { |
|
| 174 | +$container['json'] = function($container) { |
|
| 175 | 175 | return new \Core\Handlers\JsonHandler(); |
| 176 | 176 | }; |
| 177 | 177 | |
| 178 | -$app->getContainer()['view']->getRenderer()->getCompiler()->directive('helloWorld', function(){ |
|
| 178 | +$app->getContainer()['view']->getRenderer()->getCompiler()->directive('helloWorld', function() { |
|
| 179 | 179 | |
| 180 | 180 | return "<?php echo 'Hello Directive'; ?>"; |
| 181 | 181 | }); |
@@ -183,38 +183,38 @@ discard block |
||
| 183 | 183 | |
| 184 | 184 | |
| 185 | 185 | /*Dynamic containers in services*/ |
| 186 | -$dir = scandir(__APP_ROOT__.'/core/Services/'); |
|
| 186 | +$dir = scandir(__APP_ROOT__ . '/core/Services/'); |
|
| 187 | 187 | $ex_folders = array('..', '.'); |
| 188 | -$filesInServices = array_diff($dir,$ex_folders); |
|
| 188 | +$filesInServices = array_diff($dir, $ex_folders); |
|
| 189 | 189 | |
| 190 | -foreach($filesInServices as $service){ |
|
| 191 | - $content = preg_replace('/.php/','',$service); |
|
| 192 | - $container[$content] = function () use ($content){ |
|
| 193 | - $class = '\\Core\\Services\\'.$content ; |
|
| 190 | +foreach ($filesInServices as $service) { |
|
| 191 | + $content = preg_replace('/.php/', '', $service); |
|
| 192 | + $container[$content] = function() use ($content){ |
|
| 193 | + $class = '\\Core\\Services\\' . $content; |
|
| 194 | 194 | return new $class(); |
| 195 | 195 | }; |
| 196 | 196 | } |
| 197 | 197 | |
| 198 | 198 | |
| 199 | 199 | // data access container |
| 200 | -$array = getDirFiles(__APP_ROOT__.'/app/DataAccess/'); |
|
| 201 | -foreach($array as $key=>$item){ |
|
| 202 | - $classDataAccessFolder[$item] = getDirFiles(__APP_ROOT__.'/app/DataAccess/'.$item); |
|
| 200 | +$array = getDirFiles(__APP_ROOT__ . '/app/DataAccess/'); |
|
| 201 | +foreach ($array as $key=>$item) { |
|
| 202 | + $classDataAccessFolder[$item] = getDirFiles(__APP_ROOT__ . '/app/DataAccess/' . $item); |
|
| 203 | 203 | |
| 204 | 204 | } |
| 205 | 205 | $result = array(); |
| 206 | -foreach($classDataAccessFolder as $DaFolder=>$DAFile) |
|
| 206 | +foreach ($classDataAccessFolder as $DaFolder=>$DAFile) |
|
| 207 | 207 | { |
| 208 | - foreach($DAFile as $r){ |
|
| 209 | - $dataAccessFiles[$r] = $DaFolder.'\\'.$r; |
|
| 208 | + foreach ($DAFile as $r) { |
|
| 209 | + $dataAccessFiles[$r] = $DaFolder . '\\' . $r; |
|
| 210 | 210 | } |
| 211 | 211 | } |
| 212 | 212 | |
| 213 | -foreach($dataAccessFiles as $key=>$dataAccessFile){ |
|
| 214 | - $contentDataAccess = preg_replace('/.php/','',$dataAccessFile); |
|
| 215 | - $containerDataAccess = preg_replace('/.php/','',$key); |
|
| 216 | - $container[$containerDataAccess] = function ($container) use ($contentDataAccess){ |
|
| 217 | - $classDataAccess = '\\App\\DataAccess\\'.$contentDataAccess ; |
|
| 213 | +foreach ($dataAccessFiles as $key=>$dataAccessFile) { |
|
| 214 | + $contentDataAccess = preg_replace('/.php/', '', $dataAccessFile); |
|
| 215 | + $containerDataAccess = preg_replace('/.php/', '', $key); |
|
| 216 | + $container[$containerDataAccess] = function($container) use ($contentDataAccess){ |
|
| 217 | + $classDataAccess = '\\App\\DataAccess\\' . $contentDataAccess; |
|
| 218 | 218 | return new $classDataAccess($container); |
| 219 | 219 | }; |
| 220 | 220 | } |
@@ -10,18 +10,18 @@ |
||
| 10 | 10 | */ |
| 11 | 11 | public function up() |
| 12 | 12 | { |
| 13 | - Capsule::schema()->create('categories', function ($table) { |
|
| 13 | + Capsule::schema()->create('categories', function($table) { |
|
| 14 | 14 | $table->increments('id'); |
| 15 | 15 | $table->string('title')->nullable(); |
| 16 | 16 | $table->string('slug')->unique(); |
| 17 | 17 | $table->text('body')->nullable(); |
| 18 | 18 | $table->integer('item_cnt')->unsigned()->default(0); |
| 19 | - $table->enum('is_active',['yes','no'])->default('yes'); |
|
| 20 | - $table->enum('has_pic',['yes','no'])->default('no'); |
|
| 19 | + $table->enum('is_active', ['yes', 'no'])->default('yes'); |
|
| 20 | + $table->enum('has_pic', ['yes', 'no'])->default('no'); |
|
| 21 | 21 | |
| 22 | - $table->string('meta_title',128)->nullable(); |
|
| 23 | - $table->string('meta_description',256)->nullable(); |
|
| 24 | - $table->string('meta_keywords',64)->nullable(); |
|
| 22 | + $table->string('meta_title', 128)->nullable(); |
|
| 23 | + $table->string('meta_description', 256)->nullable(); |
|
| 24 | + $table->string('meta_keywords', 64)->nullable(); |
|
| 25 | 25 | |
| 26 | 26 | /*Add Soft Delete To Articles*/ |
| 27 | 27 | $table->softDeletes(); |