HEX
Server: nginx/1.24.0
System: Linux rtfmfm 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User: neo (1001)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/converter.rtfmfm.com/README.md
**File** Converter
==========
## Относно

Това приложение се използва за конвертиране на файлове, като дава възможност те да бъдат променени по начин определен от потребителя.

## Пониятия
- *Операция* - процес на промяна на съдържанието да дадена колона във файа
  - Възможни операции
    - Добавяне на колона
    - Копиране на стойност. Копира стойността на една клетка в друга клетка.
    - Изтриване на колона
    - Замяна на съдържание на клетка. Замяна съдържанието на клетката със съдържание.
    - Замяна на съдържание (математическо). Замяна на съдържанието на дадена клетка с резултата от математическо изчисление от две други клетки.
    - Замяна на символ/стринг. Заменя даден символ/стринг с друг в избрана клетка.
    - Премахване на букви. Премахва буквите от клетка и оставя само цифрите.
    зададено от потребителя.
    - Условнио копиране на стойност (математическо). Ако резултат от математическо изчисление между стойностите на две колони отговаря на зададено условие, стойнсотта на избрана колона се копира в друга колона по избор.
    - Условна замяна на съдържание. Ако стойнстта на дадена колона отговаря на определено условие, се променя съдържанието на колона по избор.
    - Условно копиране на съдържание. Ако стойнстта на дадена колона отговаря на определено условие, стойността на избрана колона се копира в друга колона по избор.
    - Номериране на редове. Дава възможност да се добави нарастваща номерация на редовете. Ако бъде избрана базова колона номерацията се съобразява с нея и започва от начало всеки път, когато стойността на базовата колона се промени.
    - Условно премахване на ред. Изтрива ред от файла, ако отговаря на определено условие.
    - Условно добавяне на съдържание. Добавя стринг в началото или в края на колоната ако нейното съдържание отговаря на определени условия.
    - Форматиране на дата. Форматира датата в дадена колона в избрания формат.
    - Обедиянване на колони. Обединява съдържанието на две колони в трета (или някоя в някоя от източниците).
- *Конвертор* - съвкупност от операции

## Нива на достъп

  - Потребител
  - Администратор

## Права

| Действие | Потребител | Администратор |
| :----    |   :----:   |     :----:    |
| Създаване на конвертор | + | + |
| Използване на собствен конвертор | + | + |
| Използване на публичен конвертор | + | + |
| Редактиране на собствен конвертор | + | + |
| Използване на чужд конвертор | - | + |
| Редактиране на чужд конвертор | - | + |
| Редактиране на публичен конвертор | - | + |
| Определяне на конвертор като публичен | - | + |
| Определяне дали операциите да са видими за потребител | - | + |


## Принцип на работа

Към приложението се изпраща файл. Всеки ред от файла е отделен запис съдържащ колони, които са разделени със специален символ (разделител). Приложението дава възможност да променяте отделните колони чрез избрани от вас операции.


### Поддържани входни формати

- text/plain
- text/csv

## Системни изисквания

- `PHP 8.1`
- `php-mbstring`
- `composer`

## Инсталиране

- Копирайте `.env.example` в `.env` и го редактирайте според вашите изисквания.
- Редактирайте стойностите за `OWNER_EMAIL` и `OWNER_PASSWORD`. Зададените стойности ще се използват за създаване основния потребителски акаунт.
- Въедете коректни стойности за връзка с база данни -  `DB_DATABASE`,
`DB_USERNAME` и `DB_PASSWORD`
- изпълнете `php artisan key:generate`.
- изпълнете `composer install`, за да инсталирате необходимите пакети.
- изпълнете `php artisan migrate`. Това ще създаде необходимите таблици в базата данни.
- изпълнете `php artisan db:seed`, за да създадете минималните необходими записи в базата данни.

## Използване

За да стартирате приложението можете да използвате вградения уеб сървър като стартирате `php artisan serve`, или да качите приложението на ваш уеб сървър. За реална работа с приложението, не се препоръчва то да бъде използвано с вградения уеб сървър.

За вход иползвайте E-мейл адреса и паролата от `.env` файла.