Compare commits

...

8 Commits

3 changed files with 93 additions and 70 deletions

View File

@ -9,65 +9,65 @@ on:
- main
jobs:
# build:
# runs-on: ubuntu-latest
#
# strategy:
# matrix:
# php-version: [ '8.3' ]
# node-version: ['20.x']
# composer-version: ['2.6.6']
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Set up PHP ${{ matrix.php-version }} with extensions and tools
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php-version }}
# coverage: xdebug
# extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite
# tools: composer:${{ matrix.composer-version }}
# ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
# env:
# debug: true
#
# - name: PHP Security Checker
# uses: StephaneBour/actions-php-security-checker@1.1
#
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v3
# with:
# node-version: ${{ matrix.node-version }}
#
# - name: Add keys
# run: |
# sudo curl -o ~/.composer/keys.tags.pub -sL https://composer.github.io/releases.pub
# sudo curl -o ~/.composer/keys.dev.pub -sL https://composer.github.io/snapshots.pub
#
# - name: Install dependencies
# env:
# COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH_JSON }}
# run: composer install
#
# - name: Setup project
# run: make setup-ci
#
# - name: Check lint
# run: make lint
#
# - name: Check tests
# run: make test
build:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '8.3' ]
node-version: ['20.x']
composer-version: ['2.6.6']
steps:
- uses: actions/checkout@v4
- name: Set up PHP ${{ matrix.php-version }} with extensions and tools
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: xdebug
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite
tools: composer:${{ matrix.composer-version }}
ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
env:
debug: true
- name: PHP Security Checker
uses: StephaneBour/actions-php-security-checker@1.1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Add keys
run: |
sudo curl -o ~/.composer/keys.tags.pub -sL https://composer.github.io/releases.pub
sudo curl -o ~/.composer/keys.dev.pub -sL https://composer.github.io/snapshots.pub
- name: Install dependencies
env:
COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH_JSON }}
run: composer install
- name: Setup project
run: make setup-ci
- name: Check lint
run: make lint
- name: Check tests
run: make test
deploy:
# needs: build
needs: build
runs-on: ubuntu-latest
steps:
- name: deploy to test server
uses: appleboy/ssh-action@v1.0.3
with:
host: http://gitea.mkgtu.ru
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}

View File

@ -4,21 +4,23 @@ namespace App\Services;
use App\Models\Direction;
use Illuminate\Support\Facades\URL;
use PhpParser\Node\Expr\Array_;
class DirectonHtmlBuilder
{
private Direction $direction;
private array $direction;
public function __construct($direction)
{
$this->direction = $direction;
}
public function getHTML()
{
// phpcs:disable
$direction = $this->direction;
$fon_3 = URL::to('img/front-page/bakalavr-special/fon3_blok.png');
return "<div class=\"offcanvas offcanvas-bottom\" data-bs-scroll=\"true\" data-bs-backdrop=\"false\" tabindex=\"-1\" id=\"offcanvasScrolling-{$direction->id }\" aria-labelledby=\"offcanvasScrollingLabel-{$direction->id}\" style=\"height: 100%; font-family: Geologica-Medium; overflow-y: auto ; background-image: url({$fon_3}); color: #004329\">
$educationForm = implode(", ", $direction['educationForm']);
return "<div class=\"offcanvas offcanvas-bottom\" data-bs-scroll=\"true\" data-bs-backdrop=\"false\" tabindex=\"-1\" id=\"offcanvasScrolling-{$direction['id'] }\" aria-labelledby=\"offcanvasScrollingLabel-{$direction['id']}\" style=\"height: 100%; font-family: Geologica-Medium; overflow-y: auto ; background-image: url({$fon_3}); color: #004329\">
<div class=\"mx-5 \">
@ -32,11 +34,11 @@ class DirectonHtmlBuilder
<div class='col-md-6 col-12 d-block'>
<div class=\"\">
<div class=\"display-6 \" style=\"font-family: Geologica-Light\"> {$direction->code} </div>
<div class=\"display-5 \" > {$direction->name}</div>
<div class=\"display-6 \" style=\"font-family: Geologica-Light\"> {$direction['code']} </div>
<div class=\"display-5 \" > {$direction['name']}</div>
</div>
<div class=\"mt-4\">
<p style=\"text-align: justify;\">{$direction->description}</p>
<p style=\"text-align: justify;\">{$direction['description']}</p>
</div>
</div>
@ -46,31 +48,32 @@ class DirectonHtmlBuilder
<div class=\"p-3 px-5 border-success fs-4\" style='border-radius: 50px; border: 2px solid;'>
<div > Уровень образования:
<strong>{$direction->educationLevel->name} </strong>
<strong>{$direction['educationLevel']} </strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Форма обучения:
<strong>{$direction->educationForm->name} </strong>
<strong> {$educationForm}
</strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Бюджетные места:
<strong >{$direction->budget_places} </strong>
<strong >{$direction['budget_places']} </strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Квота:
<strong >{$direction->quota} </strong>
<strong >{$direction['quota']} </strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Места на контракт:
<strong >{$direction->paid_places} </strong>
<strong >{$direction['paid_places']} </strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Стоимость платного обучения:
<strong >{$direction->cost_paid_place} </strong>
<strong >{$direction['cost_paid_place']} </strong>
</div>
<hr class='d-block d-md-none'><br>
<div > Период обучения (в годах):
<strong>{$direction->period} </span>
<strong>{$direction['period']} </span>
</div>
</div>
</div>

View File

@ -359,20 +359,40 @@
</tr>
@foreach($faculty->departments as $department)
@foreach($department->directions as $direction)
@php
$napr = array();
foreach ($department->directions as $direction){
$napr[$direction->name]['educationForm'][$direction->name . ' ' . $direction->id] = $direction->educationForm->name;
$napr[$direction->name]['id'] = $direction->id;
$napr[$direction->name]['code'] = $direction->code;
$napr[$direction->name]['educationLevel'] = $direction->educationLevel->name;
$napr[$direction->name]['name'] = $direction->name;
$napr[$direction->name]['budget_places'] = $direction->budget_places;
$napr[$direction->name]['quota'] = $direction->quota;
$napr[$direction->name]['paid_places'] = $direction->paid_places;
$napr[$direction->name]['cost_paid_place'] = $direction->cost_paid_place;
$napr[$direction->name]['period'] = $direction->period;
$napr[$direction->name]['description'] = $direction->description;
}
@endphp
@foreach($napr as $el)
<tr>
<td>
<a class=" border border-dark rounded-3 p-2 hover1" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling-{{ $direction->id }}" aria-controls="offcanvasScrolling" role="button">{{ $direction->name }}</a>
<a class=" border border-dark rounded-3 p-2 hover1" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling-{{ $el['id'] }}" aria-controls="offcanvasScrolling" role="button">{{ $el['name'] }}</a>
@php
$DirectonHtmlBuilder = new DirectonHtmlBuilder($direction);
$DirectonHtmlBuilder = new DirectonHtmlBuilder($el);
echo $DirectonHtmlBuilder->getHTML();
@endphp
</td>
<td> {{ $direction->code }} </td>
<td> {{ $direction->educationLevel->name }} </td>
<td> {{ $direction->educationForm->name }} </td>
<td> {{ $el['code'] }} </td>
<td> {{ $el['educationLevel'] }} </td>
<td> <?php foreach($el['educationForm'] as $form) { echo $form . '<br>'; } ?> </td>
</tr>
@endforeach
@endforeach