Blank screen after dialog on log-in

  1. 9 years ago

    Hi following an upgrade from 2.26 to 2.28, I have a bank screen following log in. I'm logging in with the same credentials as per the earlier version of FOP2. I'm presented with a dialog to choose a drop down station ID (which is unrelated to the login ID) and then a profiles drop down. After that, blank....

  2. admin

    16 Feb 2015 Administrator

    Uninstall the hotdesk plugin. Then try again. (And do not reinstall that plugin again unless you really know what you are doing, and as the plugin is not really documented, it is dangerous to use it).

  3. Edited 9 years ago by simcity

    Tried that.

    No dialog box prompting for station ID/profiles, but screen still *completely* blank after login?

    The only thing displayed is the banner at the very bottom of the screen:

    FOP2 - Version 2.28 - Licensed to etc, etc

    All else is is a nice crisp blank white....

  4. admin

    19 Feb 2015 Administrator

    what is the output from:

    /usr/local/fop2/autoconfig-buttons.sh

    ?

  5. #!/bin/bash
    
    if [ -e /etc/amportal.conf ]; then
    DBNAME=`cat /etc/amportal.conf | sed 's/ //g' | grep ^AMPDBNAME | cut -d= -f2 | tail -n1`
    DBUSER=`cat /etc/amportal.conf | sed 's/ //g' | grep ^AMPDBUSER | cut -d= -f2 | tail -n1`
    DBPASSLINE=`cat /etc/amportal.conf | grep ^AMPDBPASS | tail -n1`
    DBSTRIP=`echo $DBPASSLINE | cut -d= -f1`
    DBPASS=`echo $DBPASSLINE | sed "s/$DBSTRIP=//g"`
    DBHOST=`cat /etc/amportal.conf | sed 's/ //g' | grep ^AMPDBHOST | cut -d= -f2 | tail -n1`
    
    elif [ -e /etc/freepbx.conf ]; then
    DBNAME=`cat /etc/freepbx.conf | sed 's/ //g' | grep ^AMPDBNAME | cut -d= -f2 | tail -n1`
    DBUSER=`cat /etc/freepbx.conf | sed 's/ //g' | grep ^AMPDBUSER | cut -d= -f2 | tail -n1`
    DBPASSLINE=`cat /etc/freepbx.conf | grep ^AMPDBPASS | tail -n1`
    DBSTRIP=`echo $DBPASSLINE | cut -d= -f1`
    DBPASS=`echo $DBPASSLINE | sed "s/$DBSTRIP=//g"`
    DBHOST=`cat /etc/freepbx.conf | sed 's/ //g' | grep ^AMPDBHOST | cut -d= -f2 | tail -n1`
    
    elif [ -e /var/thirdlane_load/pbxportal-ast.sysconfig ]; then
    DBNAME='pbxconf'
    DBHOST='localhost'
    DBUSER=`cat /var/thirdlane_load/pbxportal-ast.sysconfig | sed 's/ //g' | grep ^DBUSER | cut -d= -f2 | tail -n1`
    DBPASSLINE=`cat /var/thirdlane_load/pbxportal-ast.sysconfig | grep ^DBPASS | tail -n1`
    DBSTRIP=`echo $DBPASSLINE | cut -d= -f1`
    DBPASS=`echo $DBPASSLINE | sed "s/$DBSTRIP=//g"`
    
    elif [ -e /var/www/html/fop2/admin/config.php ]; then
    
    DBNAME=`cat /var/www/html/fop2/admin/config.php | sed 's/ //g' | grep ^\\$DBNAME | cut -d= -f2 | tail -n1`
    DBUSER=`cat /var/www/html/fop2/admin/config.php | sed 's/ //g' | grep ^\\$DBUSER | cut -d= -f2 | tail -n1`
    DBPASSLINE=`cat /var/www/html/fop2/admin/config.php | grep ^\\$DBPASS | tail -n1`
    DBSTRIP=`echo $DBPASSLINE | cut -d= -f1`
    DBPASS=`echo $DBPASSLINE | sed "s/$DBSTRIP=//g"`
    DBHOST=`cat /var/www/html/fop2/admin/config.php | sed 's/ //g' | grep ^\\$DBHOST | cut -d= -f2 | tail -n1`
    DBNAME=${DBNAME:1}
    DBNAME=${DBNAME%??}
    DBUSER=${DBUSER:1}
    DBUSER=${DBUSER%??}
    DBPASS=${DBPASS:1}
    DBPASS=${DBPASS%??}
    DBHOST=${DBHOST:1}
    DBHOST=${DBHOST%??}
    else
    DBHOST='none'
    fi
    
    if [ "x$DBPASS" != "x" ]; then
    DBPASS="-p${DBPASS}"
    fi
    
    hash_insert () {
    local name=$1 key=$2 val=$3
    eval __hash_${name}_${key}=$val
    }
    
    hash_get () {
    local name=$1 key=$2
    eval "v=__hash_${name}_${key}"
    eval "$3=\$$v"
    }
    
    FOP2ADMIN=0
    # Only check for table presence if mysql connection is ok
    mysql -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e "SELECT now()" &>/dev/null
    if [ $? == 0 ]; then
    # Verify if the fop2admin table exists for fop2manager/fop2admin
    while read line; do
    let FOP2ADMIN=FOP2ADMIN+1
    done < <( mysql -NB -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e "SHOW tables FROM \`$DBNAME\` LIKE 'fop2users'";  )
    else
    echo "# Problem connecting to mysql"
    echo
    fi
    
    if [ "$FOP2ADMIN" -gt 0 ]; then
    
    # Fields we want to query
    WANTED_FIELDS="queuechannel originatechannel customastdb spyoptions external tags extenvoicemail queuecontext";
    
    eval `mysql -E -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e "DESC fop2buttons" | grep Field | sed 's/Field: //g' | while read LINEA; do echo "hash_insert existentFields $LINEA '1';"; done;`
    
    EXISTING_FIELDS=""
    for A in $WANTED_FIELDS
    do
    hash_get existentFields $A tiene
    if [ "$tiene" = "1" ]; then
    EXISTING_FIELDS="${EXISTING_FIELDS}$A,"
    fi
    done
    
    FINAL_FIELDS=${EXISTING_FIELDS%?};
    
    hash_get existentFields sortorder tiene
    if [ "$tiene" = "1" ]; then
        ORDER="type,sortorder,(exten+0)"
    else
        ORDER="type,(exten+0)"
    fi
    
    mysql -EB -u $DBUSER $DBPASS -h $DBHOST $DBNAME -e \
        "SET NAMES utf8; SELECT device AS channel,type,if(type<>'trunk',exten,'') AS extension,\
        label, mailbox, context, privacy,\`group\`,IF(type='trunk',IF(email<>'',concat('splitme-',email),''),email) as email, \
        channel as extrachannel, $FINAL_FIELDS FROM fop2buttons \
        WHERE exclude=0 \
        ORDER BY $ORDER" | sed '/\*\*/d' | sed 's/: /=/g' | sed '/.*=$/d' | while read LINEA
    do
    echo $LINEA | sed '/NULL/d' | sed 's/^channel=\(.*\)/\n[\1]/g' | sed 's/^extrachannel/channel/g'
    echo $LINEA | grep -qi "^email=splitme"
    if [ $? = 0 ]; then
    RANGE=`echo $LINEA | sed 's/^email=splitme-//g' | sed 's/-/ /g'`
    for ZAPNUM in `seq $RANGE`
    do
    echo "channel=DAHDI/$ZAPNUM"
    echo "channel=DAHDI/i$ZAPNUM"
    echo "channel=ZAP/$ZAPNUM"
    done
    fi
    done
    
    
    echo 
    if [ -f /usr/local/fop2/buttons_custom.cfg ]; then
    cat /usr/local/fop2/buttons_custom.cfg
    fi
    
    else
    echo "! Cannot connect to Fo2 Manager database"
    fi
  6. admin

    19 Feb 2015 Administrator

    I wanted to see the output when you run that script, not the contents of it. Please run it and paste the output:

    /usr/local/fop2/autoconfig-buttons.sh

  7. It basically lists every conference, extension, ring group and trunk on the system together with the type, extension, label, context, queuechannel, customastb, etc, etc for each.

  8. admin

    19 Feb 2015 Administrator

    What you see is a result of the configuration. Something is amiss in the configuration itself, but I cannot help you out without looking at the actual data. Check /usr/local/fop2/fop2.cfg and see if you have a line at the end like this: #exec autoconfig-users.sh

    If you do, then run that script: /usr/local/fop2/autoconfig-users.sh

    Inspect the output, look for the user=xxx:yyy line involving the extension you use to log into FOP2.

    That line will not only show the user:password:permissions, but also the groups assigned to that extension. You can limit what buttons are displayed by using groups. There could be a problem there, but it is hard to say without looking at the actual output from the config file. Be careful with posting that here as it will contain passwords and probably other sensitive information. You can send it to me privately or via email, or live help if you prefer.

    Best regards,

  9. Thanks for your help. I will PM you the outputs.

or Sign Up to reply!