default target
и предложит нажать Enter или Ctrl+D, жмем Enter, чтобы остаться в терминале.mount -a
. команда должна вывести ошибку "uuid not found ... или что-то такое" (ошибка понятная, нам главное невалидный UUID достать). В моем случае была ошибка монтирования внешнего винта, а именно система пыталась смонтировать его по ранее сохраненному UUID, который уже не актуален. команда mount -a
должна "пожаловаться" на этот самый неактуальный UUID.sudo nano /etc/fstab
, находим строку с неактуальным UUID и комментируем её целиком с помощью `#` в начале строки. сохраняем файл и закрываем (в nano это клавиши win+O и win+X). И снова запускаем mount -a
. Если все отработало корректно, то идем в шаг 4. (Если некорректно, то сори, не знаю что там может пойти не так).└─$ find .git
.git
.git/config
.git/info
.git/info/exclude
.git/HEAD
.git/refs
.git/refs/tags
.git/refs/heads
.git/branches
.git/hooks
.git/hooks/pre-rebase.sample
.git/hooks/post-update.sample
.git/hooks/pre-commit.sample
.git/hooks/pre-merge-commit.sample
.git/hooks/update.sample
.git/hooks/pre-receive.sample
.git/hooks/commit-msg.sample
.git/hooks/applypatch-msg.sample
.git/hooks/pre-applypatch.sample
.git/hooks/pre-push.sample
.git/hooks/push-to-checkout.sample
.git/hooks/prepare-commit-msg.sample
.git/hooks/fsmonitor-watchman.sample
.git/objects
.git/objects/info
.git/objects/pack
.git/description
curl --location --request GET 'https://api.telegram.org/bot###/sendMessage' \
--header 'Content-Type: application/json' \
--data '{
"chat_id": "###",
"text": "Some text",
"reply_markup": {
"keyboard": [
[
{
"text": "Button 1",
"request_contact": true
}
]
],
"resize_keyboard": true
}
}'
curl --location --request GET 'https://api.telegram.org/bot###/editMessageReplyMarkup' \
--header 'Content-Type: application/json' \
--data '{
"chat_id": "###",
"message_id": 1332,
"reply_markup": {
"inline_keyboard": [
[
{
"text": "Button 2",
"callback_data": "foo"
}
]
],
}
}'
# the DBAL wrapperClass option
wrapper_class: App\DBAL\MyConnectionWrapper
private
свойства и методы из донора Doctrine\DBAL\Connection
:public function update($table, array $data, array $criteria, array $types = [])
{
$columns = $values = $conditions = $set = [];
foreach ($data as $columnName => $value) {
$columns[] = $columnName;
$values[] = $value;
$set[] = $columnName . ' = ?';
}
$this->addCriteriaCondition($criteria, $columns, $values, $conditions);
if (is_string(key($types))) {
$types = $this->extractTypeValues($columns, $types);
}
$sql = 'UPDATE ' . $table . ' SET ' . implode(', ', $set)
. ' WHERE ' . implode(' AND ', $conditions);
return $this->executeStatement($sql, $values, $types);
}
private function addCriteriaCondition(
array $criteria,
array &$columns,
array &$values,
array &$conditions
): void {
$platform = $this->getDatabasePlatform();
foreach ($criteria as $columnName => $value) {
if ($value === null) {
$conditions[] = $platform->getIsNullExpression($columnName);
continue;
}
if(is_array($value)) {
$this->addInCriteriaCondition($columns, $values, $conditions, $value, $columnName);
continue;
}
$columns[] = $columnName;
$values[] = $value;
$conditions[] = $columnName . ' = ?';
}
}
private function addInCriteriaCondition(
array &$columns,
array &$values,
array &$conditions,
array $valuesArray,
$columnName
) {
$condition = $columnName . ' IN (';
foreach($valuesArray as $index => $value) {
$columns[] = $columnName;
$values[] = $value;
$condition .= '?';
if($index != count($valuesArray) - 1) {
$condition .= ', ';
}
}
$conditions[] = $condition . ')';
}
"Authorization: Bearer <api token from cookie>"
в запросе. <?php
$incorrectExampleString = 'Lorem ipsum. Рыбный текст. 魚のテキスト';
$correctExampleString = 'Lorem impsum.';
$pattern = '/[^a-zA-Zа-яА-Я.\/\- ]+/';
$res1 = preg_match($pattern, $incorrectExampleString, $matches); // incorrect example
$res2 = preg_match($pattern, $correctExampleString, $matches); // correct example
var_dump($res1);
var_dump($res2);
.my-container-class[data-toggle="true"] { background: red }
.my-container-class[data-toggle="false"] { background: none }