Matt
2012-06-22 15:44:27 UTC
I am trying to send an email from CakePHP 2.1.2 via console shell
(eventually by a cron job). The view I am sending is a calendar with links
back to the applications web page. The problem I am finding is that the
urls do not include the correct path and from what I have read it is
because there is no request object since I am using the console. For
example, if I create the view in my browser I get links like this:
http://localhost/ReportMonitor/scheduledReports/index/show_date:2012-06-10/result:GOOD
but in the email using the same code I get this:
http://localhost/scheduledReports/index/show_date:2012-06-10/result:GOOD
which is close, but no cigar.
I have been trying to find the global that I can set somewhere to just hard
code the app subdirectory but haven't found anything that works yet. The
links are made by a code like this:
$newUrl = array();
$newUrl['controller'] = 'scheduledReports';
$newUrl['action'] = 'index';
$newUrl['url'] = array();
foreach ($data as $key => $value) {
$newUrl['show_date'] = "$year-$month-$key";
$newUrl['result'] = 'GOOD';
$data[$key]['num_complete'] = $this->Html->link(__('Complete: ') .
$value['num_complete'], Router::reverse($newUrl, true), array('class' =>
'green'));
I would think this is a common function (sending valid urls in console
generated email) but I just can't figure it out.
Thanks
(eventually by a cron job). The view I am sending is a calendar with links
back to the applications web page. The problem I am finding is that the
urls do not include the correct path and from what I have read it is
because there is no request object since I am using the console. For
example, if I create the view in my browser I get links like this:
http://localhost/ReportMonitor/scheduledReports/index/show_date:2012-06-10/result:GOOD
but in the email using the same code I get this:
http://localhost/scheduledReports/index/show_date:2012-06-10/result:GOOD
which is close, but no cigar.
I have been trying to find the global that I can set somewhere to just hard
code the app subdirectory but haven't found anything that works yet. The
links are made by a code like this:
$newUrl = array();
$newUrl['controller'] = 'scheduledReports';
$newUrl['action'] = 'index';
$newUrl['url'] = array();
foreach ($data as $key => $value) {
$newUrl['show_date'] = "$year-$month-$key";
$newUrl['result'] = 'GOOD';
$data[$key]['num_complete'] = $this->Html->link(__('Complete: ') .
$value['num_complete'], Router::reverse($newUrl, true), array('class' =>
'green'));
I would think this is a common function (sending valid urls in console
generated email) but I just can't figure it out.
Thanks
--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
To unsubscribe from this group, send email to
cake-php+unsubscribe-/***@public.gmane.org For more options, visit this group at http://groups.google.com/group/cake-php
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
To unsubscribe from this group, send email to
cake-php+unsubscribe-/***@public.gmane.org For more options, visit this group at http://groups.google.com/group/cake-php