Ejemplo n.º 1
0
 /**
  * Call this if an publication is deleted
  *
  * @param int $p_publication_id
  */
 public static function OnPublicationDelete($p_publication_id)
 {
     foreach (DebatePublication::getAssignments(null, $p_publication_id) as $record) {
         $record->delete();
     }
 }
Ejemplo n.º 2
0
        ?>
/configure.png" border="0">
    		<A href="javascript: void(0);" onclick="window.open('<?php 
        p("/{$ADMIN}/debate/assign_popup.php?f_debate_item=publication&amp;f_publication_id=" . $publicationObj->getPublicationId() . "&f_language_id={$publicationObj->getLanguageId()}");
        ?>
', 'assign_debate', 'scrollbars=yes, resizable=yes, menubar=no, toolbar=no, width=800, height=600, top=200, left=100');"><?php 
        putGS("Edit");
        ?>
</A>
    	</TD>
    	<?php 
    }
    ?>
    </TR>

    <TR>
    	<TD colspan="2" align="left" valign="top" width="100%">
    	<div style="overflow: auto; max-height: 50px">
        <?php 
    foreach (DebatePublication::getAssignments(null, $publicationObj->getPublicationId()) as $debatePublication) {
        $debate = $debatePublication->getDebate($publicationObj->getLanguageId());
        p($debate->getName());
        p("&nbsp;({$debate->getLanguageName()})<br>");
    }
    ?>
    	</div>
        </TD>
    </TR>
</TABLE>
<?php 
}
Ejemplo n.º 3
0
 /**
  * Gets an issue list based on the given parameters.
  *
  * @param array $p_parameters
  *    An array of ComparisonOperation objects
  * @param string item
  *    An indentifier which assignment should be used (publication/issue/section/article)
  * @param string $p_order
  *    An array of columns and directions to order by
  * @param integer $p_start
  *    The record number to start the list
  * @param integer $p_limit
  *    The offset. How many records from $p_start will be retrieved.
  *
  * @return array $issuesList
  *    An array of Issue objects
  */
 public static function GetList(array $p_parameters, $p_item = null, $p_order = null, $p_start = 0, $p_limit = 0, &$p_count)
 {
     global $g_ado_db;
     if (!is_array($p_parameters)) {
         return null;
     }
     // adodb::selectLimit() interpretes -1 as unlimited
     if ($p_limit == 0) {
         $p_limit = -1;
     }
     $selectClauseObj = new SQLSelectClause();
     // sets the where conditions
     foreach ($p_parameters as $param) {
         $comparisonOperation = self::ProcessListParameters($param);
         if (empty($comparisonOperation)) {
             continue;
         }
         if (strpos($comparisonOperation['left'], '_assign_publication_id') !== false) {
             $assign_publication_id = $comparisonOperation['right'];
         } elseif (strpos($comparisonOperation['left'], '_assign_issue_nr') !== false) {
             $assign_issue_nr = $comparisonOperation['right'];
         } elseif (strpos($comparisonOperation['left'], '_assign_section_nr') !== false) {
             $assign_section_nr = $comparisonOperation['right'];
         } elseif (strpos($comparisonOperation['left'], '_assign_article_nr') !== false) {
             $assign_article_nr = $comparisonOperation['right'];
         } elseif (strpos($comparisonOperation['left'], '_current') !== false) {
             $whereCondition = "date_begin <= NOW()";
             $selectClauseObj->addWhere($whereCondition);
             $whereCondition = "date_end >= NOW()";
             $selectClauseObj->addWhere($whereCondition);
         } elseif (strpos($comparisonOperation['left'], 'language_id') !== false) {
             $language_id = $comparisonOperation['right'];
             $whereCondition = $g_ado_db->escapeOperation($comparisonOperation);
             $selectClauseObj->addWhere($whereCondition);
         } elseif (strpos($comparisonOperation['left'], 'number') !== false) {
             $whereCondition = $g_ado_db->escapeOperation($comparisonOperation);
             $selectClauseObj->addWhere($whereCondition);
         } else {
             $whereCondition = $g_ado_db->escapeOperation($comparisonOperation);
             $selectClauseObj->addWhere($whereCondition);
         }
     }
     // sets the columns to be fetched
     $tmpPoll = new Debate();
     $columnNames = $tmpPoll->getColumnNames(true);
     foreach ($columnNames as $columnName) {
         $selectClauseObj->addColumn($columnName);
     }
     // sets the main table for the query
     $mainTblName = $tmpPoll->getDbTableName();
     $selectClauseObj->setTable($mainTblName);
     unset($tmpPoll);
     switch ($p_item) {
         case 'publication':
             if (empty($assign_publication_id)) {
                 return;
             }
             $tmpAssignObj = new DebatePublication();
             $assignTblName = $tmpAssignObj->getDbTableName();
             $join = "LEFT JOIN `{$assignTblName}` AS j\n                            ON\n                            j.fk_debate_nr = `{$mainTblName}`.debate_nr\n                            AND j.fk_publication_id = '{$assign_publication_id}'";
             $selectClauseObj->addJoin($join);
             $selectClauseObj->addWhere('j.fk_debate_nr IS NOT NULL');
             $selectClauseObj->setDistinct('plugin_debate.debate_nr');
             break;
         case 'issue':
             if (empty($assign_publication_id) || empty($assign_issue_nr)) {
                 return;
             }
             $tmpAssignObj = new DebateIssue();
             $assignTblName = $tmpAssignObj->getDbTableName();
             $join = "LEFT JOIN {$assignTblName} AS j\n                            ON\n                            j.fk_debate_nr = `{$mainTblName}`.debate_nr\n                            AND j.fk_issue_nr = '{$assign_issue_nr}'\n                            AND j.fk_publication_id = '{$assign_publication_id}'";
             if (isset($language_id)) {
                 $join .= " AND j.fk_issue_language_id = '{$language_id}'";
             }
             $selectClauseObj->addJoin($join);
             $selectClauseObj->addWhere('j.fk_debate_nr IS NOT NULL');
             $selectClauseObj->setDistinct('plugin_debate.debate_nr');
             break;
         case 'section':
             if (empty($assign_publication_id) || empty($assign_issue_nr) || empty($assign_section_nr)) {
                 return;
             }
             $tmpAssignObj = new DebateSection();
             $assignTblName = $tmpAssignObj->getDbTableName();
             $join = "LEFT JOIN `{$assignTblName}` AS j\n                            ON\n                            j.fk_debate_nr = `{$mainTblName}`.debate_nr\n                            AND j.fk_section_nr = '{$assign_section_nr}'\n                            AND j.fk_issue_nr = '{$assign_issue_nr}'\n                            AND j.fk_publication_id = '{$assign_publication_id}'";
             if (isset($language_id)) {
                 $join .= " AND j.fk_section_language_id = '{$language_id}'";
             }
             $selectClauseObj->addJoin($join);
             $selectClauseObj->addWhere('j.fk_debate_nr IS NOT NULL');
             $selectClauseObj->setDistinct('plugin_debate.debate_nr');
             break;
         case 'article':
             if (empty($assign_article_nr)) {
                 return;
             }
             $tmpAssignObj = new DebateArticle();
             $assignTblName = $tmpAssignObj->getDbTableName();
             $join = "LEFT JOIN `{$assignTblName}` AS j\n                            ON\n                            j.fk_debate_nr = `{$mainTblName}`.debate_nr\n                            AND j.fk_article_nr = '{$assign_article_nr}'";
             if (isset($language_id)) {
                 $join .= " AND j.fk_article_language_id = '{$language_id}'";
             }
             $selectClauseObj->addJoin($join);
             $selectClauseObj->addWhere('j.fk_debate_nr IS NOT NULL');
             $selectClauseObj->setDistinct('plugin_debate.debate_nr');
             break;
     }
     if (is_array($p_order)) {
         $order = Debate::ProcessListOrder($p_order);
         // sets the order condition if any
         foreach ($order as $orderField => $orderDirection) {
             $selectClauseObj->addOrderBy($orderField . ' ' . $orderDirection);
         }
     }
     $sqlQuery = $selectClauseObj->buildQuery();
     // count all available results
     $countRes = $g_ado_db->Execute($sqlQuery);
     if (!is_null($countRes)) {
         $p_count = $countRes->recordCount();
     }
     //get the wanted rows
     $debateRes = $g_ado_db->SelectLimit($sqlQuery, $p_limit, $p_start);
     // builds the array of debate objects
     $debatesList = array();
     while ($debate = $debateRes->FetchRow()) {
         $debateObj = new Debate($debate['fk_language_id'], $debate['debate_nr']);
         if ($debateObj->exists()) {
             $debatesList[] = $debateObj;
         }
     }
     return $debatesList;
 }
