147 lines
4.9 KiB
PHP
147 lines
4.9 KiB
PHP
<?php
|
|
|
|
pake_desc('Generowanie testowych danych do monitorowania klientow');
|
|
pake_task('create-ut-data', 'project_exists');
|
|
|
|
pake_desc('Usuwanie testowych danych do monitorowania klientow');
|
|
pake_task('delete-ut-data', 'project_exists');
|
|
|
|
// ./symfony create-ut-data 240 10
|
|
function run_create_ut_data(pakeTask $task, array $args = [], array $options = [])
|
|
{
|
|
define('SF_ROOT_DIR', sfConfig::get('sf_root_dir'));
|
|
define('SF_APP', 'backend');
|
|
define('SF_ENVIRONMENT', 'dev');
|
|
define('SF_DEBUG', true);
|
|
require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
|
|
|
|
if($args[0]){
|
|
$conut_balls = $args[0];
|
|
}else{
|
|
$conut_balls = 30;
|
|
}
|
|
|
|
$percent = 90;
|
|
$small_number = 6;
|
|
|
|
if($args[1]){
|
|
$max_number = $args[1];
|
|
}else{
|
|
$max_number = 12;
|
|
}
|
|
|
|
|
|
$databaseManager = new sfDatabaseManager();
|
|
$databaseManager->initialize();
|
|
|
|
date_default_timezone_set('Europe/Warsaw');
|
|
|
|
$c = new Criteria();
|
|
$products = ProductPeer::doSelect($c);
|
|
|
|
for ($i = 0; $i < $conut_balls; $i++) {
|
|
|
|
$browsers = array("firefox", "chrome", "safari", "opera", "edge");
|
|
$random_browser = $browsers[array_rand($browsers)];
|
|
|
|
$system = array("mac", "windows", "linux");
|
|
$random_system = $system[array_rand($system)];
|
|
|
|
$hardware = array("mobile", "desktop");
|
|
$random_hardware = $hardware[array_rand($hardware)];
|
|
|
|
$ip = array();
|
|
for ($ii = 0; $ii < 4; $ii++) {
|
|
$ip[] = rand(0, 255);
|
|
}
|
|
$remote_address = implode(".", $ip);
|
|
|
|
$color = stUserTrackerLevelInterface::generateColor();
|
|
|
|
|
|
if($products){
|
|
$random_product = $products[array_rand($products)];
|
|
$product_view = $random_product->getId();
|
|
|
|
$random_product = $products[array_rand($products)];
|
|
$add_to_basket = $random_product->getId();
|
|
}
|
|
|
|
$random_number = rand(1, 100);
|
|
|
|
if ($random_number <= $percent) {
|
|
// W 80% przypadków losujemy liczbę z zakresu 1-8
|
|
$result = rand(1, $small_number);
|
|
} else {
|
|
// W pozostałych 20% przypadków losujemy liczbę z zakresu 9-30
|
|
$result = rand($small_number+1, $max_number);
|
|
}
|
|
|
|
$visit_count = $result;
|
|
|
|
|
|
$utl_cookies['created_at'] = date('Y-m-d H:i:s');
|
|
$utl_cookies['cookie_id'] = "test";
|
|
$utd_cookies['cookie_id'] = "test";
|
|
$utd_cookies['visit_count'] = $visit_count;
|
|
$utd_cookies['place_order'] = 0;
|
|
$utd_cookies['product_view'] = $product_view;
|
|
$utd_cookies['add_to_basket'] = $add_to_basket;
|
|
$utd_cookies['remote_address'] = $remote_address;
|
|
$utd_cookies['browser'] = $random_browser;
|
|
$utd_cookies['system'] = $random_system;
|
|
$utd_cookies['hardware'] = $random_hardware;
|
|
|
|
|
|
|
|
$stUserTrackerLevel = new stUserTrackerLevel();
|
|
$stUserTrackerLevel->setCreatedAt($utl_cookies['created_at']);
|
|
$stUserTrackerLevel->setCookieId($utl_cookies['cookie_id']);
|
|
$stUserTrackerLevel->setUtColor($color);
|
|
|
|
$stUserTrackerLevel->setUpdatedAt(date('Y-m-d H:i:s'));
|
|
$stUserTrackerLevel->setCookieUtdId($utd_cookies['cookie_id']);
|
|
|
|
$stUserTrackerLevel->setVisitCount($utd_cookies['visit_count']);
|
|
$stUserTrackerLevel->setPlaceOrder($utd_cookies['place_order']);
|
|
$stUserTrackerLevel->setProductView($utd_cookies['product_view']);
|
|
$stUserTrackerLevel->setAddToBasket($utd_cookies['add_to_basket']);
|
|
|
|
$stUserTrackerLevel->setRemoteAddress($utd_cookies['remote_address']);
|
|
$stUserTrackerLevel->setBrowser($utd_cookies['browser']);
|
|
$stUserTrackerLevel->setSystem($utd_cookies['system']);
|
|
$stUserTrackerLevel->setHardware($utd_cookies['hardware']);
|
|
$stUserTrackerLevel->setIsTest(1);
|
|
|
|
$stUserTrackerLevel->save();
|
|
|
|
}
|
|
|
|
|
|
|
|
$databaseManager->shutdown();
|
|
|
|
pake_echo('data created');
|
|
}
|
|
|
|
|
|
// ./symfony delete-ut-data
|
|
function run_delete_ut_data(pakeTask $task, array $args = [], array $options = [])
|
|
{
|
|
define('SF_ROOT_DIR', sfConfig::get('sf_root_dir'));
|
|
define('SF_APP', 'backend');
|
|
define('SF_ENVIRONMENT', 'dev');
|
|
define('SF_DEBUG', true);
|
|
require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
|
|
|
|
$databaseManager = new sfDatabaseManager();
|
|
$databaseManager->initialize();
|
|
|
|
$c = new Criteria();
|
|
$c->add(stUserTrackerLevelPeer::IS_TEST, 1);
|
|
$stUserTrackerLevel = stUserTrackerLevelPeer::doDelete($c);
|
|
|
|
$databaseManager->shutdown();
|
|
|
|
pake_echo('data deleted');
|
|
} |