diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php
index 5ac3e9e..1cd8b49 100755
--- a/app/Helpers/Helper.php
+++ b/app/Helpers/Helper.php
@@ -9,12 +9,18 @@ use App\Models\Setting;
use Xmen\StarterKit\Helpers\TDate;
use Xmen\StarterKit\Models\Category;
use Xmen\StarterKit\Models\Menu;
+use Xmen\StarterKit\Models\MenuItem;
use Xmen\StarterKit\Models\Post;
use Illuminate\Support\Facades\Route;
+/***
+ * get setting by key
+ * @param string $key setting key
+ * @return false|\Illuminate\Database\Eloquent\HigherOrderBuilderProxy|mixed|string|null
+ */
function getSetting($key)
{
- if ( !isset($_SERVER['SERVER_NAME']) || !\Schema::hasTable('settings')){
+ if (!isset($_SERVER['SERVER_NAME']) || !\Schema::hasTable('settings')) {
return false;
}
$x = Setting::where('key', $key)->first();
@@ -24,6 +30,12 @@ function getSetting($key)
}
return $x->value;
}
+
+/***
+ * get category form setting by key
+ * @param string $key setting key
+ * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|string|Category|null
+ */
function getSettingCategory($key)
{
$x = Setting::where('key', $key)->first();
@@ -31,8 +43,14 @@ function getSettingCategory($key)
$a = new \stdClass();
return '';
}
- return Category::where('id',$x->value)->first();
+ return Category::where('id', $x->value)->first();
}
+
+/***
+ * get product category by setting key
+ * @param string $key setting key
+ * @return Cat|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|string|null
+ */
function getSettingCat($key)
{
$x = Setting::where('key', $key)->first();
@@ -40,15 +58,23 @@ function getSettingCat($key)
$a = new \stdClass();
return '';
}
- return Cat::where('id',$x->value)->first();
+ return Cat::where('id', $x->value)->first();
}
-
+/***
+ * get stock types
+ * @return array
+ */
function stockTypes()
{
return ["IN_STOCK" => __("In stock"), "OUT_STOCK" => __("Out stock"), "BACK_ORDER" => __("Back order")];
}
+/***
+ * make meta with key and value
+ * @param $metaz
+ * @return array
+ */
function metaing($metaz)
{
$out = [];
@@ -61,16 +87,22 @@ function metaing($metaz)
return $out;
}
-function getPriceableMeta(Product $pro){
- $metas = $pro->getAllMeta()->toArray();
- if ( count($metas) == 0 ){
- return [];
+/***
+ * get just pricable meta of product
+ * @param Product $pro
+ * @return array
+ */
+function getPriceableMeta(Product $pro)
+{
+ $metas = $pro->getAllMeta()->toArray();
+ if (count($metas) == 0) {
+ return [];
}
- $pricables = $pro->category->props()->where('priceable',1)->pluck('name')->toArray();
+ $pricables = $pro->category->props()->where('priceable', 1)->pluck('name')->toArray();
$result = [];
- if (is_array($pricables)){
- foreach ($pricables as $price){
- if (isset($metas[$price])){
+ if (is_array($pricables)) {
+ foreach ($pricables as $price) {
+ if (isset($metas[$price])) {
$result[$price] = $metas[$price];
}
}
@@ -78,7 +110,13 @@ function getPriceableMeta(Product $pro){
return $result;
}
-
+/***
+ * show product categories in node with ul-li
+ * @param $cats category node
+ * @param $liClass class of lis
+ * @param $ulClass class of uls
+ * @return string
+ */
function showCats($cats = [], $liClass = '', $ulClass = '')
{
if ($cats == []) {
@@ -101,6 +139,11 @@ function showCats($cats = [], $liClass = '', $ulClass = '')
return $txt;
}
+/***
+ * show menu node for manage
+ * @param $arr
+ * @return string
+ */
function showMenuMange($arr)
{
$back = '';
@@ -127,6 +170,11 @@ LI;
return $back;
}
+/***
+ * show menu node
+ * @param array $arr
+ * @return string
+ */
function showMenu($arr)
{
$back = '';
@@ -182,6 +230,12 @@ LI;
return $back;
}
+
+/***
+ * show input products categories node
+ * @param Cat[] $arr
+ * @return string
+ */
function showCatNode($arr)
{
$ret = '';
@@ -195,6 +249,11 @@ function showCatNode($arr)
return $ret;
}
+/***
+ * show menu items as types
+ * @param MenuItem[] $items
+ * @return string
+ */
function MenuShowItems($items)
{
$out = '';
@@ -234,7 +293,7 @@ function MenuShowItems($items)
$out .= '';
break;
case "cat-news":
- $out .= '';
+ $out .= '';
$cat = Category::whereId($item->menuable_id)->firstOrFail();
$news = $cat->posts()->limit(10)->get(['slug', 'title']);
$out .= '
';
@@ -255,12 +314,21 @@ function MenuShowItems($items)
return $out;
}
+/***
+ * show menu by name
+ * @param $menu_name
+ * @return string
+ */
function MenuShowByName($menu_name)
{
$menu = Menu::whereName($menu_name)->firstOrFail();
return MenuShowItems($menu->menuItems()->whereNull('parent')->get());
}
+/***
+ * make breadcrumbs for admin panel
+ * @return void
+ */
function lastCrump()
{
$routes = explode('.', Route::currentRouteName());
@@ -335,59 +403,106 @@ function lastCrump()
}
+/***
+ * get main product categories
+ * @param int $limit
+ * @return Cat[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Query\Builder[]|\Illuminate\Support\Collection|\LaravelIdea\Helper\App\Models\_IH_Cat_C
+ */
function getMainCats($limit = 10)
{
return Cat::whereNull('parent_id')->limit($limit)->get();
}
+/***
+ * get products by category id
+ * @param int $id
+ * @param string $order
+ * @param string $orderMethod
+ * @param int $limit
+ * @return Product[]|array|\Illuminate\Database\Eloquent\Collection|\LaravelIdea\Helper\App\Models\_IH_Product_C
+ */
function getProductByCat($id, $order = 'id', $orderMethod = 'desc', $limit = 10)
{
$cat = Cat::where('id', $id)->first();
- if ($cat == null){
- return [];
+ if ($cat == null) {
+ return [];
}
- return $cat->active_products()->where('active',1)
+ return $cat->active_products()->where('active', 1)
->orderBy($order, $orderMethod)->limit($limit)->get();
}
+
+/***
+ * get product by category id where `stock_quantity` more than 0
+ * @param int $id
+ * @param string $order
+ * @param int $limit
+ * @return Product[]|array|\Illuminate\Database\Eloquent\Collection|\LaravelIdea\Helper\App\Models\_IH_Product_C
+ */
function getProductByCatQ($id, $order = 'id', $limit = 10)
{
$cat = Cat::where('id', $id)->first();
- if ($cat == null){
- return [];
+ if ($cat == null) {
+ return [];
}
- return $cat->products()->where('active',1)->where('stock_quantity','>', 0)
+ return $cat->products()->where('active', 1)->where('stock_quantity', '>', 0)
->orderByDesc('id')->limit($limit)->get();
}
+/***
+ * get sub product categories by id
+ * @param $id
+ * @return Cat[]|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\LaravelIdea\Helper\App\Models\_IH_Cat_C
+ */
function getSubCats($id)
{
return Cat::where('parent_id', $id)->get();
}
+/***
+ * get products with sort
+ * @param string $order
+ * @param string $orderMethod
+ * @param int $limit
+ * @return Product[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Query\Builder[]|\Illuminate\Support\Collection|\LaravelIdea\Helper\App\Models\_IH_Product_C
+ */
function getProducts($order = 'id', $orderMethod = 'desc', $limit = 10)
{
return Product::orderBy($order, $orderMethod)->limit($limit)->get();
}
-
+/***
+ * get property by name
+ * @param string $name
+ * @return Prop|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|null
+ */
function getProp($name)
{
return Prop::where('name', $name)->first();
}
+/***
+ * get unit of property by name
+ * @param string $name
+ * @return \Illuminate\Database\Eloquent\HigherOrderBuilderProxy|mixed|string|null
+ */
function getPropUnit($name)
{
- if ( Prop::where('name', $name)->count() == 0) {
- return '';
+ if (Prop::where('name', $name)->count() == 0) {
+ return '';
}
return Prop::where('name', $name)->first()->unit;
}
+/***
+ * get label of property by name
+ * @param string $name
+ * @return array|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Translation\Translator|\Illuminate\Database\Eloquent\HigherOrderBuilderProxy|mixed|string|null
+ */
function getPropLabel($name)
{
- if (Prop::where('name', $name)->count() == 0){
+ if (Prop::where('name', $name)->count() == 0) {
return '';
}
$n = Prop::where('name', $name)->first();
@@ -402,31 +517,55 @@ function getPropLabel($name)
}
}
+/***
+ * check is json or not
+ * @param string $str
+ * @return bool
+ */
function isJson($str)
{
$json = json_decode($str);
return $json && $str != $json;
}
+/***
+ * json decode and sort
+ * @param array $json
+ * @return mixed
+ */
function jsonOrder($json)
{
- $data = json_decode( $json ,true);
+ $data = json_decode($json, true);
asort($data);
return $data;
}
-function showMetaValue($key, $value){
+/***
+ * get meta value
+ * @param string $key
+ * @param string $value
+ * @return void
+ */
+function getMetaValue($key, $value)
+{
$p = Prop::whereName($key)->first();
- foreach (json_decode($p->options) as $n){
- if ($n->value == $value){
+ foreach (json_decode($p->options) as $n) {
+ if ($n->value == $value) {
return $n->title;
}
}
}
+
+/***
+ * show meta with values
+ * @param string $key
+ * @param string $value
+ * @return string
+ */
function showMeta($key, $value)
{
- if (Prop::whereName('warranty')->count()== 0 && $key == 'warranty'){
+ if (Prop::whereName('warranty')->count() == 0 && $key == 'warranty') {
return '';
}
@@ -435,15 +574,15 @@ function showMeta($key, $value)
}
if ($key == 'warranty') {
$p = Prop::whereName('warranty')->first();
- foreach (json_decode($p->options) as $n){
- if ($n->value == $value){
+ foreach (json_decode($p->options) as $n) {
+ if ($n->value == $value) {
return $n->title;
}
}
}
if ($key == 'color') {
- return ''.getColorName($value).'';
+ return '' . getColorName($value) . '';
}
$txt = $value;
@@ -456,38 +595,61 @@ function showMeta($key, $value)
return trim($txt . ' ' . getPropUnit($key));
}
+/***
+ * time to persian date
+ * @param $date
+ * @param $format
+ * @return float|int|string|\Xmen\StarterKit\Helpers\timestamp
+ */
function time2persian($date, $format = 'Y/m/d')
{
$dt = new TDate();
return $dt->PDate($format, $date);
}
-function getColors(){
- $colors = Prop::where('name','color')->first();
- if ($colors == null){
+/***
+ * get colors
+ * @return array
+ */
+function getColors()
+{
+ $colors = Prop::where('name', 'color')->first();
+ if ($colors == null) {
return [];
}
- $data = json_decode($colors->options,true);
+ $data = json_decode($colors->options, true);
$result = [];
foreach ($data as $color) {
$result[$color['value']] = $color['title'];
}
- return $result;
+ return $result;
}
-function getColorName($colorVal){
- $colors = Prop::where('name','color')->first();
- if ($colors == null){
+
+/***
+ * get color name
+ * @param $colorVal
+ * @return mixed|string
+ */
+function getColorName($colorVal)
+{
+ $colors = Prop::where('name', 'color')->first();
+ if ($colors == null) {
return 'رنگ';
}
- $data = json_decode($colors->options,true);
+ $data = json_decode($colors->options, true);
foreach ($data as $color) {
- if ($colorVal == $color['value']){
+ if ($colorVal == $color['value']) {
return $color['title'];
}
}
- return 'رنگ';
+ return 'رنگ';
}
+/***
+ * make chartjs
+ * @param $pro
+ * @return string
+ */
function makeChart($pro)
{
$times = $pro->prices_history()->pluck('created_at')->toArray();
@@ -506,7 +668,13 @@ TXT;
return $text;
}
-function makeProductBreadcrumb($p, $c)
+/***
+ * make breadcrumb
+ * @param Product $p
+ * @param Cat $c
+ * @return array[]
+ */
+function makeProductBreadcrumb(Product $p, Cat $c)
{
$items = [
[
@@ -530,6 +698,11 @@ function makeProductBreadcrumb($p, $c)
return $items;
}
+/***
+ * show markup breadcrumb
+ * @param $itemz
+ * @return void
+ */
function showBreadcrumb($itemz = [])
{
$text = << 'application/x-www-form-urlencoded',
'postman-token' => '3e37c158-2c35-75aa-1ae7-f76d90ebbe8f',
'cache-control' => 'no-cache'
@@ -580,7 +764,7 @@ function sendSMSText($number,$content){
'username' => config('app.sms_user'),
'password' => config('app.sms_pass'),
'to' => $number,
- 'from' =>config('app.sms_number'),
+ 'from' => config('app.sms_number'),
'text' => $content,
'isflash' => 'false'
));
@@ -589,38 +773,59 @@ function sendSMSText($number,$content){
$ch = curl_init();
//set the url, number of POST vars, POST data
- curl_setopt($ch,CURLOPT_URL, $url);
- curl_setopt($ch,CURLOPT_POST, true);
- curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//So that curl_exec returns the contents of the cURL; rather than echoing it
- curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
return $result;
}
-function remTitle($str){
+/***
+ * remove title of html code
+ * @param $str
+ * @return array|string|string[]|null
+ */
+function remTitle($str)
+{
$re = '/(.*?)<\/title>/m';
- return preg_replace($re,'',$str);
+ return preg_replace($re, '', $str);
}
-function showJsonByKey($json,$key){
+
+/***
+ * show json by key
+ * @param $json
+ * @param $key
+ * @return mixed|string
+ */
+function showJsonByKey($json, $key)
+{
$x = json_decode($json);
- $x = json_decode($x->data,true);
- $items = json_decode(\App\Helpers\getProp('size')->options,true);
+ $x = json_decode($x->data, true);
+ $items = json_decode(\App\Helpers\getProp('size')->options, true);
foreach ($items as $item) {
- if ($x[$key] == $item['value']){
+ if ($x[$key] == $item['value']) {
return $item['title'];
}
}
return 'x';
}
-function findLink($html){
+
+/***
+ * find html links
+ * @param $html
+ * @return string|null
+ */
+function findLink($html)
+{
$url = preg_match('//', $html, $match);
- if (!isset($match[1])){
+ if (!isset($match[1])) {
return null;
}
diff --git a/resources/views/admin/discount/discountForm.blade.php b/resources/views/admin/discount/discountForm.blade.php
index 50672bc..5c38828 100755
--- a/resources/views/admin/discount/discountForm.blade.php
+++ b/resources/views/admin/discount/discountForm.blade.php
@@ -58,7 +58,7 @@
{{__('Expire date')}}
+ class="form-control @error('expire') is-invalid @enderror dtp" @if(isset($discount)) value="{{$discount->expire->jdate('Y/m/d')}}" @endif>
diff --git a/resources/views/admin/discount/discountIndex.blade.php b/resources/views/admin/discount/discountIndex.blade.php
index a909e6d..807a0c1 100755
--- a/resources/views/admin/discount/discountIndex.blade.php
+++ b/resources/views/admin/discount/discountIndex.blade.php
@@ -65,7 +65,7 @@
@if($n->expire == null)
-
@else
- {{\App\Helpers\time2persian($n->expire)}}
+ {{$n->expire->jdate('Y/m/d')}}
@endif
diff --git a/resources/views/admin/product/form/advncProductForm.blade.php b/resources/views/admin/product/form/advncProductForm.blade.php
index 4efd7e1..439985e 100755
--- a/resources/views/admin/product/form/advncProductForm.blade.php
+++ b/resources/views/admin/product/form/advncProductForm.blade.php
@@ -98,7 +98,7 @@
{{$dis->code}}
|
- {{\App\Helpers\time2persian($dis->expire)}}
+ {{$dis->expire->jdate('Y/m/d')}}
|
|