Ejemplo n.º 4
0
    exit;
}
$f_target = Input::Get('f_target', 'string');
$f_language_id = Input::Get('f_language_id', 'int');
$f_publication_id = Input::Get('f_publication_id', 'int');
$f_issue_nr = Input::Get('f_issue_nr', 'int');
$f_section_nr = Input::Get('f_section_nr', 'int');
$f_article_nr = Input::Get('f_article_nr', 'int');
$f_debate_exists = Input::Get('f_debate_exists', 'array', array());
$f_debate_checked = Input::Get('f_debate_checked', 'array', array());
$p_a = 0;
$p_u = 0;
switch ($f_target) {
    case 'publication':
        foreach ($f_debate_exists as $debate_nr => $lost) {
            $DebatePublication = new DebatePublication($debate_nr, $f_publication_id);
            if (array_key_exists($debate_nr, $f_debate_checked) && !$DebatePublication->exists()) {
                $DebatePublication->create();
                $p_a++;
            } elseif (!array_key_exists($debate_nr, $f_debate_checked) && $DebatePublication->exists()) {
                $DebatePublication->delete();
                $p_u++;
            }
        }
        ?>
        <script>
        try {
        window.opener.document.forms[0].onsubmit();
        window.opener.document.forms[0].submit();
        } catch (e) {}
        window.close();
Ejemplo n.º 5
0
    <INPUT TYPE="hidden" name="f_section_nr" VALUE="<?php 
echo $f_section_nr;
?>
">
    <INPUT TYPE="hidden" name="f_article_nr" VALUE="<?php 
echo $f_article_nr;
?>
">
</FORM>

<?php 
camp_html_display_msgs();
$assigned = array();
switch ($f_debate_item) {
    case 'publication':
        foreach (DebatePublication::GetAssignments(null, $f_publication_id) as $assignObj) {
            $assigned[$assignObj->getDebateNumber()] = true;
        }
        break;
    case 'issue':
        foreach (DebateIssue::GetAssignments(null, $f_language_id, $f_issue_nr, $f_publication_id) as $assignObj) {
            $assigned[$assignObj->getDebateNumber()] = true;
        }
        break;
    case 'section':
        foreach (DebateSection::GetAssignments(null, $f_language_id, $f_section_nr, $f_issue_nr, $f_publication_id) as $assignObj) {
            $assigned[$assignObj->getDebateNumber()] = true;
        }
        break;
    case 'article':
        foreach (DebateArticle::GetAssignments(null, $f_language_id, $f_article_nr) as $assignObj) {