Thursday, April 12, 2012

php code formattor for blogger

magento get admin form key

Here is how you can get admin form key in your frontend form. I used the admin form key to login from frontend to admin dashboard.

step1: create object

<?php $adminobj= new Mage_Adminhtml_Block_Template(); ?>

step2: I used the value in hidden field like below:

<input name="form_key" type="hidden" value="<?php echo $adminobj->getFormKey() ?>" />

magento login to admin from frontend error:404 error page not found

Hi,
I was trying to login to admin panel by using frontend login template.
Here is my form whose action post to admin login action.

<form action="http://www.mysite.com/bgsh/index.php/admin" method="post" id="customer-form">

I changed the action to :

action="http://www.mysite.com/bgsh/index.php/admin/admin"


and BINGO:
no error on login.(Did you noticed the double admin words in the action value?)
If you request, then i can explain and provide code in details how i manage to login from frontend using vendor credentials, and after logout redirected to the frontend in case the vendor is logged in from frontend.

Thursday, April 5, 2012

setting session variable in php file outside magento structure

Hi,
today i was working on a project and i had to redirect user('vendor') to frontend from where he has logged in to the system.I already created user registration from frontend. Now i had to maintain session variable so that i can check whether the particular vendor was logged in from frontend. If so, he will be redirected to the frontend.

To store session variable i sent an ajax hit to  http://www.mywebsite.com/setSessionVar.php  file. As you can see that file is situated in root directory.

setSessionVar.php


<?php
require 'app/Mage.php';
Mage::app();
Mage::getSingleton('core/session', array('name' => 'adminhtml'));

 Mage::getSingleton('core/session')->setMyloginvalue('vendor');

 ?>


To redirect to frontend i  put a check when user click on "logout" link in the dashboard area.
i.e. in file IndexController.php under
/app/code/core/Mage/Adminhtml/controllers

public function logoutAction()
 {
    //GET LOGIN TYPE  . if vendor loggedin from frontend then it's "vendor"
$loginvalue=Mage::getSingleton('core/session')->getMyloginvalue();
 if($loginvalue=="vendor")
   {
 Mage::getSingleton('core/session')->unsMyloginvalue();
 $location=Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
 header("location:$location");exit;
}
  //END VENDOR LOGIN CHECK
              //....rest of the code here
            //....
  }






Wednesday, April 4, 2012

get agent status in zopim using javascript

I implemented zopim in a site and had to change class of a div according to the current agent's status.

 <div class="chatbox"   onclick="$zopim.livechat.window.toggle();">sow chat</div>

<script type="text/javascript">
//YOUR ZOPIM SCRIPT HERE
</script>

$zopim(function() {
    $zopim.livechat
      .setOnStatus(updateStatus);
    });

//updatestatus function
 function updateStatus(s) //NOTICE  "s" here it contains agent's current status
  {
  
      switch(s)
      {
        case 'online':
            jQuery('.chatbox').addClass('online');
        break;
        case 'offline':
            jQuery('.chatbox').removeClass('online');
        break;
        case 'away':
            jQuery('.chatbox').removeClass('online').addClass('away');
        break;
  }

Monday, April 2, 2012

Calendar._MN is undefined magento

Today i was implementing caledar feature in frontend. I have included all the required js and css file for that.
<link rel="stylesheet" type="text/css" href="http://www.beds.sg/v2/js/calendar/calendar-win2k-1.css" />
<script type="text/javascript" src="http://www.beds.sg/v2/js/calendar/calendar.js"></script>
<script type="text/javascript" src="http://www.beds.sg/v2/js/calendar/calendar-setup.js"></script>

Still it was showing this error."Calendar._MN is undefined"
After some R&D i found out that i missed to include some javascript that is necessary for calendar to work.
I just included following lined on the page and it begins to work smoothly.

<script type="text/javascript">
//<![CDATA[
enUS = {"m":{"wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}}; // en_US locale reference
Calendar._DN = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; // full day names
Calendar._SDN = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; // short day names
Calendar._FD = 0; // First day of the week. "0" means display Sunday first, "1" means display Monday first, etc.
Calendar._MN = ["January","February","March","April","May","June","July","August","September","October","November","December"]; // full month names
Calendar._SMN = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; // short month names
Calendar._am = "AM"; // am/pm
Calendar._pm = "PM";

// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "About the calendar";

Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Date selection:\n" +
"- Use the \xab, \xbb buttons to select year\n" +
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
"- Hold mouse button on any of the above buttons for faster selection.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";

Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
Calendar._TT["GO_TODAY"] = "Go Today";
Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
Calendar._TT["SEL_DATE"] = "Select date";
Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
Calendar._TT["PART_TODAY"] = ' (' + "Today" + ')';

// the following is to inform that "%s" is to be the first day of week
Calendar._TT["DAY_FIRST"] = "Display %s first";

// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
Calendar._TT["WEEKEND"] = "0,6";

Calendar._TT["CLOSE"] = "Close";
Calendar._TT["TODAY"] = "Today";
Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";

// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%b %e, %Y";
Calendar._TT["TT_DATE_FORMAT"] = "%B %e, %Y";

Calendar._TT["WK"] = "Week";
Calendar._TT["TIME"] = "Time:";

CalendarDateObject._LOCAL_TIMZEONE_OFFSET_SECONDS = -28800;
CalendarDateObject._SERVER_TIMZEONE_SECONDS = 1333496531;

//]]>
</script>