update
This commit is contained in:
29
.paul/PROJECT.md
Normal file
29
.paul/PROJECT.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Project: globelus.pl
|
||||||
|
|
||||||
|
## Description
|
||||||
|
Portal ogloszeniowy do publikacji i wyszukiwania ofert pracy, z panelami dla kandydatow i pracodawcow oraz filtrowaniem ofert po wielu kryteriach.
|
||||||
|
|
||||||
|
## Core Value
|
||||||
|
Kandydaci szybko znajduja dopasowane oferty pracy, a pracodawcy latwo docieraja do odpowiednich kandydatow.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
### Must Have
|
||||||
|
- [To be defined during planning]
|
||||||
|
|
||||||
|
### Should Have
|
||||||
|
- [To be defined during planning]
|
||||||
|
|
||||||
|
### Nice to Have
|
||||||
|
- [To be defined during planning]
|
||||||
|
|
||||||
|
## Constraints
|
||||||
|
- [To be identified during planning]
|
||||||
|
|
||||||
|
## Success Criteria
|
||||||
|
- Kandydaci szybko znajduja dopasowane oferty pracy, a pracodawcy latwo docieraja do odpowiednich kandydatow.
|
||||||
|
- [To be refined during planning]
|
||||||
|
|
||||||
|
---
|
||||||
|
*Created: 2026-04-25 16:39*
|
||||||
|
|
||||||
23
.paul/ROADMAP.md
Normal file
23
.paul/ROADMAP.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Roadmap: globelus.pl
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Rozwoj projektu obejmuje stabilizacje kluczowych flow ofert pracy, poprawy jakosci danych i filtrowania, a nastepnie kolejne usprawnienia UX oraz procesu publikacji i aplikowania.
|
||||||
|
|
||||||
|
## Current Milestone
|
||||||
|
**v0.1 Initial Release** (v0.1.0)
|
||||||
|
Status: Not started
|
||||||
|
Phases: 0 of TBD complete
|
||||||
|
|
||||||
|
## Phases
|
||||||
|
|
||||||
|
| Phase | Name | Plans | Status | Completed |
|
||||||
|
|-------|------|-------|--------|-----------|
|
||||||
|
| 1 | TBD | TBD | Not started | - |
|
||||||
|
|
||||||
|
## Phase Details
|
||||||
|
|
||||||
|
Phases will be defined during `$paul-plan`.
|
||||||
|
|
||||||
|
---
|
||||||
|
*Roadmap created: 2026-04-25 16:39*
|
||||||
|
|
||||||
49
.paul/STATE.md
Normal file
49
.paul/STATE.md
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Project State
|
||||||
|
|
||||||
|
## Project Reference
|
||||||
|
|
||||||
|
See: .paul/PROJECT.md (updated 2026-04-25 16:39)
|
||||||
|
|
||||||
|
**Core value:** Kandydaci szybko znajduja dopasowane oferty pracy, a pracodawcy latwo docieraja do odpowiednich kandydatow.
|
||||||
|
**Current focus:** Project initialized - ready for planning
|
||||||
|
|
||||||
|
## Current Position
|
||||||
|
|
||||||
|
Milestone: v0.1 Initial Release
|
||||||
|
Phase: Not yet defined
|
||||||
|
Plan: None yet
|
||||||
|
Status: Ready to create roadmap and first PLAN
|
||||||
|
Last activity: 2026-04-25 16:39 - Project initialized
|
||||||
|
|
||||||
|
Progress:
|
||||||
|
- Milestone: [----------] 0%
|
||||||
|
|
||||||
|
## Loop Position
|
||||||
|
|
||||||
|
Current loop state:
|
||||||
|
```
|
||||||
|
PLAN --> APPLY --> UNIFY
|
||||||
|
o o o [Ready for first PLAN]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Accumulated Context
|
||||||
|
|
||||||
|
### Decisions
|
||||||
|
None yet.
|
||||||
|
|
||||||
|
### Deferred Issues
|
||||||
|
None yet.
|
||||||
|
|
||||||
|
### Blockers/Concerns
|
||||||
|
None yet.
|
||||||
|
|
||||||
|
## Session Continuity
|
||||||
|
|
||||||
|
Last session: 2026-04-25 16:39
|
||||||
|
Stopped at: Project initialization complete
|
||||||
|
Next action: Run $paul-plan to define phases and first plan
|
||||||
|
Resume file: .paul/PROJECT.md
|
||||||
|
|
||||||
|
---
|
||||||
|
*STATE.md - Updated after every significant action*
|
||||||
|
|
||||||
34
.paul/config.md
Normal file
34
.paul/config.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Project Config
|
||||||
|
|
||||||
|
**Project:** globelus.pl
|
||||||
|
**Created:** 2026-04-25 16:39
|
||||||
|
|
||||||
|
## Project Settings
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
project:
|
||||||
|
name: globelus.pl
|
||||||
|
version: 0.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
### SonarQube
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
sonarqube:
|
||||||
|
enabled: false
|
||||||
|
reason: "Skipped during init"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Preferences
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
preferences:
|
||||||
|
auto_commit: false
|
||||||
|
verbose_output: false
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
*Config created: 2026-04-25 16:39*
|
||||||
|
|
||||||
5
.paul/docs/API.md
Normal file
5
.paul/docs/API.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# API
|
||||||
|
|
||||||
|
> Endpointy, kontrakty request/response, autentykacja.
|
||||||
|
> Uzupelnij gdy projekt bedzie udostepnial API.
|
||||||
|
|
||||||
5
.paul/docs/ARCHITECTURE.md
Normal file
5
.paul/docs/ARCHITECTURE.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Architecture
|
||||||
|
|
||||||
|
> Struktura klas, modulow, przeplywow i zaleznosci w projekcie.
|
||||||
|
> Uzupelnij po pierwszej fazie implementacji.
|
||||||
|
|
||||||
5
.paul/docs/DB_SCHEMA.md
Normal file
5
.paul/docs/DB_SCHEMA.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Database Schema
|
||||||
|
|
||||||
|
> Schemat bazy danych - tabele, kolumny, FK, indeksy.
|
||||||
|
> Uzupelnij gdy projekt bedzie korzystac z bazy danych.
|
||||||
|
|
||||||
5
.paul/docs/DECISIONS.md
Normal file
5
.paul/docs/DECISIONS.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Architecture Decision Records
|
||||||
|
|
||||||
|
> Kluczowe decyzje techniczne i ich uzasadnienia.
|
||||||
|
> Dodawaj wpisy recznie, gdy podejmujesz istotne decyzje architektoniczne.
|
||||||
|
|
||||||
5
.paul/docs/STACK.md
Normal file
5
.paul/docs/STACK.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Stack
|
||||||
|
|
||||||
|
> Stack technologiczny, wersje, zaleznosci, srodowisko.
|
||||||
|
> Uzupelnij po inicjalizacji projektu.
|
||||||
|
|
||||||
5
.paul/docs/TECH_CHANGELOG.md
Normal file
5
.paul/docs/TECH_CHANGELOG.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Tech Changelog
|
||||||
|
|
||||||
|
> Chronologiczny log zmian technicznych - co i dlaczego.
|
||||||
|
> Aktualizowany automatycznie po kazdej fazie PAUL.
|
||||||
|
|
||||||
5
.paul/docs/TODO.md
Normal file
5
.paul/docs/TODO.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# TODO
|
||||||
|
|
||||||
|
> Luzny parking pomyslow, rzeczy do sprawdzenia i pomyslow na pozniej.
|
||||||
|
> Nie wymaga formalnosci.
|
||||||
|
|
||||||
3
.vscode/ftp-kr.json
vendored
3
.vscode/ftp-kr.json
vendored
@@ -15,6 +15,7 @@
|
|||||||
"/.vscode",
|
"/.vscode",
|
||||||
"/.serena",
|
"/.serena",
|
||||||
"/.claude",
|
"/.claude",
|
||||||
"CLAUDE.md"
|
"CLAUDE.md",
|
||||||
|
".paul"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
33
CLAUDE.md
Normal file
33
CLAUDE.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Projektowe zasady dla globelus.pl
|
||||||
|
|
||||||
|
## Stack
|
||||||
|
- **Jezyk:** PHP
|
||||||
|
- **Framework:** Wlasny system MVC + szablony PHP
|
||||||
|
- **Wersja:** legacy/custom
|
||||||
|
|
||||||
|
## Zasady kodu
|
||||||
|
- Stosuj PSR-12 dla formatowania kodu PHP.
|
||||||
|
- Nazewnictwo: PascalCase dla klas, camelCase dla metod, snake_case dla pol DB.
|
||||||
|
- Unikaj zagniezdzen > 3 poziomy; wydzielaj metody pomocnicze.
|
||||||
|
- Komentarze tylko gdy wyjasniaja "dlaczego", nie "co".
|
||||||
|
|
||||||
|
## Baza danych
|
||||||
|
- Schemat dokumentowany w `.paul/docs/DB_SCHEMA.md`.
|
||||||
|
- Kazda zmiana schematu wymaga migracji lub udokumentowanej procedury SQL.
|
||||||
|
- Nie modyfikuj historycznych migracji/skryptow bez uzasadnienia.
|
||||||
|
|
||||||
|
## Testy
|
||||||
|
- Ustal i udokumentuj komende testowa dla projektu (brak standardowej konfiguracji testow).
|
||||||
|
|
||||||
|
## Dokumentacja
|
||||||
|
- Dokumentacja techniczna w `.paul/docs/`.
|
||||||
|
- Przy kazdej zmianie aktualizuj odpowiednie pliki docs.
|
||||||
|
- `TECH_CHANGELOG.md` aktualizowany po kazdej fazie.
|
||||||
|
|
||||||
|
## Wdrazanie
|
||||||
|
- Ustal i dopisz procedure deploy dla produkcji/staging.
|
||||||
|
|
||||||
|
## UI/Frontend
|
||||||
|
- Projekt korzysta z szablonow PHP i assets statycznych; utrzymuj spojnosc z istniejacym stylem.
|
||||||
|
- Zmiany UX w listingu ofert testuj na flow filtrowania i paginacji.
|
||||||
|
|
||||||
@@ -331,14 +331,24 @@ class GlobelusAdverts
|
|||||||
if ( $values['keyword'] )
|
if ( $values['keyword'] )
|
||||||
$filtr .= 'AND ( '
|
$filtr .= 'AND ( '
|
||||||
. 'title_nopl LIKE :title_nopl '
|
. 'title_nopl LIKE :title_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'title LIKE :title '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'firm_name_profile_nopl LIKE :firm_name_profile_nopl '
|
. 'firm_name_profile_nopl LIKE :firm_name_profile_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'firm_name_profile LIKE :firm_name_profile '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'text_nopl LIKE :text_nopl '
|
. 'text_nopl LIKE :text_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'text LIKE :text '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'country_nopl LIKE :country_nopl '
|
. 'country_nopl LIKE :country_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'country LIKE :country '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'city_nopl LIKE :city_nopl '
|
. 'city_nopl LIKE :city_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'city LIKE :city '
|
||||||
. ') ';
|
. ') ';
|
||||||
|
|
||||||
if ( is_array( $values['countries'] ) and count( $values['countries'] ) == 1 and $values['countries'][0] == 75 )
|
if ( is_array( $values['countries'] ) and count( $values['countries'] ) == 1 and $values['countries'][0] == 75 )
|
||||||
@@ -453,7 +463,12 @@ class GlobelusAdverts
|
|||||||
':title_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':title_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
':text_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':text_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
':country_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':country_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
':city_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%'
|
':city_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
|
':title' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':firm_name_profile' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':text' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':country' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':city' => '%' . trim( (string)$values['keyword'] ) . '%'
|
||||||
] ) -> fetch();
|
] ) -> fetch();
|
||||||
}
|
}
|
||||||
catch ( \Throwable $t )
|
catch ( \Throwable $t )
|
||||||
@@ -493,14 +508,24 @@ class GlobelusAdverts
|
|||||||
if ( $values['keyword'] )
|
if ( $values['keyword'] )
|
||||||
$filtr .= 'AND ( '
|
$filtr .= 'AND ( '
|
||||||
. 'title_nopl LIKE :title_nopl '
|
. 'title_nopl LIKE :title_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'title LIKE :title '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'firm_name_profile_nopl LIKE :firm_name_profile_nopl '
|
. 'firm_name_profile_nopl LIKE :firm_name_profile_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'firm_name_profile LIKE :firm_name_profile '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'text_nopl LIKE :text_nopl '
|
. 'text_nopl LIKE :text_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'text LIKE :text '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'country_nopl LIKE :country_nopl '
|
. 'country_nopl LIKE :country_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'country LIKE :country '
|
||||||
. 'OR '
|
. 'OR '
|
||||||
. 'city_nopl LIKE :city_nopl '
|
. 'city_nopl LIKE :city_nopl '
|
||||||
|
. 'OR '
|
||||||
|
. 'city LIKE :city '
|
||||||
. ') ';
|
. ') ';
|
||||||
|
|
||||||
if ( is_array( $values['countries'] ) and count( $values['countries'] ) == 1 and $values['countries'][0] == 75 )
|
if ( is_array( $values['countries'] ) and count( $values['countries'] ) == 1 and $values['countries'][0] == 75 )
|
||||||
@@ -616,7 +641,12 @@ class GlobelusAdverts
|
|||||||
':firm_name_profile_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':firm_name_profile_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
':text_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':text_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
':country_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
':country_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
'city_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%'
|
':city_nopl' => '%' . \S::seo( $values['keyword'], true ) . '%',
|
||||||
|
':title' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':firm_name_profile' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':text' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':country' => '%' . trim( (string)$values['keyword'] ) . '%',
|
||||||
|
':city' => '%' . trim( (string)$values['keyword'] ) . '%'
|
||||||
] ) -> fetchAll( \PDO::FETCH_ASSOC );
|
] ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||||
}
|
}
|
||||||
catch ( \Throwable $t )
|
catch ( \Throwable $t )
|
||||||
|
|||||||
@@ -61,21 +61,21 @@ class GlobelusCron
|
|||||||
{
|
{
|
||||||
global $mdb;
|
global $mdb;
|
||||||
|
|
||||||
$results = $mdb -> query( 'SELECT id, title FROM globelus_adverts WHERE title_nopl IS NULL' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
$results = $mdb -> query( 'SELECT id, title FROM globelus_adverts WHERE title_nopl IS NULL OR title_nopl = \'\'' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||||
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
||||||
{
|
{
|
||||||
$mdb -> update( 'globelus_adverts', [ 'title_nopl' => \S::seo( $row['title'], true ) ], [ 'id' => $row['id'] ] );
|
$mdb -> update( 'globelus_adverts', [ 'title_nopl' => \S::seo( $row['title'], true ) ], [ 'id' => $row['id'] ] );
|
||||||
echo( '<p>Generuje wartość nopl - ogłoszenia.</p>' );
|
echo( '<p>Generuje wartość nopl - ogłoszenia.</p>' );
|
||||||
}
|
}
|
||||||
|
|
||||||
$results = $mdb -> query( 'SELECT id, firm_name_profile FROM globelus_firms_data WHERE firm_name_profile_nopl IS NULL' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
$results = $mdb -> query( 'SELECT id, firm_name_profile FROM globelus_firms_data WHERE firm_name_profile_nopl IS NULL OR firm_name_profile_nopl = \'\'' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||||
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
||||||
{
|
{
|
||||||
$mdb -> update( 'globelus_firms_data', [ 'firm_name_profile_nopl' => \S::seo( $row['firm_name_profile'], true ) ], [ 'id' => $row['id'] ] );
|
$mdb -> update( 'globelus_firms_data', [ 'firm_name_profile_nopl' => \S::seo( $row['firm_name_profile'], true ) ], [ 'id' => $row['id'] ] );
|
||||||
echo( '<p>Generuje wartość nopl - firmy.</p>' );
|
echo( '<p>Generuje wartość nopl - firmy.</p>' );
|
||||||
}
|
}
|
||||||
|
|
||||||
$results = $mdb -> query( 'SELECT id, text FROM globelus_adverts WHERE text_nopl IS NULL' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
$results = $mdb -> query( 'SELECT id, text FROM globelus_adverts WHERE text_nopl IS NULL OR text_nopl = \'\'' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||||
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
||||||
{
|
{
|
||||||
$mdb -> update( 'globelus_adverts', [ 'text_nopl' => \S::seo( $row['text'], true ) ], [ 'id' => $row['id'] ] );
|
$mdb -> update( 'globelus_adverts', [ 'text_nopl' => \S::seo( $row['text'], true ) ], [ 'id' => $row['id'] ] );
|
||||||
@@ -89,7 +89,7 @@ class GlobelusCron
|
|||||||
echo( '<p>Generuje wartość nopl - kraje.</p>' );
|
echo( '<p>Generuje wartość nopl - kraje.</p>' );
|
||||||
}
|
}
|
||||||
|
|
||||||
$results = $mdb -> query( 'SELECT id, city FROM globelus_adverts WHERE city_nopl IS NULL' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
$results = $mdb -> query( 'SELECT id, city FROM globelus_adverts WHERE city_nopl IS NULL OR city_nopl = \'\'' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||||
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
if ( is_array( $results ) and !empty( $results ) ) foreach ( $results as $row )
|
||||||
{
|
{
|
||||||
$mdb -> update( 'globelus_adverts', [ 'city_nopl' => \S::seo( $row['city'], true ) ], [ 'id' => $row['id'] ] );
|
$mdb -> update( 'globelus_adverts', [ 'city_nopl' => \S::seo( $row['city'], true ) ], [ 'id' => $row['id'] ] );
|
||||||
|
|||||||
@@ -1083,9 +1083,9 @@ class GlobelusFirms
|
|||||||
'outside_ue' => $values['outside_ue'],
|
'outside_ue' => $values['outside_ue'],
|
||||||
'without_driving_license' => $values['without_driving_license'],
|
'without_driving_license' => $values['without_driving_license'],
|
||||||
'aplication_link' => $aplication_link ? $aplication_link : null,
|
'aplication_link' => $aplication_link ? $aplication_link : null,
|
||||||
'title_nopl' => '',
|
'title_nopl' => \S::seo($values['title'], true),
|
||||||
'city_nopl' => '',
|
'city_nopl' => \S::seo($values['city'], true),
|
||||||
'text_nopl' => ''
|
'text_nopl' => \S::seo(\S::clear_advert_text($values['text']), true)
|
||||||
]);
|
]);
|
||||||
$advert_id = $mdb->id();
|
$advert_id = $mdb->id();
|
||||||
}
|
}
|
||||||
@@ -1120,9 +1120,9 @@ class GlobelusFirms
|
|||||||
'outside_ue' => $values['outside_ue'],
|
'outside_ue' => $values['outside_ue'],
|
||||||
'without_driving_license' => $values['without_driving_license'],
|
'without_driving_license' => $values['without_driving_license'],
|
||||||
'aplication_link' => $aplication_link ? $aplication_link : null,
|
'aplication_link' => $aplication_link ? $aplication_link : null,
|
||||||
'title_nopl' => '',
|
'title_nopl' => \S::seo($values['title'], true),
|
||||||
'city_nopl' => '',
|
'city_nopl' => \S::seo($values['city'], true),
|
||||||
'text_nopl' => ''
|
'text_nopl' => \S::seo(\S::clear_advert_text($values['text']), true)
|
||||||
], [
|
], [
|
||||||
'AND' => [
|
'AND' => [
|
||||||
'user_id' => $values['user_id'],
|
'user_id' => $values['user_id'],
|
||||||
|
|||||||
BIN
temp/3/a/s_cache_3af17bb640bbb102a77a6031d37e93bf
Normal file
BIN
temp/3/a/s_cache_3af17bb640bbb102a77a6031d37e93bf
Normal file
Binary file not shown.
BIN
temp/4/b/s_cache_4b916ae533b4ded88ddc3edfe99de1be
Normal file
BIN
temp/4/b/s_cache_4b916ae533b4ded88ddc3edfe99de1be
Normal file
Binary file not shown.
BIN
temp/d/f/s_cache_df8e16882b112ce2c0739934bd19b578
Normal file
BIN
temp/d/f/s_cache_df8e16882b112ce2c0739934bd19b578
Normal file
Binary file not shown.
Reference in New Issue
Block a user