Skip to content

Instantly share code, notes, and snippets.

View markbalt's full-sized avatar

Mark Baltrusaitis markbalt

View GitHub Profile
@markbalt
markbalt / Multiple Join where NULL (Propel)
Created May 30, 2012 16:04
Propel Criteria: Multiple LEFT JOIN with Alias WHERE NULL
$criteria->addAlias("acc", AccountPeer::TABLE_NAME);
$criteria->addMultipleJoin(array(
array(CustomerPeer::ID, AccountPeer::alias("acc", AccountPeer::CUSTOMER_ID)),
array(AccountPeer::alias("acc", AccountPeer::BILLING_SYSTEM_ID), BillingSystemPeer::PORTAL_65),
array(AccountPeer::alias("acc", AccountPeer::IS_ACTIVE), 1)),
Criteria::LEFT_JOIN);
$criteria->add(AccountPeer::alias("acc", AccountPeer::ID), null, Criteria::ISNULL);
$criteria->setDistinct(1);
@markbalt
markbalt / XHTML <span> Graph
Created November 28, 2012 16:54
Create a simple CSS bar graph in View (for visits in the past 14 days)
<?php for ($i=14;$i>0;$i--) : ?>
<span class="graph">
<?php
$date = new DateTime();
$date->sub(new DateInterval("P".$i."D"));
$start = new DateTime($date->format('Y-m-d 00:00:00'));
$end = new DateTime($date->format('Y-m-d 23:59:59'));
$y = $visitLocation->getVisitsInRange($start, $end);
$nextday = new DateTime($date->format('Y-m-d 00:00:00'));
@markbalt
markbalt / PDO Query.php
Created November 28, 2012 17:01
Run SQL query using Propel PDO Connection
/**
* Get available reserved cabinets not in this project for this customer
*
* @return array
*/
public function getReservedCabinetChoices()
{
$id = $this->getId();
$con = Propel::getConnection();
@markbalt
markbalt / Issues in Milestone
Created February 26, 2013 15:23
Generates summary of open tickets in a milestone using Github API/cURL
<?php
date_default_timezone_set('America/New_York');
error_reporting(E_ALL);
ini_set("display_errors", "1");
$username = '';
$password = '';
$request = array(
"state" => "open",
@markbalt
markbalt / QuoteoverrideTemplateIndexSidebar
Last active August 29, 2015 14:01
Applies additional presets before returning the kuWidgetSidebar object.
<?php
/**
* Applies additional presets before returning the kuWidgetSidebar object.
*
* @return kuWidgetSidebar
*/
protected function overrideTemplateIndexSidebar()
{
$sidebar = parent::overrideTemplateIndexSidebar();
<li><a href="#"><span class="glyphicon glyphicon-bell"></span> <span class="badge"><?php echo number_format($sf_user->getGuardUser()->countUnreadEvents()); ?></span></a></li>
@markbalt
markbalt / Add parameter(s) to a form request
Created June 18, 2014 19:10
Add parameter(s) to a Symfony form request
$request->setParameter('widget_user', array_merge(
$request->getParameter('widget_user'),
array(
'row' => $request->getParameter('row'),
'col' => $request->getParameter('col')
)
));
@markbalt
markbalt / ModalandrenderJS
Created June 19, 2014 13:30
Render Modal form with widget field that requires renderJS
<?php
protected function executeModalFormAjax(sfWebRequest $request)
{
eval(sprintf
(
'$form = new %sForm();',
$request->getParameter('form')
));
return (string) $form.' <script>'.$form['user_id']->renderJS().'</script>';
}
@markbalt
markbalt / Simple Propel OR
Last active August 29, 2015 14:04
Propel OR
<?php
$crit0 = $c->getNewCriterion(TicketRelatedPeer::A_ID, $id);
$crit1 = $c->getNewCriterion(TicketRelatedPeer::B_ID, $id);
$crit0->addOr($crit1);
$c->add($crit0);
@markbalt
markbalt / gist:ad9d320c49b371c123aa
Created June 1, 2015 15:28
Log IP Keys (Symfony)
<?php
$ip_keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR');
foreach ($ip_keys as $key) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
$ip = trim($ip);
sfContext::getInstance()->getLogger()->err(sprintf('%s %s', $key, $ip));
}
}