GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

TbExtendedTooltipAction::getDbConnection()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 0
cts 10
cp 0
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 7
nc 3
nop 0
crap 12
1
<?php
2
/**
3
 *## TbExtendedTooltipAction class file
4
 *
5
 * @author antonio ramirez <[email protected]>
6
 */
7
8
/**
9
 *## Class TbExtendedTooltipAction
10
 *
11
 * @package booster.actions
12
 */
13
class TbExtendedTooltipAction extends CAction
14
{
15
	/**
16
	 * @var string the name of the table for keeping applied migration information.
17
	 * This table will be automatically created if not exists. Defaults to 'tbl_tooltip'.
18
	 * The table structure is: (key varchar(255) primary key, tooltip varchar(255))
19
	 */
20
	public $tooltipTable = 'tbl_tooltip';
21
22
	/**
23
	 * @var string the application component ID that specifies the database connection for
24
	 * storing tooltip information. Defaults to 'db'.
25
	 */
26
	public $connectionID = 'db';
27
28
	/**
29
	 * @var CDbConnection
30
	 */
31
	protected $_db;
32
33
	/**
34
	 * CAction run's method
35
	 */
36
	public function run()
37
	{
38
		$key = yii::app()->request->getParam('name');
39
		$tooltip = Yii::app()->request->getParam('value');
40
		if (!$key || !$tooltip) {
41
			throw new CHttpException(404, Yii::t('zii', 'Unauthorized request'));
42
		}
43
44
		if (!$this->getDbConnection()
45
			->createCommand()
46
			->update($this->tooltipTable, array('tooltip' => $tooltip), 'tooltip_key=:key', array(':key' => $key))
47
		) {
48
			$this->getDbConnection()
49
				->createCommand()
50
				->insert($this->tooltipTable, array('tooltip_key' => $key, 'tooltip' => $tooltip));
51
		}
52
	}
53
54
	/**
55
	 * Returns the currently active database connection.
56
	 * By default, the 'db' application component will be returned and activated.
57
	 * You can call {@link setDbConnection} to switch to a different database connection.
58
	 * Methods such as {@link insert}, {@link createTable} will use this database connection
59
	 * to perform DB queries.
60
	 * @throws CException
61
	 * @return CDbConnection the currently active database connection
62
	 */
63
	protected function getDbConnection()
64
	{
65
		if ($this->_db === null) {
66
			$db = Yii::app()->getComponent('db');
67
			if (!$db instanceof CDbConnection)
0 ignored issues
show
Bug introduced by
The class CDbConnection does not exist. Did you forget a USE statement, or did you not list all dependencies?

This error could be the result of:

1. Missing dependencies

PHP Analyzer uses your composer.json file (if available) to determine the dependencies of your project and to determine all the available classes and functions. It expects the composer.json to be in the root folder of your repository.

Are you sure this class is defined by one of your dependencies, or did you maybe not list a dependency in either the require or require-dev section?

2. Missing use statement

PHP does not complain about undefined classes in ìnstanceof checks. For example, the following PHP code will work perfectly fine:

if ($x instanceof DoesNotExist) {
    // Do something.
}

If you have not tested against this specific condition, such errors might go unnoticed.

Loading history...
68
				throw new CException(Yii::t( 'zii', 'The "db" application component must be configured to be a CDbConnection object.' ));
69
70
			$this->_db = $db;
71
		}
72
73
		return $this->_db;
74
	}
75
}
76