Пример #1
0
 function &_BrokenRules()
 {
     $brs = new Broken_Rules();
     $gs =& GlobalSingleton::GetInstance();
     $capThisPersonIsAlreadyAssociatedToThisMovie = $gs->GetText($locale, 'capThisPersonIsAlreadyAssociatedToThisMovie');
     $capActorMustHaveCharacterName = $gs->GetText($locale, 'capActorMustHaveCharacterName');
     $capNoPerson = $gs->GetText($locale, 'capNoPerson');
     $capNoMovie = $gs->GetText($locale, 'capNoMovie');
     if ($this->IsNew()) {
         /*TODO:BUG: Single quotes need to be escaped */
         $m2p = new MovieToPerson("movieID = " . $this->MovieID() . " AND " . "personID = " . $this->PersonID() . " AND " . "relationship = '" . $this->Relationship() . "' AND " . "((relationship <> 's') OR (relationship = 's' AND characterName = '" . $this->CharacterName() . "'))");
         if (!$m2p->IsEmpty()) {
             $brs->Add("DUPLICATE_ASSOCIATION", $capThisPersonIsAlreadyAssociatedToThisMovie);
         }
     }
     $brs->Assert('NO_ACTOR', $this->PersonID() == "");
     $brs->Assert('NO_MOVIE', $this->MovieID() == "");
     $brs->Assert('NO_CHAR_NAME', $capActorMustHaveCharacterName, $this->Relationship() == 's' && $this->CharacterName() == "");
     return $brs;
 }
Пример #2
0
function main()
{
    try {
        BlockIfViolation();
        global $locale;
        global $returnURI;
        $PHP_SELF = $_SERVER['PHP_SELF'];
        $post = $_POST['blnPost'];
        $id = $_GET['id'];
        $movID = $_GET['movID'];
        $relationship = $_GET['relationship'];
        $m2p = new MovieToPerson($id);
        if (!$m2p->IsNew()) {
            $mov =& $m2p->Movie();
            $person =& $m2p->Person();
        } else {
            $m2p->Relationship($relationship);
            $person = new Person();
            if ($movID == "") {
                throw new Exception("Missing movID");
            }
            $mov = new Movie($movID);
        }
        $movID = $mov->ID();
        $persons = new Persons();
        $persons->LoadAll();
        $persons->Sort("FirstName");
        print "<h3><a href=movie.php?id={$movID}>" . $mov->Title() . "</a></h3>\n";
        $characterName = $m2p->CharacterName();
        $relationship = $m2p->Relationship();
        if ($post) {
            if ($_POST['btnDelete'] != '') {
                $m2p->MarkForDeletion();
                $characterName = $relationship = '';
            } else {
                $person = new Person($_POST['cboPersons']);
                $m2p->Person($person);
                $m2p->PersonID($person->ID());
                $m2p->Movie($mov);
                $m2p->CharacterName($_POST['txtCharacterName']);
                $m2p->Relationship($_POST['txtRelationship']);
                $characterName = $m2p->CharacterName();
                $relationship = $m2p->Relationship();
            }
            if (UpdateObject($m2p)) {
                ReturnURI();
            }
        }
        $firstName = $person->FirstName();
        $lastName = $person->LastName();
        ?>
        <form name=frm method=post action=<?php 
        echo $PHP_SELF . "?id={$id}&movID={$movID}&returnURI={$returnURI}";
        ?>
>
            <table border=1>
                <tr>
                    <td>
                        <?php 
        print "<select name=cboPersons>\n";
        foreach ($persons as $person) {
            $name = $person->Name();
            $id = $person->ID();
            if ($id == $m2p->PersonID()) {
                $selectTag = 'SELECTED';
            } else {
                $selectTag = '';
            }
            ?>
                                <option value=<?php 
            echo $id;
            ?>
 <?php 
            echo $selectTag;
            ?>
><?php 
            echo $name;
            ?>
</option>
                            <?php 
        }
        print "</select>\n";
        ?>
                    </td>
                </tr>
                <?php 
        if ($relationship == 's') {
            ?>
                    <tr>
                        <td><?php 
            echo GetCap('capCharacterName');
            ?>
</td>
                        <td><input type=text name=txtCharacterName value='<?php 
            echo $characterName;
            ?>
'></td>
                    </tr>
                <?php 
        }
        ?>
                <tr>
                    <td><?php 
        echo GetCap('capRelationship');
        ?>
</td>
                    <td><input type=text name=txtRelationship value=<?php 
        echo $relationship;
        ?>
></td>
                </tr>
                <tr>
                    <td> <input type=submit name=btnSubmit value=<?php 
        echo GetCap('capSubmit');
        ?>
> </td>
                    <td> <a href=<?php 
        echo "{$PHP_SELF}?movID={$movID}";
        ?>
><?php 
        echo GetCap('capNew');
        ?>
</a>
                </tr>
                <input type=hidden name=blnPost value=1>
            </table>
         </form>
        <?php 
    } catch (Exception $ex) {
        ProcessException($ex);
    }
    require_once 'tailer.php';
}