/** Datei: public/nfc.php **/
true, 'serial' => $serial]);
}
}
?>
/** Datei: public/test.php **/
setResolution(150, 150); // DPI, muss vor readImage gesetzt werden
$imagick->readImage($pdfPath . '[0]'); // [0] = erste Seite der PDF
$imagick->setImageBackgroundColor('white');
$imagick = $imagick->flattenImages(); // PDF-Transparenz auf weiß flatten
$imagick->setImageFormat('jpeg');
$imagick->setImageCompressionQuality(85);
$imagick->writeImage($jpgPath);
$imagick->clear();
$imagick->destroy();
show("STOP");
require_once '../config/init.php';
// \ARUNOX\Tools\Cardnumber::setDefaultLevel(1);
// $generator = ARUNOX\Tools\Cardnumber::getDefaultObject();
// $number = $generator->calcChecksum( "BCF3b6:6d:18:01" );
// $result = $generator->check( "BCF324", "b6:6d:18:01" );
// $cvc = $generator->calcValidation( "BCF324" );
//
// show( $number, $result, $cvc );
$result = ARUNOX\Tools\Cardnumber::getDefaultObject();
$doubles = $result->calcDoubles();
// $number = $result->calcNumber();
$number = "BCF3";
$numbers = [
$number . $result->calcChecksum( "{$number}D7:F4:5E:6A" ),
$number . $result->calcChecksum( "{$number}04:8B:7B:41" ),
$number . $result->calcChecksum( "{$number}04:F9:CB:41:;C2:2A:81" ),
];
$cvc = [
$result->calcValidation( $numbers[0] ),
$result->calcValidation( $numbers[1] ),
$result->calcValidation( $numbers[2] ),
];
show([
ARUNOX\Plugins\Cards\Model::verify( "ABU59M", "04:1d:27:41:c2:2a:81" ),
]);
$resultSerial = ARUNOX\Plugins\Cards\Model::verify( $numbers[ $index ], "04:8B:7B:41" );
$resultCVC = ARUNOX\Plugins\Cards\Model::verify( $numbers[ $index ] . $cvc );
// ARUNOX\Tools\Cardnumber::setDefaultLevel( 1 );
// $result = ARUNOX\Plugins\Cards\Model::verify( "305A3D" );
show( $doubles, $number, $numbers, $cvc, $resultSerial, $resultCVC, "STOP" );
show( "TEST STOP" );
Hooks::apply('public::api->init' );
Debug::showLog( TRUE, $_GET["debugging"] ? $_GET["debugging"] : "default" );
show( "STOP" );
$pattern = "/home2/www/b90/arunox/dev.arunox/tools/framework/plugins/cards/library/ARUNOX/Plugins/*/API/v1/Routes.php";
$files = glob_recursive( $pattern );
show( $pattern, $files );
// $modelClass = ARUNOX\Autoloader::find( "locations_cards", "model", "plugins" );
// $ctrlClass = ARUNOX\Autoloader::find( "locations_cards", "controller", "plugins" );
//
// show( $modelClass, $ctrlClass, "STOP" );
ARUNOX\Plugins\Locations\Cards\Model::save([
"origin_id" => 1,
"card_id" => 1,
]);
$logs = ARUNOX\Plugins\Logs\Model::getAll([
"ORDERBY" => "date_create desc",
"LIMIT" => 5,
]);
show( $logs, "STOP");
$shortcodes = Hooks::filter('templater::shortcodes', [] );
$data = [
"attrs" => (object)[
"asset" => 153,
"assets" => "153,153",
"img" => [ "https://safespace.plus/uploads/ssp_trofast.png?_=1722332752" ],
],
];
$template = ARUNOX\Plugins\Websites\Pages\Model::getValue( 26, "content" );
// $template = '[mediatext asset="1"]Text[buttons][button page="30"][bi calendar-heart-fill] Unsere Kooperationen[/button][/buttons][/mediatext][mediatext]Text[buttons][button page="30"][bi calendar-heart-fill] Unsere Kooperationen[/button][/buttons][/mediatext]';
// $template = '[if $attrs.img]{IF}[ELSE]{ELSE}[/if][if $attrs.assets]{IF}[ELSE]{ELSE}[/else]';
// $template = '[asset id=$attrs.asset]';
// $template = '[foreach each=$attrs.assets as=$asset]X[asset id=$asset]X[/foreach]';
// $template = '[IF $attrs.asset !== NULL][$attrs.asset][ELSE]ALTERNATE[/IF]';
// $template = '[$attrs.assett ?? $attrs.assett ?? "ALTERNATE"]';
// $template = '
Titel ';
// $template = 'Dein SafeSpaceFür mehr Sicherheit und Wohlbefinden [blockquote]Du findest uns immer in der Nähe des Infostandes von Puppy & Friends NRW e.V. auf vielen CSDs und auf allen Veranstaltungen des Vereins.[/blockquote]';
// $template = 'Dein SafeSpaceFür mehr Sicherheit und Wohlbefinden [blockquote]XX[/blockquote]';
$template = Templater::tokenize( $template );
$template = Templater::parse( $template );
$template = Templater::render( $template, $data );
// show( $template );
exit( $template );
$output = ARUNOX\Plugins\Projects\Model::get( 1 );
$output->step;
$output = ARUNOX\Plugins\Projects\Types\Steps\Model::getAsOptions("title");
$output = [
"label" => ARUNOX\Plugins\Websites\Themes\Files\Type::getSingular(),
"icon" => ARUNOX\Plugins\Websites\Themes\Files\Type::getIcon(),
"options" => ARUNOX\Plugins\Websites\Themes\Files\Type::getAll(),
];
show( $output, "STOP" );
$model = ARUNOX\Plugins\Projects\Types\Model::class;
$options = ARUNOX\Plugins\Projects\Types\Steps\Status::class;
$entity = $model::getEntityClass();
// $data[ $model ] = [
// $model::getTable( "meta" ),
// $model::getOriginClass(),
// $model::getEntityClass(),
// $model::getControllerClass(),
// $model::getControllerClass()::getSingular(),
// $model::getControllerClass()::getIcon(),
// $model::getHashIDPrefix(),
// $model::getHashID( 1 ),
// $model::resolveHashIDPrefix( "ccat_bx0yME8LZDBQVRKL" ),
// $model::getLogRulesCreated(),
// $model::getLogRulesUpdated(),
// $model::getDynamicAttributes(),
// "USERS" => [
// ARUNOX\Plugins\Users\Model::isSuperadmin(),
// ARUNOX\Plugins\Users\Model::getRole(),
// ],
// ];
// $data[ $entity ] = [
// $entity::getModelClass(),
// $entity::getAttributes(),
// $entity::getDynamicAttributes(),
// ];
$data[ $options ] = [
$options::getLabel(),
$options::getAll(),
];
show( $model, $data, $options ?? NULL );
// $class = ARUNOX\Plugins\Calendars\Entries\API\v1\Controller::class;
// if( $origin = $class::callModelClass( "resolveHashIDPrefix", "cal_L12Q9jgz4SREl8on", "id" ) ) {
// show( $origin );
// }
// $origin = $class::getModelClass()::getOriginClass();
show( "FAIL" );
// $class = ARUNOX\Autoloader::find( "database", "status" );
// $class = ARUNOX\Autoloader::find( "calendars", "controller", "plugins" );
// $class = ARUNOX\Autoloader::find( "calendars", "model", "plugins" );
// $class = ARUNOX\Autoloader::find( "calendars_tasks", "model", "plugins" );
// $class = __( "Einfach %t mit %t Werten!", "3", "ein Test", "2" );
// $class = ARUNOX\Plugins\Users\Model::get()->hashid;
// $args = [ "Service", "99", "Arg2", "Arg3", "Product", "2025-07-01T08:30", 1751351200, "1751351000" ];
// $class = __( implode( "
//", [
// 'string:2:%2$s',
// 'transl:*:%t',
// 'transl:*:%t',
// 'transl:5:%5$t',
// 'string:2:%2$05s',
// 'string:2:%2$-05s',
// 'string:2:%2$\'a5s',
// 'string:3:%3$09.3s',
// 'string:6:%6$s',
// 'date..:6:%6$d.m.Y H:I:s$D',
// 'date..:7:%7$FORMAT_DATE$D',
// 'date..:8:%8$FORMAT_DATE$D',
// 'date..:8:%8$FORMAT_TIME$D',
// 'date..:8:%8$FORMAT_DATETIME$D',
// ]), ...$args );
// show( $class, $args, "X" );
$hookName = "created";
$hookName = "updated";
$changed = [
"status" => 1,
"date_start" => "2025-07-05 09:00:00",
"date_end" => "2025-07-05 09:30:00",
];
// Hooks::filter( "model::{$hookName}", 46, "calendars", NULL, $hookName, $changed, ARUNOX\Plugins\Calendars\Model::class );
// Hooks::filter( "model::{$hookName}", 27, "calendars_entries", NULL, $hookName, $changed, ARUNOX\Plugins\Calendars\Entries\Model::class );
// Hooks::filter( "model::$hookName", 10, "calendars_entries_participants", NULL, $hookName, $changed, ARUNOX\Plugins\Calendars\Entries\Participants\Model::class );
show( "TEST END" );
/** Datei: public/api.php **/
init' );
ARUNOX\Tools\Debug::log( "public::api->init" );
// if( isset( $_SESSION["count"] ) && $_SESSION["count"] > 20 ) {
// $_SESSION["count"] = 0;
// show("STOP");
// } else $_SESSION["count"]++;
Router::get( "/api/v1/rest/routes", function() {
$list = Hooks::filter('router::get->api.v1.rest.routes', [
[
"path" => "/",
"label" => "Home",
"breadcrumb" => "Dashboard",
"icon" => "bi bi-house-door",
"menu" => "sidebar",
],
]);
$list = array_map( "serialize", $list );
$list = array_unique( $list );
$list = array_values( $list );
$list = array_map( "unserialize", $list );
return [ "list" => $list ];
});
Router::get('/api/v1', function() {
REST\Response::addGenerator( "overview", "Dashboard" );
return REST\Response::jsonResponse();
});
$response = Router::dispatch( REQUEST_METHOD, REQUEST_URI );
// show( $response );
if( ARUNOX\Core\Errors::has() ) {
foreach( ARUNOX\Core\Errors::getAll() as $error ) {
ARUNOX\Plugins\REST\Response::addNotify(...[
"type" => $error["color"],
"message" => $error["message"],
"title" => $error["title"],
"icon" => $error["icon"],
]);
}
}
if( $response instanceof REST\Generator\Base\BaseGenerator ) {
$response = REST\Response::jsonResponse();
}
// show( $response );
$response = Hooks::filter( "public::api->output", $response );
ARUNOX\Tools\Debug::log( "public::api->output" );
if( $response instanceof Response ) {
$response->send();
} elseif( is_array( $response ) ) {
header('Content-Type: application/json');
echo json_encode( $response );
} elseif( is_a( $response, BaseEntity::class ) ) {
$response->hashid;
$response = json_encode( $response );
$response = json_decode( $response, TRUE );
unset( $response["id"] );
header('Content-Type: application/json');
echo json_encode( $response );
} elseif ( is_string( $response ) ) {
echo $response;
} else {
http_response_code(404);
echo json_encode(['error' => 'Invalid response format']);
}
/** Datei: public/migrations.php **/
NFC → PC
NFC Scanner → PC
Bereit
SCANNEN STARTEN
Gescannt:
/** Datei: public/index.php **/
".print_r($matches,TRUE)."" );
$type = $matches[2];
$name = $matches[3];
$root = dirname( __DIR__, 1 );
$root = match( $type ) {
"themes" => "{$root}/{$type}",
"plugins" => "{$root}/{$type}",
default => "{$root}",
};
$path = "{$root}/{$name}/assets/" . $matches[4];
$path = preg_replace( '#/+#', '/', $path );
$path = realpath( $path );
if( preg_match( "/.css$/", $path ) ) header("Content-Type: text/css");
elseif( preg_match( "/.js$/", $path ) ) header("Content-Type: text/javascript ");
elseif( !file_exists( $path ) ) {
// MIME-Typ des Assets bestimmen
$path = realpath( $path );
$mimeType = mime_content_type( $path );
header("Content-Type: $mimeType");
}
if( !file_exists( $path ) ) {
http_response_code(404);
exit;
}
// Asset ausgeben
readfile( $path );
exit;
}
if( preg_match('#^/(uploads/.+)$#', $_SERVER['REQUEST_URI'], $matches ) ) {
$file = $matches[1];
$file = preg_replace( '/[?#].*/', '', $file );
$file = __DIR__ . "/../storage/{$file}";
$file = realpath( $file );
$mimeType = mime_content_type( $file );
header("Content-Type: $mimeType");
readfile( $file );
exit;
}
/* ### SET ERROR REPORTING ########################################## # */
error_reporting(E_ERROR | E_WARNING | E_PARSE | ~E_NOTICE );
ini_set("display_errors", "On" );
define( "ABSPATH", dirname( __DIR__, 3 ) );
use ARUNOX\Core\Hooks;
use ARUNOX\Core\Router;
use ARUNOX\Core\Plugins;
require_once '../config/init.php';
Hooks::apply('public::index->init' );
// Andere Logik (z. B. Laden des Themes)
$template = THEME . '/templates/index.php';
$template = Hooks::filter( "public::index->template", $template, THEME );
if (!file_exists( $template )) {
http_response_code(500);
echo 'Error: Theme template not found.';
exit;
}
include $template;