İlk temizlik tamamlandı bir önceki projeden

This commit is contained in:
Ümit Tunç
2026-04-28 21:14:25 +03:00
commit f80443aec0
10000 changed files with 959965 additions and 0 deletions
@@ -0,0 +1,85 @@
<?php
use Carbon\Carbon;
function logProcessInfo($message, $data = [], $type = 'info') {
$logData = [
'timestamp' => now()->format('Y-m-d H:i:s'),
'message' => $message,
'memory_usage' => round(memory_get_usage() / 1024 / 1024, 2) . ' MB',
'data' => $data
];
switch ($type) {
case 'error':
Log::error($message, $logData);
break;
case 'warning':
Log::warning($message, $logData);
break;
case 'info':
Log::info($message, $logData);
break;
default:
Log::debug($message, $logData);
}
}
/**
* Sütun adında "date" geçen alanları Carbon ile formatlayan fonksiyon
* @param array|object $data Formatlanacak veri
* @param string $format Tarih formatı (default: d.m.Y)
* @return array|object Formatlanmış veri
*/
function formatDateColumns($data, $format = 'd.m.Y') {
// Veri tipini kontrol et
if (!is_array($data) && !is_object($data)) {
return $data;
}
// Array'e çevir
$dataArray = is_object($data) ? (array)$data : $data;
$modified = false;
foreach ($dataArray as $field => $value) {
// Eğer sütun adında "date" kelimesi varsa ve değer boş değilse
if (stripos($field, 'date') !== false && !empty($value) && $value !== null) {
// Zaten formatlanmış mı kontrol et (dd.mm.yyyy formatında)
if (preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $value)) {
continue; // Zaten doğru formatta
}
try {
// Carbon ile tarihi parse et
$carbonDate = Carbon::parse($value);
// Geçerli bir tarih mi kontrol et
if ($carbonDate->isValid()) {
$dataArray[$field] = $carbonDate->format($format);
$modified = true;
}
} catch (Exception $e) {
// Tarih parse edilemezse orijinal değeri koru
continue;
}
}
}
// Sadece değişiklik varsa yeni obje/array oluştur
if ($modified) {
return is_object($data) ? (object)$dataArray : $dataArray;
}
return $data;
}
function mb_str_replace($search, $replace, $subject) {
return implode($replace, explode($search, $subject, 2));
}
function replacePlaceholdersFileName($template, $data) {
return preg_replace_callback('/\{(\w+)\}/', function ($matches) use ($data) {
$key = $matches[1]; // Süslü parantez içindeki anahtar
return $data[$key] ?? $matches[0]; // Anahtar varsa değeri, yoksa orijinal metni döndür
}, $template);
}
?>