Gentics Portal.Node PHP API
 All Classes Namespaces Functions Variables Pages
Public Member Functions | List of all members
BulkController Class Reference
Inheritance diagram for BulkController:
BaseController

Public Member Functions

 filters ()
 accessRules ()
 init ()
 actionIndex ()
 actionGenerate ()
 actionClear ($type)
- Public Member Functions inherited from BaseController
 getClient ()
 getAssetsPath ()
 getViewFile ($viewName)
 getJs ($path)
 renderMail ($view, $title=null, $data)
 redirect ($url, $terminate=true, $statusCode=302)

Additional Inherited Members

- Public Attributes inherited from BaseController
 $layout = '//layouts/gportal'
 $mailLayout = '//layouts/mail'
- Protected Member Functions inherited from BaseController
 beforeAction ($action)

Detailed Description

Gentics Portal.Node PHP Author & Copyright (c) by Gentics Software GmbH sales.nosp@m.@gen.nosp@m.tics..nosp@m.com http://www.gentics.com Licenses can be found in the LICENSE.txt file in the root-folder of this installation You must not use this software without a valid license agreement.

Comment controller class file.

Author
Vitalii Kovalchuk vital.nosp@m.y.ko.nosp@m.valch.nosp@m.uk@o.nosp@m.berig.nosp@m..com Comment controller class
Vitalii Kovalchuk vital.nosp@m.y.ko.nosp@m.valch.nosp@m.uk@o.nosp@m.berig.nosp@m..com

Definition at line 21 of file BulkController.php.

Member Function Documentation

BulkController::actionClear (   $type)

private method that gets list if users generated by this module

Parameters
string$typedefines what type of data should be deleted
Returns
bool | array

Definition at line 399 of file BulkController.php.

References Profile\model(), User\model(), Like\model(), and Comment\model().

{
$usersQty = 0;
$likesQty = 0;
$commentsQty = 0;
if ($userIds = $this->_getBulkUsersIds()) {
$userIdsStr = implode(',', $userIds);
if ($type == 'all') {
$likesQty = Yii::app()->db->createCommand()->delete(Like::model()->tableName(), "user_id in ($userIdsStr)");
$commentsQty = Yii::app()->db->createCommand()->delete(Comment::model()->tableName(), "user_id in ($userIdsStr)");
Yii::app()->db->createCommand()->delete(Profile::model()->tableName(), "user_id in ($userIdsStr)");
$usersQty = Yii::app()->db->createCommand()->delete(User::model()->tableName(), "is_bulk = :is_bulk", array(':is_bulk' => true));
} elseif ($type == 'likes') {
$likesQty = Yii::app()->db->createCommand()->delete(Like::model()->tableName(), "user_id in ($userIdsStr)");
} elseif ($type == 'comments') {
$commentsQty = Yii::app()->db->createCommand()->delete(Comment::model()->tableName(), "user_id in ($userIdsStr)");
}
}
$this->render('bulk.views.bulk.clear', array('usersQty' => $usersQty, 'likesQty' => $likesQty, 'commentsQty' => $commentsQty));
}
BulkController::actionGenerate ( )

action for displaying generation form and some statistics

Returns
void

Definition at line 110 of file BulkController.php.

References BulkModule\t().

{
if (isset($_GET['GenerationForm'])) {
$model = new GenerationForm();
$model->attributes = $_GET['GenerationForm'];
set_time_limit(0);
$start = microtime(true);
$usersCreated = 0;
if (!empty($model->usersQty)) {
$usersCreated = $this->_generateUsers($model->usersQty);
}
$likesCreated = 0;
if (!empty($model->likesQty)) {
if (($likesCreated = $this->_generateLikes($model->likesQty, $model->likesContentId)) === false) {
Yii::app()->user->setFlash('error', BulkModule::t('There is no bulk users(free bulk users)! Cant create likes'));
}
}
$commentsCreated = 0;
if (!empty($model->commentsQty)) {
if (($commentsCreated = $this->_generateComments($model->commentsQty, $model->commentsContentId, $model->commentsForEach)) === false) {
Yii::app()->user->setFlash('error', BulkModule::t('There is no bulk users! Cant create comments'));
}
}
$totalTime = round(microtime(true) - $start, 4);
$this->render(
'bulk.views.bulk.generate',
array('usersCreated' => $usersCreated, 'likesCreated' => $likesCreated, 'commentsCreated' => $commentsCreated, 'time' => $totalTime)
);
} else {
$this->redirect('index');
}
}
BulkController::actionIndex ( )

default action will show module menu

Returns
bool

Definition at line 75 of file BulkController.php.

References User\model(), Like\model(), and Comment\model().

{
$model = new GenerationForm();
$usersQty = User::model()->count('is_bulk = :is_bulk', array(':is_bulk' => true));
$likesQty = Yii::app()->db->createCommand()
->select('count(*)')
->from(Like::model()->tableName())
->join(User::model()->tableName() . ' as u', 'u.id = user_id')
->where('is_bulk = :is_bulk', array(':is_bulk' => true))
->queryScalar();
$commentsQty = Yii::app()->db->createCommand()
->select('count(*)')
->from(Comment::model()->tableName())
->join(User::model()->tableName() . ' as u', 'u.id = user_id')
->where('is_bulk = :is_bulk', array(':is_bulk' => true))
->queryScalar();
if (isset($_POST['GenerationForm'])) {
$model->attributes = $_POST['GenerationForm'];
if ($model->validate()) {
$this->redirect('/bulk/bulk/generate?' . http_build_query($_POST));
}
}
$this->render('index', array('model' => $model, 'usersQty' => $usersQty, 'likesQty' => $likesQty, 'commentsQty' => $commentsQty));
}
BulkController::filters ( )

Defines filters

Returns
array

Definition at line 35 of file BulkController.php.

{
return array(
'accessControl'
);
}
BulkController::init ( )

Inits data

Returns
array

Definition at line 61 of file BulkController.php.

{
$logRouter = Yii::app()->getComponent('log');
Yii::getLogger()->detachEventHandler('onFlush', array($logRouter, 'collectLogs'));
Yii::app()->detachEventHandler('onEndRequest', array($logRouter, 'processLogs'));
}

The documentation for this class was generated from the following file: