Code Analysis: WSChat - Live Chat 1.0.0

Function Rating Maintainability Complexity Lines of code
WpFluent\QueryBuilder\Adapters\BaseAdapter::select()
A
43 12 46
WSChat\WSConversation::get_conversations()
A
37 9 84
WpFluent\QueryBuilder\Adapters\BaseAdapter::buildCriteria()
A
42 10 53
WSChat\WSMessage::send_message()
A
42 10 48
WpFluent\QueryBuilder\QueryBuilderHandler::addTablePrefix()
A
51 11 26
WSChat\Models\Message::applyFilter()
A
53 9 24
WSChat\Migrate::upgrage_1()
A
37 3 102
WSChat\Models\User::parseUserData()
S
52 7 24
WSChat\WSUser::get_user()
S
55 7 19
WpFluent\QueryBuilder\Adapters\BaseAdapter::doInsert()
S
47 6 33
WSChat\Models\User::create()
S
49 6 30
WSChat\WSMessage::get_messages()
S
49 6 30
WpFluent\QueryBuilder\Adapters\BaseAdapter::buildJoin()
S
50 6 28
WSChat\WSSettings::save_settings()
S
51 6 25
WpFluent\QueryBuilder\QueryBuilderHandler::paginate()
S
53 6 20
WSChat\WSConversation::pusher_auth()
S
48 5 34
WSChat\WSMessage::admin_router()
S
54 6 19
WSChat\WSConversation::admin_pusher_auth()
S
50 5 29
WSChat\Models\Participant::online()
S
54 5 21
WpFluent\QueryBuilder\QueryBuilderHandler::orderBy()
S
56 5 18
WpFluent\EventHandler::fireEvents()
S
56 5 17
Viocon\Container::build()
S
58 5 15
WSChat\Utils::get_widget_settings()
S
45 3 44
WSChat\WSSettings::get_widget_settings()
S
45 3 44
WpFluent\QueryBuilder\Adapters\BaseAdapter::arrayStr()
S
60 5 13
WpFluent\QueryBuilder\Adapters\BaseAdapter::wrapSanitizer()
S
60 5 12
WpFluent\QueryBuilder\QueryBuilderHandler::doInsert()
S
53 4 23
WpFluent\QueryBuilder\Adapters\BaseAdapter::update()
S
53 4 21
WpFluent\QueryBuilder\QueryBuilderHandler::__construct()
S
55 4 19
WSChat\WSConversation::join_conversation()
S
50 3 32
WpFluent\QueryBuilder\QueryBuilderHandler::aggregate()
S
57 4 16
WSChat\Models\Participant::add()
S
57 4 16
WSChat\Utils::isAgent()
S
64 5 9
WpFluent\QueryBuilder\QueryBuilderHandler::when()
S
67 5 8
WSChat\Models\Participant::applyFilters()
S
60 4 14
WSChat\WSSettings::admin_settings()
S
58 4 14
WpFluent\QueryBuilder\QueryObject::interpolateQuery()
S
59 4 13
WSChat\WSChat::enqueue_admin_scripts()
S
61 4 11
WpFluent\QueryBuilder\QueryBuilderHandler::transaction()
S
58 3 17
WpFluent\QueryBuilder\QueryBuilderHandler::get()
S
58 3 16
WSChat\Models\User::updateMeta()
S
58 3 15
WSChat\Migrate::run()
S
58 3 15
WpFluent\QueryBuilder\Adapters\BaseAdapter::getUpdateStatement()
S
59 3 14
WpFluent\QueryBuilder\Adapters\BaseAdapter::delete()
S
59 3 12
WSChat\Models\Participant::find()
S
61 3 12
WSChat\Models\Conversation::find()
S
62 3 11
WpFluent\QueryBuilder\Adapters\BaseAdapter::buildCriteriaWithType()
S
62 3 11
WSChat\WSMessage::user_router()
S
61 3 11
WSChat\Migrate::up()
S
62 3 11
WSChat\Models\Participant::findByUser()
S
62 3 11
WSChat\Models\User::update()
S
62 3 11
WSChat\Models\User::first()
S
62 3 11
WSChat\WSConversation::start_conversation()
S
56 2 20
WSChat\WSChat::add_admin_main_menu()
S
57 2 18
WSChat\Models\Message::getAllUnreadCount()
S
56 2 18
WSChat\WSPusher::get_pusher()
S
58 2 17
WSChat\Models\Message::notify()
S
58 2 16
WSChat\WSPusher::validate_pusher_config()
S
65 3 9
WpFluent\QueryBuilder\QueryBuilderHandler::addStatement()
S
64 3 10
WpFluent\QueryBuilder\QueryBuilderHandler::registerEvent()
S
68 3 7
WpFluent\QueryBuilder\QueryObject::getPlaceHolder()
S
66 3 9
WpFluent\Connection::__construct()
S
64 3 10
WpFluent\EventHandler::getEvent()
S
70 3 6
WSChat\WSConversation::get_conversation()
S
60 2 15
WSChat\Utils::is_widget_online()
S
67 3 7
WSChat\Models\Message::readAll()
S
59 2 15
WSChat\WSMessage::read_all()
S
60 2 14
WSChat\Models\Conversation::create()
S
60 2 13
WSChat\Models\Message::get()
S
60 2 13
WpFluent\QueryBuilder\QueryBuilderHandler::join()
S
59 2 13
translate_wschat_admin_notice()
S
62 2 12
WpFluent\QueryBuilder\QueryBuilderHandler::getQuery()
S
61 2 11
WSChat\WSPusher::send_message()
S
61 2 11
WSChat\WSChat::add_admin_bar_links()
S
58 1 16
Viocon\Container::instanciate()
S
68 2 7
WpFluent\AliasFacade::__callStatic()
S
70 2 6
wsdesk_admin_notices()
S
78 2 3
Test_Conversation::get_conversation()
S
72 2 5
WpFluent\Connection::connect()
S
71 2 6
WSChat\WSChat::actionLink()
S
62 2 10
WpFluent\EventHandler::registerEvent()
S
75 2 4
WSChat\Models\Conversation::__get()
S
78 2 3
WpFluent\QueryBuilder\Adapters\BaseAdapter::criteriaOnly()
S
66 2 8
Viocon\AliasFacade::__callStatic()
S
70 2 6
WpFluent\QueryBuilder\QueryBuilderHandler::from()
S
67 2 8
WpFluent\QueryBuilder\Adapters\BaseAdapter::concatenateQuery()
S
68 2 7
WSChat\Models\Message::add()
S
58 1 15
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereNot()
S
68 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::newQuery()
S
71 2 6
WpFluent\QueryBuilder\QueryBuilderHandler::chunk()
S
64 2 10
WpFluent\QueryBuilder\QueryBuilderHandler::first()
S
72 2 5
WpFluent\QueryBuilder\QueryBuilderHandler::subQuery()
S
68 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::update()
S
65 2 9
wpFluent()
S
64 2 9
WpFluent\QueryBuilder\QueryBuilderHandler::updateOrInsert()
S
70 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::orWhere()
S
68 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::delete()
S
65 2 9
WpFluent\QueryBuilder\QueryBuilderHandler::table()
S
65 2 9
WSChat\WSChat::load_widget()
S
64 2 9
WpFluent\QueryBuilder\QueryBuilderHandler::select()
S
67 2 8
WSChat\Models\Participant::__get()
S
78 2 3
WSChat\Models\Participant::status()
S
73 2 5
WpFluent\QueryBuilder\QueryBuilderHandler::where()
S
68 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::whereNot()
S
68 2 7
WSChat\WSChat::add_menu()
S
70 2 6
WSChat\Models\User::find()
S
67 2 8
WSChat\WSPusher::can_connect_to_pusher()
S
71 2 5
WSChat\Models\User::applyFilters()
S
68 2 7
WpFluent\QueryBuilder\QueryBuilderHandler::removeEvent()
S
70 2 6
WSChat\Models\User::__get()
S
78 2 3
WSChat\Models\User::isGuest()
S
79 2 3
WSChat\Utils::abort_if()
S
70 2 6
WSChat\Models\User::type()
S
79 2 3
WSChat\WSSettings::getTones()
S
60 1 15
Viocon\Container::__construct()
S
71 2 6
Test_Conversation::test_create_new_conversation_action_hook()
S
60 1 14
WSChat\WSMessage::init()
S
61 1 12
Test_New_User::test_create_user_event()
S
63 1 11
WSChat\Models\Message::getRecentMessage()
S
61 1 11
Test_Conversation::test_make_sure_the_hook_is_not_called_if_exists()
S
63 1 11
WSChat\WSChat::localize_script()
S
64 1 11
WSChat\WSPusher::init()
S
72 1 5
WpFluent\Connection::getStoredConnection()
S
81 1 3
WSChat\Models\User::toArray()
S
82 1 3
WpFluent\QueryBuilder\Raw::getBindings()
S
82 1 3
Viocon\AliasFacade::setVioconInstance()
S
80 1 3
Viocon\AliasFacade::getVioconInstance()
S
81 1 3
WSChat\WSUser::init()
S
91 1 2
Viocon\Container::set()
S
78 1 3
Viocon\Container::has()
S
79 1 3
Viocon\Container::singleton()
S
79 1 3
Viocon\Container::setInstance()
S
80 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::whereNotIn()
S
78 1 3
WpFluent\QueryBuilder\Adapters\BaseAdapter::insertIgnore()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereNotNull()
S
79 1 3
WSChat\Utils::get_url()
S
79 1 3
WSChat\Models\Conversation::toArray()
S
82 1 3
WpFluent\Connection::getAdapterConfig()
S
82 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::whereNull()
S
80 1 3
WpFluent\QueryBuilder\Adapters\BaseAdapter::insert()
S
79 1 3
WpFluent\EventHandler::removeEvent()
S
79 1 3
WSChat\WSChat::register_routes()
S
73 1 6
WSChat\Models\Message::parseData()
S
70 1 6
WpFluent\Connection::setAdapter()
S
77 1 4
WSChat\Utils::abort_unless()
S
77 1 3
WSChat\Models\Message::__get()
S
79 1 3
WSChat\Models\User::get()
S
67 1 9
WpFluent\QueryBuilder\QueryBuilderHandler::groupBy()
S
73 1 5
WpFluent\AliasFacade::setQueryBuilderInstance()
S
80 1 3
WSChat\Models\Conversation::findByChatUserId()
S
66 1 9
WSChat\Models\Participant::isOnline()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::setConnection()
S
77 1 4
WSChat\Models\Participant::__construct()
S
81 1 3
WpFluent\QueryBuilder\Adapters\BaseAdapter::__construct()
S
76 1 4
WpFluent\Connection::getDbInstance()
S
82 1 3
Test_Conversation::get_user()
S
76 1 4
WSChat\Models\Message::toArray()
S
82 1 3
WSChat\WSUser::create_user()
S
73 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::onDuplicateKeyUpdate()
S
76 1 4
Test_New_User::test_user_has_role()
S
73 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereIn()
S
78 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::statement()
S
73 1 5
WSChat\Models\Conversation::applyFilters()
S
66 1 8
WpFluent\QueryBuilder\QueryBuilderHandler::getConnection()
S
82 1 3
WSChat\WSConversation::init()
S
63 1 10
WpFluent\QueryBuilder\QueryBuilderHandler::query()
S
69 1 7
WSChat\WSChat::load_language()
S
78 1 3
WpFluent\Connection::createAlias()
S
72 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::raw()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::having()
S
71 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::find()
S
75 1 4
WSChat\Utils::get_resource_url()
S
73 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::setFetchMode()
S
76 1 4
WSChat\Models\Conversation::messages()
S
80 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::offset()
S
76 1 4
WpFluent\Connection::getContainer()
S
82 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::asObject()
S
72 1 5
WSChat\WSChat::migrate()
S
82 1 3
WSChat\WSChat::boot()
S
63 1 10
WpFluent\QueryBuilder\QueryBuilderHandler::limit()
S
76 1 4
WpFluent\QueryBuilder\Raw::__toString()
S
81 1 3
WSChat\WSSettings::init()
S
89 1 2
WSChat\Models\Conversation::parseData()
S
73 1 5
WpFluent\Connection::setDbInstance()
S
77 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereNotIn()
S
78 1 3
WpFluent\QueryBuilder\QueryObject::getRawSql()
S
79 1 3
SampleTest::test_sample()
S
71 1 6
WpFluent\QueryBuilder\QueryBuilderHandler::rightJoin()
S
78 1 3
WpFluent\Connection::setAdapterConfig()
S
77 1 4
WpFluent\QueryBuilder\QueryObject::getBindings()
S
82 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::whereIn()
S
78 1 3
WSChat\Models\User::getByUserId()
S
66 1 9
WpFluent\QueryBuilder\QueryBuilderHandler::selectDistinct()
S
73 1 5
_manually_load_plugin()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::insertIgnore()
S
79 1 3
WSChat\Models\Participant::toArray()
S
82 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::getEvent()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::whereHandler()
S
71 1 5
WpFluent\QueryBuilder\QueryBuilderHandler::findAll()
S
75 1 4
WSChat\Models\Participant::isAgent()
S
80 1 3
WSChat\WSChat::withBasename()
S
77 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::count()
S
66 1 9
WpFluent\Connection::getQueryBuilder()
S
79 1 3
WpFluent\QueryBuilder\JoinBuilder::on()
S
78 1 3
WSChat\Models\Participant::parseData()
S
77 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::whereNotNull()
S
79 1 3
Test_New_User::test_get_user_returns_logged_in_user()
S
68 1 7
WSChat\Utils::abort_unless_agent()
S
66 1 9
WpFluent\QueryBuilder\JoinBuilder::joinHandler()
S
69 1 6
WSChat\Models\Participant::getStatuses()
S
66 1 9
WpFluent\QueryBuilder\QueryBuilderHandler::whereNullHandler()
S
73 1 4
WSChat\Models\Conversation::chatUser()
S
80 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereNull()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::innerJoin()
S
78 1 3
WSChat\Models\Conversation::get()
S
80 1 3
WSChat\Models\Participant::get()
S
80 1 3
WSChat\WSChat::admin_live_chat()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::orHaving()
S
78 1 3
WpFluent\Connection::getEventHandler()
S
82 1 3
WSChat\Models\Conversation::touch()
S
72 1 5
WpFluent\QueryBuilder\Transaction::rollback()
S
77 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::whereBetween()
S
78 1 3
WSChat\Models\User::getBySessionKey()
S
65 1 10
WpFluent\QueryBuilder\QueryBuilderHandler::getStatements()
S
82 1 3
WSChat\Models\User::findById()
S
70 1 7
WpFluent\QueryBuilder\Raw::__construct()
S
76 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::fireEvents()
S
68 1 8
Test_New_User::test_create_user_event_not_triggered_on_request()
S
65 1 10
WSChat\Models\Conversation::participants()
S
80 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::replace()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::insert()
S
79 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::leftJoin()
S
78 1 3
WpFluent\QueryBuilder\QueryBuilderHandler::orWhereBetween()
S
78 1 3
WSChat\Models\Conversation::findById()
S
71 1 7
WpFluent\QueryBuilder\QueryObject::getSql()
S
82 1 3
WSChat\Models\Message::unreadCount()
S
67 1 7
WSChat\Models\Message::__construct()
S
81 1 3
WpFluent\EventHandler::getEvents()
S
82 1 3
WpFluent\Connection::getAdapter()
S
82 1 3
WSChat\WSPusher::is_pusher_enabled()
S
75 1 4
WpFluent\QueryBuilder\Adapters\BaseAdapter::replace()
S
79 1 3
WSChat\Models\Message::count()
S
80 1 3
WpFluent\QueryBuilder\JoinBuilder::orOn()
S
78 1 3
Test_Conversation::test_create_new_conversation()
S
70 1 6
WSChat\Utils::abort()
S
76 1 4
WSChat\WSPusher::invalid_config_notice()
S
71 1 7
WpFluent\QueryBuilder\Transaction::commit()
S
77 1 4
WpFluent\QueryBuilder\QueryBuilderHandler::db()
S
82 1 3
WpFluent\QueryBuilder\QueryObject::__construct()
S
71 1 6
WSChat\WSChat::enqueue_scripts()
S
71 1 5
WSChat\Models\User::__construct()
S
81 1 3
WpFluent\QueryBuilder\NestedCriteria::whereHandler()
S
71 1 5