/** * Print rows/columns controls * * @param SiteComponent $siteComponent * @return void * @access public * @since 4/17/06 */ function printRowsColumns($siteComponent) { $minCells = $siteComponent->getMinNumCells(); // rows print "\n\t\t\t\t<tr><td class='ui2_settingborder'>"; print "\n\t\t\t\t<span class='ui2_settingtitle'>"; print "\n\t\t\t\t\t" . _('Rows: ') . "\n\t\t\t\t</span>"; print "\n\t\t\t\t</td><td class='ui2_settingborder'>"; print "\n\t\t\t\t\t<select class='ui2_field' name='" . RequestContext::name('rows') . "'"; $authZ = Services::getService("AuthZ"); $idManager = Services::getService("Id"); if (!$authZ->isUserAuthorized($idManager->getId("edu.middlebury.authorization.modify"), $siteComponent->getQualifierId())) { print " readonly='readonly'"; } print " onchange='updateMinCells(this, this.nextSibling.nextSibling.nextSibling.nextSibling, {$minCells});'>"; for ($i = 1; $i <= 10; $i++) { print "\n\t\t\t\t\t\t<option value='" . $i . "'"; print $i == $siteComponent->getNumRows() ? " selected='selected'" : ""; print $i * $siteComponent->getNumColumns() < $minCells ? " disabled='disabled'" : ""; print ">"; print $i; print "</option>"; } print "\n\t\t\t\t\t</select>"; // columns print "\n\t\t\t\t<span class='ui2_settingtitle'>"; print "\n\t\t\t\t\t" . _('Columns: ') . "\n\t\t\t\t</span>"; print "\n\t\t\t\t\t<select class='ui2_field' name='" . RequestContext::name('columns') . "'"; print " onchange='updateMinCells(this.previousSibling.previousSibling.previousSibling.previousSibling, this, {$minCells});'>"; for ($i = 1; $i <= 10; $i++) { print "\n\t\t\t\t\t\t<option value='" . $i . "'"; print $i == $siteComponent->getNumColumns() ? " selected='selected'" : ""; print $i * $siteComponent->getNumRows() < $minCells ? " disabled='disabled'" : ""; print ">"; print $i; print "</option>"; } print "\n\t\t\t\t\t</select>"; //print "\n\t\t\t\t</div>"; print <<<END \t\t\t\t<script type='text/javascript'> \t\t\t\t/* <![CDATA[ */ \t\t\t\t \t\t\t\t\tfunction updateMinCells(rowsElement, colsElement, minCells) {\t\t\t\t\t\t \t\t\t\t\t\t// update the disabled status of row options \t\t\t\t\t\tfor (var i = 0; i < rowsElement.childNodes.length; i++) { \t\t\t\t\t\t\tif (rowsElement.childNodes[i].value * colsElement.value < minCells) \t\t\t\t\t\t\t\trowsElement.childNodes[i].disabled = true; \t\t\t\t\t\t\telse \t\t\t\t\t\t\t\trowsElement.childNodes[i].disabled = false; \t\t\t\t\t\t} \t\t\t\t\t\t \t\t\t\t\t\t// update the disabled status of column options \t\t\t\t\t\tfor (var i = 0; i < colsElement.childNodes.length; i++) { \t\t\t\t\t\t\tif (colsElement.childNodes[i].value * rowsElement.value < minCells) \t\t\t\t\t\t\t\tcolsElement.childNodes[i].disabled = true; \t\t\t\t\t\t\telse \t\t\t\t\t\t\t\tcolsElement.childNodes[i].disabled = false; \t\t\t\t\t\t} \t\t\t\t\t} \t\t\t\t \t\t\t\t/* ]]> */ \t\t\t\t</script> END; print "\n\t\t\t\t</td></tr>"; }