Saturday, July 20, 2019

Ubuntu route configuration

Clear route table: sudo ip route flush table main
Add default route: sudo route add default gw 192.168.1.1
Add route to certain subnet: sudo ip route add 0.0.0.0/0 dev ens33

Add route according to route table: sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
Add route via: sudo ip route add 192.168.1.0/24 via 192.168.1.1


Delete certain route:
sudo route del -net 192.168.1.0 gw 0.0.0.0 netmask 255.255.255.0
sudo route del -net 192.168.1.0 gw 0.0.0.0 netmask 255.255.255.0 dev ens33


Restart network service:  systemctl restart networking
Restart network manager: sudo service network-manager




Wednesday, July 3, 2019

To make /etc/network/interfaces effective after changing the file

When changing the file /etc/network/interfaces, there will be no immediate effect except reboot the system. You can run following commands to take effect.


sudo ifconfig ath0 down
sudo /etc/init.d/networking restart
sudo ifconfig ath0 up

Tuesday, March 12, 2019

Solving Network Manangement Disabled in Ubuntu

go to /etc/NetworkManager/nm-system-settings.conf

then set managed=false to managed=true

sudo service network-manager restart
if there is no change try

touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo service network-manager restart

Tuesday, January 15, 2019

PhpMyAdmin has no export as SQL option problem

Find the Export.php file in the phpmyadmin display folder or something like this phpMyAdmin/libraries/classes/Display depending on type of OS and package.

find the text /* Scan for plugins */ and put the code above right below after the text

if (isset($_GET['single_table'])) { 
$GLOBALS['single_table'] = $_GET['single_table']; 
}

Good luck

Sunday, January 13, 2019

Error: Your requirements could not be resolved to an installable set of packages of composer

Solve by putting ignoring platform requirements
Example: composer require --prefer-dist victor78/yii2-zipper:"~0.0.4"
You will get error 

Your requirements could not be resolved to an installable set of packages. Installation failed, reverting ./composer.json to its original content.
So can by as follows: 
composer require --prefer-dist victor78/yii2-zipper:"~0.0.4" --ignore-platform-reqs 




Wednesday, December 16, 2015

Yii2: Login With MySQL Database

1. Create a Table named Login

CREATE TABLE IF NOT EXISTS `login` (

  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  `authKey` varchar(50) NOT NULL,
  `accessToken` varchar(50) NOT NULL,
  `role` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

2. Insert sample data into the table

INSERT INTO `yii2`.`login` (`id`, `username`, `password`, `authKey`, `accessToken`, `role`) VALUES (NULL, 'john', 'john1234', 'key1234567', 'token1234567', '1');

3. Create Model for the table. You may use Gii to generate the model

<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "login".
 *
 * @property integer $id
 * @property string $username
 * @property string $password
 * @property string $authKey
 * @property string $accessToken
 * @property integer $role
 */
class Login extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'login';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['username', 'password', 'authKey', 'accessToken', 'role'], 'required'],
            [['role'], 'integer'],
            [['username', 'password'], 'string', 'max' => 30],
            [['authKey', 'accessToken'], 'string', 'max' => 50]
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'username' => 'Username',
            'password' => 'Password',
            'authKey' => 'Auth Key',
            'accessToken' => 'Access Token',
            'role' => 'Role',
        ];
    }

}


4. Open User.php file in models/User.php. Goto to findIdentity static function

Original code

public static function findIdentity($id)
{
   return isset(self::$users[$id]) ? new static(self::$users[$id]) : null;
}

Change to

public static function findIdentity($id)
{
   $user = Login::findOne($id);
   if(count($user)){
      return new static($user);
   }
   return null;
}

5. Change static function findIdentityByAccessToken

Original Code

public static function findIdentityByAccessToken($token, $type = null)
{
        foreach (self::$users as $user) {
            if ($user['accessToken'] === $token) {
                return new static($user);
            }
        }

        return null;
}


Change to

public static function findIdentityByAccessToken($token, $type = null)
{
        $user = Login::find()->where(['accessToken'=>$token])->one();
        if(count($user)){
            return new static($user);
        }
        return null;
}

6. Change static function findByUsername

Original Code

public static function findByUsername($username)
{
        foreach (self::$users as $user) {
            if (strcasecmp($user['username'], $username) === 0) {
                return new static($user);
            }
        }

        return null;
}

Change to


public static function findByUsername($username)
{
        $user = Login::find()->where(['username'=>$username])->one();
        if(count($user)){
            return new static($user);
        }
        return null;
}



7. Now you can test the login page with test data.










Monday, June 3, 2013


Increase JQuery Mobile speed loading in Android using phoneGap or whatever




1) Put the JavaScript end of body befor </body>

2) Integrate the jquery function with phoneGap function for example in my code app is consuming JSON from a PHP server. I used

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
        $.getJSON("http://aamirkhan9876.byethost7.com/mobMoviesServer/services/m/get_banners.php",function(jData){//code});
}
onDeviceReady(); is provided by phoneGap.

3) Use splash screen instead of black screen because PhoneGap application takes time on startup. A black screen appears for few seconds. To avoide that use a splash screen.

On DroidGap Activity. use
        super.setIntegerProperty("splashscreen", R.drawable.images);
        super.loadUrl("file:///android_asset/www/index.html", 10000);  
 It will show the splash screen instead of black screen for 10000 ms.
 For activity loads before this time use blow code in index.html
 function onDeviceReady() {
      cordova.exec(null, null, "SplashScreen", "hide", []);
}
4) Make JavaScript and CSS External

5) Put Stylesheets at the Top

6) Avoid jquery mobile nvigation transition. If you can.
     $.mobile.defaultPageTransition="none"
7) Compress/Minify your js & css files. Use any Compressor such as yui compressor .