Newer
Older
<?php
/**
* Copyright (c) 2012-2018, Agence Française Informatique (AFI). All rights reserved.
*
* BOKEH is free software; you can redistribute it and/or modify
* it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
* the Free Software Foundation.
*
* There are special exceptions to the terms and conditions of the AGPL as it
* is applied to this software (see README file).
*
* BOKEH is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
* along with BOKEH; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class Intonation_View_Gridify extends ZendAfi_View_Helper_BaseHelper {
public function gridify($elements, $columns = 3) {
$number_of_rows = ceil(count($elements) / $columns);
$rows = [];
for ($i = 0; $i < $number_of_rows; $i++) {
$items = array_slice($elements,
$rows [$i] = $this->_tag('div',
implode($items),
['class' => $this->_getWrapperClass($items, $columns)]);
}
return new Storm_Collection($rows);
}
protected function _getWrapperClass($items, $columns) {
if ( 3 < $columns)
return 'card_grid';
return 3 == count($items)
? 'card-deck'
: 'card-columns';
}